diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..a127a3b --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,17 @@ +name: eslint +run-name: Installs project and runs eslint checks +on: [ push, pull_request ] +jobs: + lint: + runs-on: ubuntu-latest + strategy: + matrix: + node: [ 18 ] + name: ESLint on Ubuntu with Node ${{ matrix.node }} + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + - run: yarn install + - run: yarn lint \ No newline at end of file diff --git a/.github/workflows/prettier.yml b/.github/workflows/prettier.yml index b8c7d9f..8e17483 100644 --- a/.github/workflows/prettier.yml +++ b/.github/workflows/prettier.yml @@ -6,7 +6,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node: [ 16 ] + node: [ 18 ] name: Prettier on Ubuntu with Node ${{ matrix.node }} steps: - uses: actions/checkout@v3 @@ -14,4 +14,4 @@ jobs: with: node-version: ${{ matrix.node }} - run: yarn install - - run: yarn format \ No newline at end of file + - run: yarn prettier:verify \ No newline at end of file diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..d776138 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,17 @@ +name: tests +run-name: Installs project and runs tests +on: [ push, pull_request ] +jobs: + lint: + runs-on: ubuntu-latest + strategy: + matrix: + node: [ 18 ] + name: Tests Pass on Ubuntu with Node ${{ matrix.node }} + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + - run: yarn install + - run: yarn test \ No newline at end of file diff --git a/.gitignore b/.gitignore index 48c3f63..a39fcda 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,46 @@ +# VSCode configuration +**/.vscode/ + +# Salesforce cache +**/.sf/ +**/.sfdx/ +**/.localdevserver/ +**/deploy-options.json + +# LWC VSCode autocomplete +**/lwc/jsconfig.json + +# LWC Jest coverage reports +**/coverage/ + # Logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -junit.xml +**/logs +**/*.log +**/npm-debug.log* +**/yarn-debug.log* +**/yarn-error.log* +**/junit.xml # Dependency directories -node_modules/ +**/node_modules/ -# Stores custom attributes of its containing folder, such as the position of icons or the choice of a background image -.DS_Store +# Eslint cache +**/.eslintcache + +# MacOS system files +**/.DS_Store + +# Windows system files +**/Thumbs.db +**/ehthumbs.db +**/[Dd]esktop.ini +**/$RECYCLE.BIN/ + +# Local environment variables +**/.env # Don't watch git for publishing to npm .git + +# We use YARN instead of NPM +**/package-lock.json diff --git a/.husky/pre-commit b/.husky/pre-commit index 2b61b57..be53983 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" -yarn format +yarn precommit diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 2ffe01e..0000000 --- a/.prettierignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -**/.sfdx/** -**/LwcTestApp/app/build/** -**/LwcTestApp/Assets.xcassets/** \ No newline at end of file diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 3c89dc6..0000000 --- a/.prettierrc +++ /dev/null @@ -1,14 +0,0 @@ -{ - "printWidth": 100, - "singleQuote": true, - "tabWidth": 2, - "trailingComma": "es5", - "overrides": [ - { - "files": "*.json", - "options": { - "tabWidth": 4 - } - } - ] -} \ No newline at end of file diff --git a/.sfdx/tools/apex.db b/.sfdx/tools/apex.db deleted file mode 100644 index 31f4593..0000000 Binary files a/.sfdx/tools/apex.db and /dev/null differ diff --git a/.sfdx/typings/lwc/apex/AppointmentController.d.ts b/.sfdx/typings/lwc/apex/AppointmentController.d.ts deleted file mode 100644 index b7032a5..0000000 --- a/.sfdx/typings/lwc/apex/AppointmentController.d.ts +++ /dev/null @@ -1,75 +0,0 @@ -declare module "@salesforce/apex/AppointmentController.getServiceAppointment" { - export default function getServiceAppointment(param: {serviceAppointmentId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.getSlots" { - export default function getSlots(param: {serviceAppointmentId: any, operatingHoursId: any, schedulingPolicyId: any, arrivalWindowFlag: any, localetimezone: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.getSlotsByAssignmentMethod" { - export default function getSlotsByAssignmentMethod(param: {serviceAppointmentId: any, operatingHoursId: any, schedulingPolicyId: any, arrivalWindowFlag: any, userId: any, currentAssignmentMethod: any, cleanupRequired: any, localetimezone: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.scheduleSA" { - export default function scheduleSA(param: {serviceAppointmentId: any, schedulingPolicyId: any, userId: any, currentAssignmentMethod: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.updateSASlot" { - export default function updateSASlot(param: {serviceAppointmentId: any, arrivalWindowStartTime: any, arrivalWindowEndTime: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.updateServiceAppointmentStatus" { - export default function updateServiceAppointmentStatus(param: {serviceAppointmentId: any, statusId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.updateSA" { - export default function updateSA(param: {serviceAppointmentId: any, earliestStartDate: any, arrivalStartDate: any, arrivalEndDate: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.deleteExistingRequiredResources" { - export default function deleteExistingRequiredResources(param: {workOrderId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.deleteExistingResourcePreferencesForResource" { - export default function deleteExistingResourcePreferencesForResource(param: {workOrderId: any, serviceResourceId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.addNewRequiredResource" { - export default function addNewRequiredResource(param: {workOrderId: any, serviceResourceId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.assignCurrentUserAsRequiredResource" { - export default function assignCurrentUserAsRequiredResource(param: {userId: any, serviceAppointmentId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.isUserExcludedResource" { - export default function isUserExcludedResource(param: {userId: any, serviceAppointmentId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.cloneWorkOrder" { - export default function cloneWorkOrder(param: {originalSaId: any, startPermitDate: any, selectedHorizonValue: any, dummySA: any, dummyWO: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.deleteClonedResourcePreference" { - export default function deleteClonedResourcePreference(param: {clonedEorkOrderId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.deleteClonedWorkOrder" { - export default function deleteClonedWorkOrder(param: {clonedEorkOrderId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.cloneResourcePreference" { - export default function cloneResourcePreference(param: {workOrderId: any, newWOId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.copyResourcePreferenceObject" { - export default function copyResourcePreferenceObject(param: {originalRFObj: any, newWO: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.deleteClonedAppointmentData" { - export default function deleteClonedAppointmentData(param: {clonedServiceAppointmentId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.updateDummySa" { - export default function updateDummySa(param: {dummySA: any, startPermitDate: any, dueDate: any, serviceTerritoryId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.createNewDummyWorkOrder" { - export default function createNewDummyWorkOrder(param: {serviceTerritoryId: any, workTypeId: any, originalWOId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.getUserName" { - export default function getUserName(param: {userId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.convertTimeToOtherTimeZone" { - export default function convertTimeToOtherTimeZone(param: {date1: any, date2: any, sourceTimezone: any, targetTimezone: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.getUpdatedSASchedulingInfo" { - export default function getUpdatedSASchedulingInfo(param: {serviceAppointmentId: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.getSchedulingPolicyId" { - export default function getSchedulingPolicyId(param: {schedulingPolicyName: any}): Promise; -} -declare module "@salesforce/apex/AppointmentController.getOperatingHoursId" { - export default function getOperatingHoursId(param: {operatingHoursName: any}): Promise; -} diff --git a/DriverLicenseParser/.prettierignore b/DriverLicenseParser/.prettierignore deleted file mode 100755 index f3720b2..0000000 --- a/DriverLicenseParser/.prettierignore +++ /dev/null @@ -1,10 +0,0 @@ -# List files or directories below to ignore them when running prettier -# More information: https://prettier.io/docs/en/ignore.html -# - -**/staticresources/** -.localdevserver -.sfdx -.vscode - -coverage/ \ No newline at end of file diff --git a/DriverLicenseParser/.prettierrc b/DriverLicenseParser/.prettierrc deleted file mode 100755 index 15683b6..0000000 --- a/DriverLicenseParser/.prettierrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "trailingComma": "none", - "overrides": [ - { - "files": "**/lwc/**/*.html", - "options": { "parser": "lwc" } - }, - { - "files": "*.{cmp,page,component}", - "options": { "parser": "html" } - } - ] -} diff --git a/DriverLicenseParser/package-lock.json b/DriverLicenseParser/package-lock.json deleted file mode 100644 index 13d7764..0000000 --- a/DriverLicenseParser/package-lock.json +++ /dev/null @@ -1,14381 +0,0 @@ -{ - "name": "salesforce-app", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "salesforce-app", - "version": "1.0.0", - "devDependencies": { - "@lwc/eslint-plugin-lwc": "^1.1.2", - "@prettier/plugin-xml": "^2.0.1", - "@salesforce/eslint-config-lwc": "^3.2.3", - "@salesforce/eslint-plugin-aura": "^2.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "@salesforce/sfdx-lwc-jest": "^1.3.0", - "eslint": "^8.11.0", - "eslint-plugin-import": "^2.25.4", - "eslint-plugin-jest": "^26.1.2", - "prettier": "^2.6.0", - "prettier-plugin-apex": "^1.10.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.21.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.21.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-compilation-targets": "^7.21.5", - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helpers": "^7.21.5", - "@babel/parser": "^7.21.8", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/eslint-parser": { - "version": "7.21.8", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", - "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "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.21.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.5", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.21.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-member-expression-to-functions": "^7.21.5", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", - "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@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-object-rest-spread": { - "version": "7.20.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.21.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-simple-access": "^7.21.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.21.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.21.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-syntax-jsx": "^7.21.4", - "@babel/plugin-transform-modules-commonjs": "^7.21.5", - "@babel/plugin-transform-typescript": "^7.21.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", - "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.5", - "@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.5", - "@babel/types": "^7.23.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", - "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.5.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "8.40.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/schemas": { - "version": "29.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.25.16" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "dev": true, - "license": "MIT" - }, - "node_modules/@lwc/babel-plugin-component": { - "version": "2.31.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "~7.18.6", - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "line-column": "~1.0.2" - }, - "peerDependencies": { - "@babel/core": "^7" - } - }, - "node_modules/@lwc/babel-plugin-component/node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@lwc/compiler": { - "version": "2.31.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "~7.20.2", - "@babel/plugin-proposal-class-properties": "~7.18.6", - "@babel/plugin-proposal-object-rest-spread": "~7.20.2", - "@lwc/babel-plugin-component": "2.31.0", - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "@lwc/style-compiler": "2.31.0", - "@lwc/template-compiler": "2.31.0" - } - }, - "node_modules/@lwc/compiler/node_modules/@babel/core": { - "version": "7.20.12", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@lwc/engine-dom": { - "version": "2.31.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@lwc/engine-server": { - "version": "2.45.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "parse5": "^6.0.1" - } - }, - "node_modules/@lwc/errors": { - "version": "2.31.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@lwc/eslint-plugin-lwc": { - "version": "1.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "globals": "^13.20.0", - "minimatch": "^6.2.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "@babel/eslint-parser": "^7", - "eslint": "^7 || ^8" - } - }, - "node_modules/@lwc/eslint-plugin-lwc/node_modules/globals": { - "version": "13.20.0", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lwc/eslint-plugin-lwc/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lwc/jest-preset": { - "version": "11.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@lwc/jest-resolver": "11.5.4", - "@lwc/jest-serializer": "11.5.4", - "@lwc/jest-transformer": "11.5.4" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@lwc/compiler": "*", - "@lwc/engine-dom": "*", - "@lwc/engine-server": ">=2", - "@lwc/synthetic-shadow": "*", - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-resolver": { - "version": "11.5.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-serializer": { - "version": "11.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "pretty-format": "^29.3.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-transformer": { - "version": "11.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.20.5", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-decorators": "^7.19.0", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/preset-typescript": "^7.18.6", - "babel-preset-jest": "^29.2.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@lwc/compiler": "*", - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/module-resolver": { - "version": "2.31.0", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve": "~1.22.1" - } - }, - "node_modules/@lwc/shared": { - "version": "2.31.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@lwc/style-compiler": { - "version": "2.31.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@lwc/shared": "2.31.0", - "postcss": "~8.4.18", - "postcss-selector-parser": "~6.0.9", - "postcss-value-parser": "~4.2.0", - "string.prototype.matchall": "^4.0.8" - } - }, - "node_modules/@lwc/synthetic-shadow": { - "version": "2.31.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@lwc/template-compiler": { - "version": "2.31.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "acorn": "~8.8.1", - "astring": "~1.8.3", - "estree-walker": "~2.0.2", - "he": "~1.2.0", - "parse5": "~6.0.1" - } - }, - "node_modules/@lwc/wire-service": { - "version": "2.31.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@mdn/browser-compat-data": { - "version": "5.2.57", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-scope": "5.1.1" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@prettier/plugin-xml": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@xml-tools/parser": "^1.0.11", - "prettier": ">=2.4.0" - } - }, - "node_modules/@salesforce/eslint-config-lwc": { - "version": "3.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "~7.21.0", - "@babel/eslint-parser": "~7.19.1", - "eslint-restricted-globals": "~0.2.0", - "semver": "^7.3.8" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "@lwc/eslint-plugin-lwc": "^1.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "eslint": "^7 || ^8", - "eslint-plugin-import": "*", - "eslint-plugin-jest": "*" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/@babel/eslint-parser": { - "version": "7.19.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/semver": { - "version": "7.5.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/@salesforce/eslint-plugin-aura": { - "version": "2.1.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "eslint-plugin-compat": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": "^7 || ^8" - } - }, - "node_modules/@salesforce/eslint-plugin-lightning": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": "^7 || ^8" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@lwc/compiler": "2.31.0", - "@lwc/engine-dom": "2.31.0", - "@lwc/jest-preset": "11.5.4", - "@lwc/jest-resolver": "11.5.4", - "@lwc/jest-serializer": "11.5.4", - "@lwc/jest-transformer": "11.5.4", - "@lwc/module-resolver": "2.31.0", - "@lwc/synthetic-shadow": "2.31.0", - "@lwc/wire-service": "2.31.0", - "@salesforce/wire-service-jest-util": "4.0.1", - "chalk": "^4.1.2", - "fast-glob": "^3.2.12", - "jest": "27.4.7", - "yargs": "~17.6.2" - }, - "bin": { - "lwc-jest": "bin/sfdx-lwc-jest", - "sfdx-lwc-jest": "bin/sfdx-lwc-jest" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@salesforce/wire-service-jest-util": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@lwc/engine-dom": "^2.0.0" - } - }, - "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.25.24", - "dev": true, - "license": "MIT" - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.18.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.1.5", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prettier": { - "version": "2.7.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/semver": { - "version": "7.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/yargs": { - "version": "16.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.59.6", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.6", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.59.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.5.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.59.6", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@xml-tools/parser": { - "version": "1.0.11", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "chevrotain": "7.1.1" - } - }, - "node_modules/abab": { - "version": "2.0.6", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/acorn": { - "version": "8.8.2", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "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.3", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-metadata-inferer": { - "version": "0.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@mdn/browser-compat-data": "^5.2.34" - } - }, - "node_modules/astring": { - "version": "1.8.4", - "dev": true, - "license": "MIT", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/babel-jest": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/babel-jest/node_modules/babel-preset-jest": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/browserslist": { - "version": "4.21.5", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/call-bind": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001487", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/chevrotain": { - "version": "7.1.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "regexp-to-ast": "0.5.0" - } - }, - "node_modules/ci-info": { - "version": "3.8.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui": { - "version": "8.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/co": { - "version": "4.6.0", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "dev": true, - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "dev": true, - "license": "MIT" - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "dev": true, - "license": "MIT" - }, - "node_modules/data-urls": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.4.3", - "dev": true, - "license": "MIT" - }, - "node_modules/dedent": { - "version": "0.7.0", - "dev": true, - "license": "MIT" - }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/domexception": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.396", - "dev": true, - "license": "ISC" - }, - "node_modules/emittery": { - "version": "0.8.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/error-ex": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.21.2", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "dev": true, - "license": "BSD-2-Clause", - "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", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "dev": true, - "license": "MIT", - "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", - "dev": true, - "license": "MIT", - "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", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.40.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "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.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-compat": { - "version": "4.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@mdn/browser-compat-data": "^5.2.47", - "@tsconfig/node14": "^1.0.3", - "ast-metadata-inferer": "^0.8.0", - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001473", - "find-up": "^5.0.0", - "lodash.memoize": "4.1.2", - "semver": "7.3.8" - }, - "engines": { - "node": ">=14.x" - }, - "peerDependencies": { - "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-compat/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-compat/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-compat/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/eslint-plugin-import": { - "version": "2.27.5", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-jest": { - "version": "26.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/utils": "^5.10.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^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-restricted-globals": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "dev": true, - "license": "MIT", - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.5.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.15.0", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "dev": true, - "license": "ISC" - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/has": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/he": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "5.2.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/isobject": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "license": "BSD-3-Clause", - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "27.4.7", - "dev": true, - "license": "MIT", - "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.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/cliui": { - "version": "7.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "16.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-cli/node_modules/yargs-parser": { - "version": "20.2.9", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-config": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-docblock": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-jasmine2": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-jasmine2/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-jasmine2/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-mock": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.5.1", - "dev": true, - "license": "ISC", - "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", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/jest-util": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-sdsl": { - "version": "4.4.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, - "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": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "16.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/line-column": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "^1.0.0", - "isobject": "^2.0.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "6.2.0", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/node-int64": { - "version": "0.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.10", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nwsapi": { - "version": "2.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "dev": true, - "license": "MIT", - "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": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "dev": true, - "license": "MIT" - }, - "node_modules/path-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss": { - "version": "8.4.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", - "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.8.8", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-plugin-apex": { - "version": "1.13.0", - "dev": true, - "license": "MIT", - "dependencies": { - "axios": "^1.0.0", - "jest-docblock": "^29.0.0", - "wait-on": "^7.0.0", - "yargs": "^17.0.0" - }, - "bin": { - "apex-ast-serializer": "vendor/apex-ast-serializer/bin/apex-ast-serializer", - "apex-ast-serializer-http": "vendor/apex-ast-serializer/bin/apex-ast-serializer-http", - "start-apex-server": "dist/bin/start-apex-server.js", - "stop-apex-server": "dist/bin/stop-apex-server.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "peerDependencies": { - "prettier": "^2.0.0" - } - }, - "node_modules/prettier-plugin-apex/node_modules/jest-docblock": { - "version": "29.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format": { - "version": "29.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.4.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/psl": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/punycode": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/regexp-to-ast": { - "version": "0.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/rxjs/node_modules/tslib": { - "version": "2.5.0", - "dev": true, - "license": "0BSD" - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/saxes": { - "version": "5.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "dev": true, - "license": "ISC" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/slash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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.3.0", - "dev": true, - "license": "MIT", - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/throat": { - "version": "6.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/tmpl": { - "version": "1.0.5", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "5.0.4", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/universalify": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "dev": true, - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.4", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/wait-on": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", - "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", - "dev": true, - "dependencies": { - "axios": "^1.6.1", - "joi": "^17.11.0", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.1" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=10.4" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "2.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.9", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs": { - "version": "17.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.1", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - } - }, - "@babel/compat-data": { - "version": "7.21.7", - "dev": true - }, - "@babel/core": { - "version": "7.21.8", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-compilation-targets": "^7.21.5", - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helpers": "^7.21.5", - "@babel/parser": "^7.21.8", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - } - }, - "@babel/eslint-parser": { - "version": "7.21.8", - "dev": true, - "peer": true, - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", - "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", - "dev": true, - "requires": { - "@babel/types": "^7.23.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/compat-data": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.21.8", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.5", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.21.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6", - "semver": "^6.3.0" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/types": "^7.21.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.21.4", - "dev": true, - "requires": { - "@babel/types": "^7.21.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.21.5", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-member-expression-to-functions": "^7.21.5", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/types": "^7.21.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "dev": true, - "requires": { - "@babel/types": "^7.20.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.21.0", - "dev": true - }, - "@babel/helpers": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" - } - }, - "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", - "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", - "dev": true - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.21.0", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-simple-access": "^7.21.5" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.21.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.21.3", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - } - }, - "@babel/preset-typescript": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-syntax-jsx": "^7.21.4", - "@babel/plugin-transform-modules-commonjs": "^7.21.5", - "@babel/plugin-transform-typescript": "^7.21.3" - } - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", - "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.5", - "@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.5", - "@babel/types": "^7.23.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", - "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - } - } - }, - "@eslint-community/regexpp": { - "version": "4.5.1", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.0.3", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "globals": { - "version": "13.20.0", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "type-fest": { - "version": "0.20.2", - "dev": true - } - } - }, - "@eslint/js": { - "version": "8.40.0", - "dev": true - }, - "@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@humanwhocodes/config-array": { - "version": "0.11.8", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "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": { - "argparse": { - "version": "1.0.10", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "dev": true - }, - "@jest/console": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - } - }, - "@jest/fake-timers": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "@jest/globals": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - } - }, - "@jest/reporters": { - "version": "27.5.1", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "29.4.3", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.25.16" - } - }, - "@jest/source-map": { - "version": "27.5.1", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - } - }, - "@jest/transform": { - "version": "27.5.1", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "27.5.1", - "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", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "dev": true - } - } - }, - "@lwc/babel-plugin-component": { - "version": "2.31.0", - "dev": true, - "requires": { - "@babel/helper-module-imports": "~7.18.6", - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "line-column": "~1.0.2" - }, - "dependencies": { - "@babel/helper-module-imports": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - } - } - }, - "@lwc/compiler": { - "version": "2.31.0", - "dev": true, - "requires": { - "@babel/core": "~7.20.2", - "@babel/plugin-proposal-class-properties": "~7.18.6", - "@babel/plugin-proposal-object-rest-spread": "~7.20.2", - "@lwc/babel-plugin-component": "2.31.0", - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "@lwc/style-compiler": "2.31.0", - "@lwc/template-compiler": "2.31.0" - }, - "dependencies": { - "@babel/core": { - "version": "7.20.12", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - } - } - } - }, - "@lwc/engine-dom": { - "version": "2.31.0", - "dev": true - }, - "@lwc/engine-server": { - "version": "2.45.2", - "dev": true, - "peer": true, - "requires": { - "parse5": "^6.0.1" - } - }, - "@lwc/errors": { - "version": "2.31.0", - "dev": true - }, - "@lwc/eslint-plugin-lwc": { - "version": "1.6.2", - "dev": true, - "requires": { - "globals": "^13.20.0", - "minimatch": "^6.2.0" - }, - "dependencies": { - "globals": { - "version": "13.20.0", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "type-fest": { - "version": "0.20.2", - "dev": true - } - } - }, - "@lwc/jest-preset": { - "version": "11.5.4", - "dev": true, - "requires": { - "@lwc/jest-resolver": "11.5.4", - "@lwc/jest-serializer": "11.5.4", - "@lwc/jest-transformer": "11.5.4" - } - }, - "@lwc/jest-resolver": { - "version": "11.5.4", - "dev": true, - "requires": {} - }, - "@lwc/jest-serializer": { - "version": "11.5.4", - "dev": true, - "requires": { - "pretty-format": "^29.3.1" - } - }, - "@lwc/jest-transformer": { - "version": "11.5.4", - "dev": true, - "requires": { - "@babel/core": "^7.20.5", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-decorators": "^7.19.0", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/preset-typescript": "^7.18.6", - "babel-preset-jest": "^29.2.0" - } - }, - "@lwc/module-resolver": { - "version": "2.31.0", - "dev": true, - "requires": { - "resolve": "~1.22.1" - } - }, - "@lwc/shared": { - "version": "2.31.0", - "dev": true - }, - "@lwc/style-compiler": { - "version": "2.31.0", - "dev": true, - "requires": { - "@lwc/shared": "2.31.0", - "postcss": "~8.4.18", - "postcss-selector-parser": "~6.0.9", - "postcss-value-parser": "~4.2.0", - "string.prototype.matchall": "^4.0.8" - } - }, - "@lwc/synthetic-shadow": { - "version": "2.31.0", - "dev": true - }, - "@lwc/template-compiler": { - "version": "2.31.0", - "dev": true, - "requires": { - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "acorn": "~8.8.1", - "astring": "~1.8.3", - "estree-walker": "~2.0.2", - "he": "~1.2.0", - "parse5": "~6.0.1" - } - }, - "@lwc/wire-service": { - "version": "2.31.0", - "dev": true - }, - "@mdn/browser-compat-data": { - "version": "5.2.57", - "dev": true - }, - "@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "dev": true, - "requires": { - "eslint-scope": "5.1.1" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@prettier/plugin-xml": { - "version": "2.2.0", - "dev": true, - "requires": { - "@xml-tools/parser": "^1.0.11", - "prettier": ">=2.4.0" - } - }, - "@salesforce/eslint-config-lwc": { - "version": "3.4.0", - "dev": true, - "requires": { - "@babel/core": "~7.21.0", - "@babel/eslint-parser": "~7.19.1", - "eslint-restricted-globals": "~0.2.0", - "semver": "^7.3.8" - }, - "dependencies": { - "@babel/eslint-parser": { - "version": "7.19.1", - "dev": true, - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "dev": true - } - } - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@salesforce/eslint-plugin-aura": { - "version": "2.1.0", - "dev": true, - "requires": { - "eslint-plugin-compat": "^4.0.2" - } - }, - "@salesforce/eslint-plugin-lightning": { - "version": "1.0.0", - "dev": true, - "requires": {} - }, - "@salesforce/sfdx-lwc-jest": { - "version": "1.3.0", - "dev": true, - "requires": { - "@lwc/compiler": "2.31.0", - "@lwc/engine-dom": "2.31.0", - "@lwc/jest-preset": "11.5.4", - "@lwc/jest-resolver": "11.5.4", - "@lwc/jest-serializer": "11.5.4", - "@lwc/jest-transformer": "11.5.4", - "@lwc/module-resolver": "2.31.0", - "@lwc/synthetic-shadow": "2.31.0", - "@lwc/wire-service": "2.31.0", - "@salesforce/wire-service-jest-util": "4.0.1", - "chalk": "^4.1.2", - "fast-glob": "^3.2.12", - "jest": "27.4.7", - "yargs": "~17.6.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@salesforce/wire-service-jest-util": { - "version": "4.0.1", - "dev": true, - "requires": {} - }, - "@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "@sinclair/typebox": { - "version": "0.25.24", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.6", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "dev": true - }, - "@types/babel__core": { - "version": "7.20.0", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.18.5", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/graceful-fs": { - "version": "4.1.6", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-schema": { - "version": "7.0.11", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "dev": true - }, - "@types/node": { - "version": "20.1.5", - "dev": true - }, - "@types/prettier": { - "version": "2.7.2", - "dev": true - }, - "@types/semver": { - "version": "7.5.0", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.1", - "dev": true - }, - "@types/yargs": { - "version": "16.0.5", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "dev": true - }, - "@typescript-eslint/scope-manager": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" - } - }, - "@typescript-eslint/types": { - "version": "5.59.6", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@typescript-eslint/utils": { - "version": "5.59.6", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.6", - "eslint-visitor-keys": "^3.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - } - } - }, - "@xml-tools/parser": { - "version": "1.0.11", - "dev": true, - "requires": { - "chevrotain": "7.1.1" - } - }, - "abab": { - "version": "2.0.6", - "dev": true - }, - "acorn": { - "version": "8.8.2", - "dev": true - }, - "acorn-globals": { - "version": "6.0.0", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "dev": true - } - } - }, - "acorn-jsx": { - "version": "5.3.2", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "7.2.0", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "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" - } - }, - "ansi-escapes": { - "version": "4.3.2", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.1", - "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.3", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "2.0.1", - "dev": true - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-includes": { - "version": "3.1.6", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "dev": true - }, - "array.prototype.flat": { - "version": "1.3.1", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "ast-metadata-inferer": { - "version": "0.8.0", - "dev": true, - "requires": { - "@mdn/browser-compat-data": "^5.2.34" - } - }, - "astring": { - "version": "1.8.4", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.5", - "dev": true - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "dev": true, - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "babel-jest": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.5.1", - "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-preset-jest": { - "version": "27.5.1", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "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": "29.5.0", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "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": "29.5.0", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "dev": true - }, - "brace-expansion": { - "version": "2.0.1", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "braces": { - "version": "3.0.2", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "dev": true - }, - "browserslist": { - "version": "4.21.5", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - } - }, - "bser": { - "version": "2.1.1", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001487", - "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", - "dev": true - }, - "chevrotain": { - "version": "7.1.1", - "dev": true, - "requires": { - "regexp-to-ast": "0.5.0" - } - }, - "ci-info": { - "version": "3.8.0", - "dev": true - }, - "cjs-module-lexer": { - "version": "1.2.2", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "co": { - "version": "4.6.0", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "dev": true - }, - "convert-source-map": { - "version": "1.9.0", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "cssesc": { - "version": "3.0.0", - "dev": true - }, - "cssom": { - "version": "0.4.4", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "dev": true - } - } - }, - "data-urls": { - "version": "2.0.0", - "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.3.4", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.4.3", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "dev": true - }, - "deep-is": { - "version": "0.1.4", - "dev": true - }, - "deepmerge": { - "version": "4.3.1", - "dev": true - }, - "define-properties": { - "version": "1.2.0", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "dev": true - }, - "diff-sequences": { - "version": "27.5.1", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "domexception": { - "version": "2.0.1", - "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "dev": true - } - } - }, - "electron-to-chromium": { - "version": "1.4.396", - "dev": true - }, - "emittery": { - "version": "0.8.1", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.21.2", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - } - }, - "es-set-tostringtag": { - "version": "2.0.1", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "escodegen": { - "version": "2.0.0", - "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", - "dev": true - }, - "levn": { - "version": "0.3.0", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "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", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "8.40.0", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "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.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "dev": true - }, - "eslint-scope": { - "version": "7.2.0", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - }, - "estraverse": { - "version": "5.3.0", - "dev": true - }, - "globals": { - "version": "13.20.0", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "dev": true - } - } - }, - "eslint-import-resolver-node": { - "version": "0.3.7", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-compat": { - "version": "4.1.4", - "dev": true, - "requires": { - "@mdn/browser-compat-data": "^5.2.47", - "@tsconfig/node14": "^1.0.3", - "ast-metadata-inferer": "^0.8.0", - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001473", - "find-up": "^5.0.0", - "lodash.memoize": "4.1.2", - "semver": "7.3.8" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.8", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "eslint-plugin-import": { - "version": "2.27.5", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "debug": { - "version": "3.2.7", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "eslint-plugin-jest": { - "version": "26.9.0", - "dev": true, - "requires": { - "@typescript-eslint/utils": "^5.10.0" - } - }, - "eslint-restricted-globals": { - "version": "0.2.0", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "dev": true - }, - "espree": { - "version": "9.5.2", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.1", - "dev": true - }, - "esquery": { - "version": "1.5.0", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - }, - "estree-walker": { - "version": "2.0.2", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "dev": true - }, - "execa": { - "version": "5.1.1", - "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", - "dev": true - }, - "expect": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "dev": true - }, - "fast-glob": { - "version": "3.2.12", - "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", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "dev": true - }, - "follow-redirects": { - "version": "1.15.2", - "dev": true - }, - "for-each": { - "version": "0.3.3", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "3.0.1", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "dev": true - }, - "function.prototype.name": { - "version": "1.1.5", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-package-type": { - "version": "0.1.0", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "dev": true - }, - "get-symbol-description": { - "version": "1.0.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "glob-parent": { - "version": "6.0.2", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "11.12.0", - "dev": true - }, - "globalthis": { - "version": "1.0.3", - "dev": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "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" - } - }, - "gopd": { - "version": "1.0.1", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "dev": true - }, - "grapheme-splitter": { - "version": "1.0.4", - "dev": true - }, - "has": { - "version": "1.0.3", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "dev": true - }, - "has-symbols": { - "version": "1.0.3", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "he": { - "version": "1.2.0", - "dev": true - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-escaper": { - "version": "2.0.2", - "dev": true - }, - "http-proxy-agent": { - "version": "4.0.1", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore": { - "version": "5.2.4", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.1.0", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "dev": true - }, - "internal-slot": { - "version": "1.0.5", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "dev": true - }, - "is-core-module": { - "version": "2.12.0", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-negative-zero": { - "version": "2.0.2", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "dev": true - }, - "is-number-object": { - "version": "1.0.7", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-path-inside": { - "version": "3.0.3", - "dev": true - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.10", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "dev": true - }, - "is-weakref": { - "version": "1.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "isarray": { - "version": "1.0.0", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "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", - "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", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.5", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "27.4.7", - "dev": true, - "requires": { - "@jest/core": "^27.4.7", - "import-local": "^3.0.2", - "jest-cli": "^27.4.7" - } - }, - "jest-changed-files": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - } - }, - "jest-circus": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-cli": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "7.0.4", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yargs": { - "version": "16.2.0", - "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", - "dev": true - } - } - }, - "jest-config": { - "version": "27.5.1", - "dev": true, - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "27.5.1", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "27.5.1", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - } - }, - "jest-environment-node": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "dev": true - }, - "jest-haste-map": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@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.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "27.5.1", - "dev": true, - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - } - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "27.5.1", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "27.5.1", - "dev": true - }, - "jest-resolve": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - } - }, - "jest-runner": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-serializer": { - "version": "27.5.1", - "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, - "jest-snapshot": { - "version": "27.5.1", - "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.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "jest-util": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.3.0", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "27.5.1", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "js-sdsl": { - "version": "4.4.0", - "dev": true - }, - "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": "4.1.0", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "jsdom": { - "version": "16.7.0", - "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" - } - }, - "jsesc": { - "version": "2.5.2", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true - }, - "json5": { - "version": "2.2.3", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "dev": true - }, - "leven": { - "version": "3.1.0", - "dev": true - }, - "levn": { - "version": "0.4.1", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "line-column": { - "version": "1.0.2", - "dev": true, - "requires": { - "isarray": "^1.0.0", - "isobject": "^2.0.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "3.1.0", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "makeerror": { - "version": "1.0.12", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "merge-stream": { - "version": "2.0.0", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "dev": true - }, - "minimatch": { - "version": "6.2.0", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minimist": { - "version": "1.2.8", - "dev": true - }, - "ms": { - "version": "2.1.2", - "dev": true - }, - "nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "dev": true - }, - "node-releases": { - "version": "2.0.10", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "nwsapi": { - "version": "2.2.4", - "dev": true - }, - "object-inspect": { - "version": "1.12.3", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.values": { - "version": "1.1.6", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "once": { - "version": "1.4.0", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.9.1", - "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": "3.1.0", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-try": { - "version": "2.2.0", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "6.0.1", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "dev": true - }, - "pirates": { - "version": "4.0.5", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "postcss": { - "version": "8.4.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", - "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", - "dev": true, - "requires": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-selector-parser": { - "version": "6.0.13", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "dev": true - }, - "prettier": { - "version": "2.8.8", - "dev": true - }, - "prettier-plugin-apex": { - "version": "1.13.0", - "dev": true, - "requires": { - "axios": "^1.0.0", - "jest-docblock": "^29.0.0", - "wait-on": "^7.0.0", - "yargs": "^17.0.0" - }, - "dependencies": { - "jest-docblock": { - "version": "29.4.3", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - } - } - }, - "pretty-format": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/schemas": "^29.4.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "dev": true - } - } - }, - "prompts": { - "version": "2.4.2", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "dev": true - }, - "psl": { - "version": "1.9.0", - "dev": true - }, - "punycode": { - "version": "2.3.0", - "dev": true - }, - "querystringify": { - "version": "2.2.0", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "dev": true - }, - "react-is": { - "version": "18.2.0", - "dev": true - }, - "regexp-to-ast": { - "version": "0.5.0", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "require-directory": { - "version": "2.1.1", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "dev": true - }, - "resolve": { - "version": "1.22.2", - "dev": true, - "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "dev": true - }, - "resolve.exports": { - "version": "1.1.1", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "7.8.1", - "dev": true, - "requires": { - "tslib": "^2.1.0" - }, - "dependencies": { - "tslib": { - "version": "2.5.0", - "dev": true - } - } - }, - "safe-regex-test": { - "version": "1.0.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "dev": true - }, - "saxes": { - "version": "5.0.1", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "semver": { - "version": "6.3.0", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "dev": true - }, - "slash": { - "version": "3.0.0", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "dev": true - }, - "source-map-js": { - "version": "1.0.2", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "dev": true - }, - "stack-utils": { - "version": "2.0.6", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "dev": true - } - } - }, - "string-length": { - "version": "4.0.2", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string.prototype.matchall": { - "version": "4.0.8", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trim": { - "version": "1.2.7", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "strip-ansi": { - "version": "6.0.1", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true - }, - "symbol-tree": { - "version": "3.2.4", - "dev": true - }, - "terminal-link": { - "version": "2.1.1", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "test-exclude": { - "version": "6.0.0", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "dev": true - }, - "throat": { - "version": "6.0.2", - "dev": true - }, - "tmpl": { - "version": "1.0.5", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - } - }, - "tr46": { - "version": "2.1.0", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "tsconfig-paths": { - "version": "3.14.2", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "dev": true - } - } - }, - "tslib": { - "version": "1.14.1", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.4.0", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "dev": true - }, - "typed-array-length": { - "version": "1.0.4", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "5.0.4", - "dev": true, - "peer": true - }, - "unbox-primitive": { - "version": "1.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "universalify": { - "version": "0.2.0", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.11", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "url-parse": { - "version": "1.5.10", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "dev": true - }, - "v8-to-istanbul": { - "version": "8.1.1", - "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.4", - "dev": true - } - } - }, - "w3c-hr-time": { - "version": "1.0.2", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "dev": true, - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "wait-on": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", - "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", - "dev": true, - "requires": { - "axios": "^1.6.1", - "joi": "^17.11.0", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.1" - } - }, - "walker": { - "version": "1.0.8", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "dev": true - }, - "whatwg-url": { - "version": "8.7.0", - "dev": true, - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-typed-array": { - "version": "1.1.9", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, - "word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "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", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "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.9", - "dev": true, - "requires": {} - }, - "xml-name-validator": { - "version": "3.0.0", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "dev": true - }, - "yargs": { - "version": "17.6.2", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "dev": true - } - } -} diff --git a/DriverLicenseParser/package.json b/DriverLicenseParser/package.json deleted file mode 100644 index c8b953b..0000000 --- a/DriverLicenseParser/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "salesforce-app", - "private": true, - "version": "1.0.0", - "description": "Salesforce App", - "scripts": { - "lint": "eslint **/lwc/**", - "test": "npm run test:unit", - "test:unit": "sfdx-lwc-jest", - "test:unit:watch": "sfdx-lwc-jest --watch", - "test:unit:debug": "sfdx-lwc-jest --debug", - "test:unit:coverage": "sfdx-lwc-jest --coverage", - "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", - "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"" - }, - "devDependencies": { - "@lwc/eslint-plugin-lwc": "^1.1.2", - "@prettier/plugin-xml": "^2.0.1", - "@salesforce/eslint-config-lwc": "^3.2.3", - "@salesforce/eslint-plugin-aura": "^2.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "@salesforce/sfdx-lwc-jest": "^1.3.0", - "eslint": "^8.11.0", - "eslint-plugin-import": "^2.25.4", - "eslint-plugin-jest": "^26.1.2", - "prettier": "^2.6.0", - "prettier-plugin-apex": "^1.10.0" - } -} diff --git a/DriverLicenseParser/sfdx-project.json b/DriverLicenseParser/sfdx-project.json deleted file mode 100644 index 6f7dc5e..0000000 --- a/DriverLicenseParser/sfdx-project.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "packageDirectories": [ - { - "path": "force-app", - "default": true - } - ], - "name": "DriverLicenseParser", - "namespace": "", - "sfdcLoginUrl": "https://login.salesforce.com", - "sourceApiVersion": "57.0" -} diff --git a/FindNearby/README.md b/FindNearby/README.md deleted file mode 100644 index 0a83ba4..0000000 --- a/FindNearby/README.md +++ /dev/null @@ -1,64 +0,0 @@ - -# Set Up the Find Nearby Lightning Web Component (LWC) -Help your mobile workers figure out what records are close by. For example, mobile workers can search for service appointments to see where to go next. Or, they can search for a part they need to complete the task. - -**Note:** Find Nearby LWC is an open-source component and is not supported by Salesforce Support. - -## Before You Begin -We recommend taking the [Quick Start: Lightning Web Components](https://trailhead.salesforce.com/content/learn/projects/quick-start-lightning-web-components) Trailhead to learn how to: -* Set up your Salesforce DX environment -* Set up Visual Studio Code -* Make sure your org is updated to the Summer '23 version and higher -* Authorize your org - -## Set Up the LWC -1. Get the source code: - 1. From [LWC-Mobile-Samples](https://github.com/forcedotcom/LWC-Mobile-Samples), click **Code**. - 2. Clone the code or download the zip file. -2. Configure the LWC: - 1. Open the FindNearby folder in Visual Studio Code. - 2. Under `force-app/main/default/lwc/mobileMapLayersMain`, open the `config.js` file. - 3. Review the predefined code blocks in the mapObjects array. Each code block represents an object that can be displayed on the map. The map shows one type of object at a time, and you can switch between types. By default, the object type you see when you launch the LWC is the first code block of the mapObjects array. According to the default configuration of the LWC, the displayed object is Service Appointment. - - `value`—The object’s name. - `latField`—The object’s field that contains the latitude value. - `longField`—The object’s field that contains the longitude value. - `titleField`—The value of the entered field is displayed as the title of the marker’s card and list entry. - `detailField`—The value of the entered field is displayed as the detail of the marker’s card and list entry. - - Example: - ``` - { - value: 'ServiceAppointment', - latField: 'Latitude', - longField: 'Longitude', - titleField: 'AppointmentNumber', - detailField: 'Subject' - } - ``` - According to this code block: the map shows markers for service appointments; the service appointments are located on the map according to their latitude and longitude; the appointment number is the title of the card and the list entry; and the subject is the detail shown in the card and the list entry. - - - 4. Add a code block for every object type you want to see on the map. - * Within a code block, use different fields for `latField`, `longField`, `titleField`, and `detailField`. For example, you can't use the Name field for both `titleField` and `detailField`. - * Separate the code blocks using a comma. - - 5. The distance unit is predefined as kilometers. To change the distance unit to miles, replace km with mi: -`distanceUnit: 'mi'` -3. Authorize your org and deploy the code to your org. See [Quick Start: Lightning Web Components](https://trailhead.salesforce.com/content/learn/projects/quick-start-lightning-web-components). -4. Grant access to the LWC’s users. - 1. From Setup, in the Quick Find box, enter `Users`, and then select **Profiles**. - 2. Open the required profile. - 3. Under Enabled Apex Class Access, click **Edit** and add MobileMapLayersService. - 4. Give the users access to the records you want them to see. -5. Connect the LWC to a global action. See Add Global Actions to the Field Service Mobile App. - 1. For Action Type, select **Lightning Web Components**. - 2. For Lightning Web Component, select **c:mobileMapLayersMain**. -6. To see the map on a mobile device, add the map URL to the org’s trusted URLs. For more information, see [lightning-map](https://developer.salesforce.com/docs/component-library/bundle/lightning-map/documentation). - 1. From Setup, in the Quick Find box, enter `Security` and select **Trusted URLs**. - 2. Click **New Trusted URL**. - 3. Enter an API Name. - 4. For URL, enter `maps.a.forceusercontent.com`. - 5. Select **frame-src (iframe content)**. - 6. Save your changes. - diff --git a/FindNearby/force-app/main/default/classes/MobileMapLayersService.cls b/FindNearby/force-app/main/default/classes/MobileMapLayersService.cls deleted file mode 100644 index e2789b4..0000000 --- a/FindNearby/force-app/main/default/classes/MobileMapLayersService.cls +++ /dev/null @@ -1,123 +0,0 @@ -public with sharing class MobileMapLayersService { - - @AuraEnabled(cacheable=false) - public static List> getAllPicklistOptions(String obj, String field) { - try { - SObjectType objType = Schema.getGlobalDescribe().get(obj); - Map fields = objType.getDescribe().fields.getMap(); - Schema.DescribeFieldResult dfr = fields.get(field).getDescribe(); - - List> picklistOptions = new List>(); - Map temp = new Map(); - - List picklistVals = dfr.getPicklistValues(); - for( Schema.PicklistEntry picklistVal : picklistVals){ - temp = new Map(); - temp.put('value', picklistVal.getValue()); - temp.put('label', picklistVal.getLabel()); - picklistOptions.add(temp); - } - - return picklistOptions; - } catch (Exception e) { - throw new HandledException(e.getMessage()); - } - } - - @AuraEnabled(cacheable=false) - public static List executeFilterQuery(String currentObjectFilter, Map currentFieldFilter) { - try { - List results = new List(); - - String fieldType = currentFieldFilter.get('type'); - String fieldName = currentFieldFilter.get('value'); - String input = currentFieldFilter.get('input'); - - // verify object and fields are valid and accessible - if (!isSafeObject(currentObjectFilter) || - !isSafeField(currentObjectFilter, fieldName.toLowerCase())) - return results; - - // sanitize input: cast and escape quotes - input = castToType(input, fieldType); - - if (isLikeNeeded(fieldType)) input = '%' + input + '%'; - if (isQuotesNeeded(fieldType)) input = '\'' + input + '\''; - if (fieldType == 'TIME') input += 'Z'; - String operator = isLikeNeeded(fieldType) ? 'LIKE' : '='; - - String whereClause = buildWhereClause(fieldType, fieldName, operator, input); - List params = new List{ currentObjectFilter, whereClause }; - String filterQuery = String.format('SELECT Id FROM {0} WHERE {1}', params); - - results = Database.Query(filterQuery); - return results; - } catch (Exception e) { - throw new HandledException(e.getMessage()); - } - } - - private static boolean isQuotesNeeded(String type) { - List types = new List{ 'DATE', 'TIME', 'DATETIME', 'BOOLEAN', 'DOUBLE', 'INTEGER', 'CURRENCY', 'PERCENT' }; - return !types.contains(type); - } - - private static boolean isLikeNeeded(String type) { - List types = new List{ 'DATE', 'TIME', 'DATETIME', 'BOOLEAN', 'DOUBLE', 'INTEGER', 'CURRENCY', 'PERCENT', 'REFERENCE' }; - return !types.contains(type); - } - - private static String buildWhereClause(String fieldType, String field, String operator, String input) { - if (fieldType != 'DATETIME') return field + ' ' + operator + ' ' + input; - - // for dateTime fields - search whole day, user don't need to put in the exact time - String startDate = input + 'T00:00:00.000Z'; - String endDate = input + 'T23:59:59.999Z'; - List params = new List{ field, startDate, endDate }; - return String.format('{0} > {1} and {0} < {2}', params); - } - - private static boolean isSafeObject(String objName){ - SObjectType myObj = Schema.getGlobalDescribe().get(objName); - return myObj.getDescribe().isAccessible(); - } - - private static boolean isSafeField(String objName, String fieldName){ - if (isSafeObject(objName)) { - SObjectType myObj = Schema.getGlobalDescribe().get(objName); - SObjectField myField = myObj.getDescribe().fields.getMap().get(fieldName); - return myField.getDescribe().isAccessible(); - } - return false; - } - - private static String castToType(String input, String fieldType) { - try { - switch on fieldType { - when 'TIME' { - Pattern MyPattern = Pattern.compile('\\d\\d:\\d\\d:\\d\\d.\\d\\d\\d'); - Matcher MyMatcher = MyPattern.matcher(input); - if (MyMatcher.matches()) return input; - else return ''; - } - when 'DATE', 'DATETIME' { - return String.valueOf(Date.valueOf(input)); - } - when 'BOOLEAN' { - return String.valueOf(Boolean.valueOf(input)); - } - when 'INTEGER' { - return String.valueOf(Integer.valueOf(input)); - } - when 'DOUBLE', 'CURRENCY', 'PERCENT' { - return String.valueOf(Double.valueOf(input)); - } - when else { - return String.escapeSingleQuotes(input); - } - } - } catch (Exception e) { - throw new HandledException(e.getMessage()); - } - } -} diff --git a/FindNearby/force-app/main/default/classes/MobileMapLayersServiceTest.cls b/FindNearby/force-app/main/default/classes/MobileMapLayersServiceTest.cls deleted file mode 100644 index 3369864..0000000 --- a/FindNearby/force-app/main/default/classes/MobileMapLayersServiceTest.cls +++ /dev/null @@ -1,46 +0,0 @@ -@isTest -public with sharing class MobileMapLayersServiceTest { - public static ServiceResource sr; - - static { - sr = new ServiceResource( - RelatedRecordId = System.UserInfo.getUserId(), - Name = 'Resource Name', - LastKnownLatitude = 10.000000000000000, - LastKnownLongitude = 10.000000000000000, - ResourceType = 'T', - IsActive = true - ); - insert sr; - } - - @isTest - static void executeFilterQueryTest() { - try { - Map currentFieldFilter = new Map(); - currentFieldFilter.put('type', 'STRING'); - currentFieldFilter.put('value', 'name'); - currentFieldFilter.put('input', 'Resource Name'); - List result = MobileMapLayersService.executeFilterQuery('ServiceResource', currentFieldFilter); - - Assert.areEqual(result[0].id, sr.Id); - } catch (Exception e) { - Assert.fail('An exception was thrown: ' + e.getMessage()); - } - } - - @isTest - static void executeFilterQueryInvalidInputTest() { - try { - Map currentFieldFilter = new Map(); - currentFieldFilter.put('type', 'DOUBLE'); - currentFieldFilter.put('value', 'lastknownlatitude'); - currentFieldFilter.put('input', 'text'); - MobileMapLayersService.executeFilterQuery('ServiceResource', currentFieldFilter); - - Assert.fail('Invalid value, should throw an error'); - } catch (Exception e) { - Assert.isTrue(true); - } - } -} diff --git a/FindNearby/force-app/main/default/lwc/confirmModal/__tests__/confirmModal.test.js b/FindNearby/force-app/main/default/lwc/confirmModal/__tests__/confirmModal.test.js deleted file mode 100644 index 02b867f..0000000 --- a/FindNearby/force-app/main/default/lwc/confirmModal/__tests__/confirmModal.test.js +++ /dev/null @@ -1,36 +0,0 @@ -import { createElement } from 'lwc'; -import ConfirmModal from 'c/confirmModal'; - -let element; -describe('c-confirm-modal', () => { - beforeEach(() => { - element = createElement('c-confirm-modal', { - is: ConfirmModal, - }); - - element.close = jest.fn(); - document.body.appendChild(element); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('calls close with false on cancel', async () => { - const cancelButton = element.shadowRoot.querySelector('.cancel-button'); - cancelButton.click(); - return Promise.resolve().then(() => { - expect(element.close).toHaveBeenCalledWith(false); - }); - }); - - it('calls close with true on ok', async () => { - const okButton = element.shadowRoot.querySelector('.ok-button'); - okButton.click(); - return Promise.resolve().then(() => { - expect(element.close).toHaveBeenCalledWith(true); - }); - }); -}); diff --git a/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.css b/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.css deleted file mode 100644 index 855b394..0000000 --- a/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.css +++ /dev/null @@ -1,25 +0,0 @@ -.confirm-modal-container { - background: white; - border-radius: 12px; -} - -button { - height: 48px; - width: 140px; - border-radius: 12px; - font-size: 16px; - font-weight: 600; - line-height: 22px; -} - -.ok-button { - border: none; - color: white; - background-color: #0D7FA8; -} - -.cancel-button { - border: 2px solid #0D7FA8; - color: #0D7FA8; - background-color: white; -} \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.html b/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.html deleted file mode 100644 index 808abde..0000000 --- a/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.html +++ /dev/null @@ -1,14 +0,0 @@ - \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.js-meta.xml b/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/jsconfig.json b/FindNearby/force-app/main/default/lwc/jsconfig.json deleted file mode 100644 index a72666d..0000000 --- a/FindNearby/force-app/main/default/lwc/jsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "experimentalDecorators": true - }, - "include": ["**/*", "../../../../.sfdx/typings/lwc/**/*.d.ts"], - "paths": { - "c/*": ["*"] - }, - "typeAcquisition": { - "include": ["jest"] - } -} diff --git a/FindNearby/force-app/main/default/lwc/locationsList/__tests__/data/oneLocation.json b/FindNearby/force-app/main/default/lwc/locationsList/__tests__/data/oneLocation.json deleted file mode 100644 index 6ca3b73..0000000 --- a/FindNearby/force-app/main/default/lwc/locationsList/__tests__/data/oneLocation.json +++ /dev/null @@ -1,13 +0,0 @@ -[ - { - "location": { "Latitude": 10, "Longitude": 10 }, - "value": { - "id": "1234", - "title": "marker1", - "firstDetailFieldValue": "field2-1", - "secondDetailFieldValue": "field3-1", - "thirdDetailFieldValue": "field4-1", - "distance": "15 km" - } - } -] diff --git a/FindNearby/force-app/main/default/lwc/locationsList/__tests__/data/threeLocations.json b/FindNearby/force-app/main/default/lwc/locationsList/__tests__/data/threeLocations.json deleted file mode 100644 index 8254bab..0000000 --- a/FindNearby/force-app/main/default/lwc/locationsList/__tests__/data/threeLocations.json +++ /dev/null @@ -1,35 +0,0 @@ -[ - { - "location": { "Latitude": 10, "Longitude": 10 }, - "value": { - "id": "1234", - "title": "marker1", - "firstDetailFieldValue": "field2-1", - "secondDetailFieldValue": "field3-1", - "thirdDetailFieldValue": "field4-1", - "distance": "15 km" - } - }, - { - "location": { "Latitude": 20, "Longitude": 20 }, - "value": { - "id": "5678", - "title": "marker2", - "firstDetailFieldValue": "field2-2", - "secondDetailFieldValue": "field3-2", - "thirdDetailFieldValue": "field4-2", - "distance": "25 km" - } - }, - { - "location": { "Latitude": 10, "Longitude": 10 }, - "value": { - "id": "9123", - "title": "marker3", - "firstDetailFieldValue": "field2-3", - "secondDetailFieldValue": "field3-3", - "thirdDetailFieldValue": "field4-3", - "distance": "35 km" - } - } -] diff --git a/FindNearby/force-app/main/default/lwc/locationsList/__tests__/locationsList.test.js b/FindNearby/force-app/main/default/lwc/locationsList/__tests__/locationsList.test.js deleted file mode 100644 index 91d76f3..0000000 --- a/FindNearby/force-app/main/default/lwc/locationsList/__tests__/locationsList.test.js +++ /dev/null @@ -1,215 +0,0 @@ -import { createElement } from 'lwc'; -import LocationsList from 'c/locationsList'; - -let element; -const oneLocation = require('./data/oneLocation.json'); -const threeLocations = require('./data/threeLocations.json'); - -describe('c-locations-list', () => { - beforeEach(() => { - element = createElement('c-locations-list', { - is: LocationsList, - }); - - element.currentObject = { - value: 'WorkOrder', - label: 'Work Order', - plural: 'Work Orders', - iconUrl: '', - color: '', - }; - element.isIos = () => true; - element.setCurrentMarker = jest.fn(); - element.redirectToMarkerDetails = jest.fn(); - element.routeToMarkerLocation = jest.fn(); - element.handleError = jest.fn(console.log); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - element = null; - }); - - it('has correct plural title', async () => { - element.filteredMarkers = threeLocations; - document.body.appendChild(element); - - return Promise.resolve().then(() => { - const title = element.shadowRoot.querySelector('.title-tile'); - expect(title.textContent).toBe('3 Work Orders'); - }); - }); - - it('has correct singular title', async () => { - element.filteredMarkers = oneLocation; - document.body.appendChild(element); - - return Promise.resolve().then(() => { - const title = element.shadowRoot.querySelector('.title-tile'); - expect(title.textContent).toBe('1 Work Order'); - }); - }); - - it('has correct subtitle', async () => { - element.filteredMarkers = oneLocation; - document.body.appendChild(element); - - return Promise.resolve().then(() => { - const tileSub = element.shadowRoot.querySelector('li[data-index="0"] .tile-subtitle'); - expect(tileSub.textContent).toBe('15 km • field2-1'); - }); - }); - - it('has correct number of records', async () => { - element.filteredMarkers = threeLocations; - document.body.appendChild(element); - - return Promise.resolve().then(() => { - const tiles = element.shadowRoot.querySelectorAll('li'); - expect(tiles).toHaveLength(4); - }); - }); - - it('sets current marker when clicked', async () => { - element.filteredMarkers = oneLocation; - document.body.appendChild(element); - - const tile = element.shadowRoot.querySelector('li[data-index="0"]'); - tile.click(); - - return Promise.resolve().then(() => { - expect(element.setCurrentMarker).toHaveBeenCalledWith(0); - }); - }); - - it('shows popover when actions button clicked', async () => { - element.filteredMarkers = oneLocation; - document.body.appendChild(element); - - const popover = element.shadowRoot.querySelector('.popover-container div'); - expect(popover.classList).toContain('popover-hidden'); - const actionsButton = element.shadowRoot.querySelector('.actions-button button'); - actionsButton.click(); - return Promise.resolve().then(() => { - expect(popover.classList).toContain('popover-shown'); - }); - }); - - it('triggers redirectToMarkerDetails when view clicked', async () => { - element.filteredMarkers = oneLocation; - document.body.appendChild(element); - - const action = element.shadowRoot.querySelectorAll('.action-item')[0]; - action.click(); - return Promise.resolve().then(() => { - expect(element.redirectToMarkerDetails).toHaveBeenCalled(); - }); - }); - - it('triggers routeToMarkerLocation when route clicked', async () => { - element.filteredMarkers = threeLocations; - document.body.appendChild(element); - - const action = element.shadowRoot.querySelectorAll('.action-item')[1]; - action.click(); - return Promise.resolve().then(() => { - expect(element.routeToMarkerLocation).toHaveBeenCalled(); - }); - }); - - it('opens list on drag up', async () => { - element.filteredMarkers = threeLocations; - document.body.appendChild(element); - - const mainTemplate = element.shadowRoot.querySelector('.main-container'); - const header = element.shadowRoot.querySelector('.header'); - - const eStart = new Event('touchstart'); - const eMove = new Event('touchmove'); - const eEnd = new Event('touchend'); - const point1 = { x: 0, y: 0 }; - const point2 = { x: 0, y: 10 }; - eStart.touches = [{ target: header, clientX: point1.x, clientY: point1.y }]; - eMove.touches = [{ target: header, clientX: point2.x, clientY: point2.y }]; - header.dispatchEvent(eStart); - header.dispatchEvent(eMove); - header.dispatchEvent(eEnd); - - return Promise.resolve().then(() => { - expect(mainTemplate.style.transform).toBe('translateY(calc(85% - 10px)'); - }); - }); - - it('closes list on drag down', async () => { - element.filteredMarkers = threeLocations; - document.body.appendChild(element); - - const mainTemplate = element.shadowRoot.querySelector('.main-container'); - const header = element.shadowRoot.querySelector('.header'); - - const eStart = new Event('touchstart'); - const eMove = new Event('touchmove'); - const eEnd = new Event('touchend'); - const point1 = { x: 0, y: 10 }; - const point2 = { x: 0, y: 0 }; - eStart.touches = [{ target: header, clientX: point1.x, clientY: point1.y }]; - eMove.touches = [{ target: header, clientX: point2.x, clientY: point2.y }]; - header.dispatchEvent(eStart); - header.dispatchEvent(eMove); - header.dispatchEvent(eEnd); - - return Promise.resolve().then(() => { - expect(mainTemplate.style.transform).toBe('translateY(calc((90% - 0px) - -10px))'); - }); - }); - - it('hides popover on mask clicked', async () => { - element.filteredMarkers = oneLocation; - document.body.appendChild(element); - - const actionsButton = element.shadowRoot.querySelector('.actions-button button'); - actionsButton.click(); - return Promise.resolve().then(async () => { - const popover = element.shadowRoot.querySelector('.popover-container div'); - expect(popover.classList).toContain('popover-shown'); - const mask = element.shadowRoot.querySelector('.popover-mask'); - mask.click(); - return Promise.resolve().then(() => { - expect(popover.classList).toContain('popover-hidden'); - }); - }); - }); - - it('hides popover after second click on same button', async () => { - element.filteredMarkers = oneLocation; - document.body.appendChild(element); - - const actionsButton = element.shadowRoot.querySelector('.actions-button button'); - actionsButton.click(); - return Promise.resolve().then(async () => { - const popover = element.shadowRoot.querySelector('.popover-container div'); - expect(popover.classList).toContain('popover-shown'); - actionsButton.click(); - return Promise.resolve().then(() => { - expect(popover.classList).toContain('popover-hidden'); - }); - }); - }); - - it('sets paddingBottom correctly when using iOS devices', async () => { - element.filteredMarkers = oneLocation; - - const navigatorGetter = jest.spyOn(window, 'navigator', 'get'); - navigatorGetter.mockReturnValue({ - userAgent: 'Macintosh', - maxTouchPoints: 2, - platform: '', - }); - document.body.appendChild(element); - - const list = element.shadowRoot.querySelector('.list'); - expect(list.style.paddingBottom).toBe('34px'); - }); -}); diff --git a/FindNearby/force-app/main/default/lwc/locationsList/locationsList.css b/FindNearby/force-app/main/default/lwc/locationsList/locationsList.css deleted file mode 100644 index fa3ea4a..0000000 --- a/FindNearby/force-app/main/default/lwc/locationsList/locationsList.css +++ /dev/null @@ -1,168 +0,0 @@ -.main-container { - position: relative; - background-color: white; - float: left; - height: 100%; - width: 100%; - border-top-left-radius: 8px; - border-top-right-radius: 8px; - transition: transform .6s; - transform: translateY(85%); - pointer-events: all; - box-shadow: 0px -1px 4px rgb(0 0 0 / 35%); -} - -.grabber { - display: flex; - justify-content: center; - height: 8px; -} - -.header .tile-container { - height: 48px; -} - -.title-tile { - height: 35px; - display: flex; - align-items: center; - justify-content: center; - width: 100%; -} - -.title-tile p { - color: black !important; -} - -.empty-state { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - margin-top: 40px; - padding-bottom: 20px; -} - -.empty-state-text { - padding: 20px 0; - color: #444444; - font-size: 16px; - text-align: center; -} - -.list { - overflow-y: scroll; - background-color: white; -} - -.tile-container { - display: flex; - align-items: center; - justify-content: space-between; - overflow: hidden; - text-overflow: ellipsis; -} - -.slds-item { - padding: 12px 16px; -} - -.icon-and-text { - display: flex; - flex: 1 auto; - width: calc(100% - 44px); -} - -.actions-button { - display: flex; - justify-content: right; - width: 44px; -} - -button { - background: white; - color: #0D7FA8; - border: none; - border-radius: 10px; - height: 44px; - width: 44px; - line-height: 0px; - padding: 0; - margin: 0; -} - -.popover-container { - z-index: 1; - position: absolute; - background-color: white; - color: #0D7FA8; - right: 55px; - pointer-events: all; -} - -.popover-shown { - display: flex; - flex-direction: column; - justify-content: space-between; - overflow: hidden; - box-shadow: 0px 2px rgba(0, 0, 0, 0.16); - border: 1px #C9C9C9 solid; - border-radius: 12px; - - width: 200px; - height: 100px; - transition: all linear 180ms; -} - -.popover-hidden { - display: flex; - flex-direction: column; - justify-content: space-between; - overflow: hidden; - - height: 0; - width: 0; - padding: 0; - transition: all linear 180ms; -} - -.action-item { - display: flex; - flex-direction: row; - align-items: center; - cursor: pointer; - font-size: 16px; - line-height: 22px; - padding: 13px; -} - -.action-icon { - --sds-c-icon-color-foreground-default: #0D7FA8; - margin-right: 8px; -} - -.popover-mask { - height: 100vh; - width: 100vw; - background-color: transparent; - pointer-events: all; - position: absolute; -} - -.list-spinner { - margin-top: 24px; - left: calc(50% - 24px); - position: absolute; - animation: spin 2s linear infinite; - -webkit-animation: spin 2s linear infinite; -} - -@keyframes spin { - from { transform: rotate(0deg); } - to { transform: rotate(360deg); } -} - -@-webkit-keyframes spin { - from { transform: rotate(0deg); } - to { transform: rotate(360deg); } -} diff --git a/FindNearby/force-app/main/default/lwc/locationsList/locationsList.html b/FindNearby/force-app/main/default/lwc/locationsList/locationsList.html deleted file mode 100644 index d89128b..0000000 --- a/FindNearby/force-app/main/default/lwc/locationsList/locationsList.html +++ /dev/null @@ -1,88 +0,0 @@ - \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/locationsList/locationsList.js b/FindNearby/force-app/main/default/lwc/locationsList/locationsList.js deleted file mode 100644 index 41605e8..0000000 --- a/FindNearby/force-app/main/default/lwc/locationsList/locationsList.js +++ /dev/null @@ -1,170 +0,0 @@ -import { LightningElement, api } from 'lwc'; - -export default class LocationsList extends LightningElement { - @api filteredMarkers; - @api currentObject; - @api setCurrentMarker; - @api redirectToMarkerDetails; - @api routeToMarkerLocation; - @api isIos; - @api handleError; - - mainTemplate; - headerElement; - listElement; - - showPopover = false; - actionButtonIndexClicked; - IOS_MARGIN = '34px'; - - init = false; - renderedCallback() { - this.setSpinner(); - this.mainTemplate = this.template.querySelector('.main-container'); - this.headerElement = this.template.querySelector('.header'); - this.listElement = this.template.querySelector('.list'); - if (this.listElement) - this.listElement.style.paddingBottom = this.isIos() ? this.IOS_MARGIN : '0'; - if (!this.init && this.headerElement) { - this.detectDrag(); - this.init = true; - } - } - - @api currentMarkerSet() { - this.closeLocationsList(); - } - - // Handlers - - handleItemClick = (e) => { - try { - e.preventDefault(); - e.stopPropagation(); - const index = e?.currentTarget?.dataset?.index; - if (index) this.setCurrentMarker(parseInt(index)); - } catch (error) { - this.handleError(error); - } - }; - - handleActionsButtonClick = (e) => { - try { - e.stopPropagation(); - const el = e.currentTarget; - const markerInd = parseInt(el.closest('li')?.dataset?.index); - this.template.querySelector('.popover-container').style.bottom = `${ - el.offsetParent?.offsetHeight - el.offsetTop - el.offsetHeight + this.listElement.scrollTop - }px`; - if (!this.showPopover || markerInd === this.actionButtonIndexClicked) - this.showPopover = !this.showPopover; - this.actionButtonIndexClicked = markerInd; - } catch (error) { - this.handleError(error); - } - }; - - handlePopoverMaskClick = () => { - this.showPopover = false; - }; - - handleViewClick = () => { - this.redirectToMarkerDetails(this.actionButtonIndexClicked); - this.showPopover = false; - }; - - handleDirectionsClick = () => { - this.routeToMarkerLocation(this.actionButtonIndexClicked); - this.showPopover = false; - }; - - // Getters - - get loaded() { - return !!this.currentObject?.label; - } - - get popoverClass() { - return this.showPopover ? 'popover-shown' : 'popover-hidden'; - } - - get titleObjectText() { - if (!this.currentObject.label) return 'Locations'; - return this.filteredMarkers.length === 1 ? this.currentObject.label : this.currentObject.plural; - } - - // List Opening & Closing - - openLocationsList() { - const top = this.mainTemplate.style.top; - if (this.listElement.clientHeight > (window.innerHeight * 85) / 100) { - this.mainTemplate.style.transform = `translateY(calc(20% - ${top}))`; - setTimeout(() => { - this.setListHeight(); - }, 800); - } else { - this.mainTemplate.style.transform = `translateY(calc((90% - ${this.listElement.clientHeight}px) - ${top}))`; - } - } - - closeLocationsList() { - const top = this.mainTemplate.style.top; - this.mainTemplate.style.transform = `translateY(calc(85% - ${top})`; - this.showPopover = false; - } - - setListHeight() { - const containerH = window.innerHeight; - const listBounds = this.listElement.getBoundingClientRect(); - const newHeight = containerH - listBounds.top; - this.listElement.style.height = `${newHeight}px`; - } - - detectDrag = () => { - let pos1 = 0, - pos2 = 0, - pos3 = 0, - pos4 = 0; - - const dragTouchStart = (e) => { - this.listElement.style.height = 'fit-content'; - this.showPopover = false; - e = e || window.event; - e.preventDefault(); - pos3 = e.touches[0].clientX; - pos4 = e.touches[0].clientY; - this.headerElement.addEventListener('touchend', dragEnd); - this.headerElement.addEventListener('touchmove', dragMove); - }; - - const dragMove = (e) => { - e = e || window.event; - e.preventDefault(); - pos1 = pos3 - e.touches[0].clientX; - pos2 = pos4 - e.touches[0].clientY; - pos3 = e.touches[0].clientX; - pos4 = e.touches[0].clientY; - this.mainTemplate.style.top = `${this.mainTemplate.offsetTop - pos2}px`; - }; - - const dragEnd = () => { - if (pos2 > 0) this.openLocationsList(); - else this.closeLocationsList(); - this.headerElement.removeEventListener('touchend', dragEnd); - this.headerElement.removeEventListener('touchmove', dragMove); - }; - - this.headerElement.addEventListener('touchstart', dragTouchStart); - }; - - // Helpers - - setSpinner() { - // set same id (if set in html, it changes dynamically) - const g = this.template.querySelector('.spinner-g'); - const mask = this.template.querySelector('.spinner-mask'); - const id = 'spinner-mask-id'; - mask?.setAttribute('id', id); - g?.setAttribute('mask', `url(#${id})`); - } -} diff --git a/FindNearby/force-app/main/default/lwc/locationsList/locationsList.js-meta.xml b/FindNearby/force-app/main/default/lwc/locationsList/locationsList.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FindNearby/force-app/main/default/lwc/locationsList/locationsList.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/mapFilters/__tests__/mapFilters.test.js b/FindNearby/force-app/main/default/lwc/mapFilters/__tests__/mapFilters.test.js deleted file mode 100644 index cf7e78c..0000000 --- a/FindNearby/force-app/main/default/lwc/mapFilters/__tests__/mapFilters.test.js +++ /dev/null @@ -1,285 +0,0 @@ -import { createElement } from 'lwc'; -import MapFilters from 'c/mapFilters'; - -let element; - -let objectFilterButton; -let objectSheet; -let objectRadio; -let xButtonObj; - -let fieldFilterButton; -let fieldFilterSheet; -let xButtonFieldFilter; -let inputField; -let showResultsButton; - -let fieldsListSheet; -let fieldListRadio; -let xButtonFieldsList; - -describe('c-map-filters', () => { - beforeEach(() => { - element = createElement('c-map-filters', { - is: MapFilters, - }); - - element.mapObjects = [ - { - value: 'ServiceAppointment', - label: 'Service Appointment', - latField: 'Latitude', - longField: 'Longitude', - titleField: 'AppointmentNumber', - firstDetailField: 'Subject', - secondDetailField: 'Status', - thirdDetailField: 'DurationInMinutes', - fields: [ - { value: 'a', label: 'A', type: 'String' }, - { value: 'b', label: 'B', type: 'Boolean' }, - { value: 'c', label: 'C', type: 'DateTime' }, - ], - }, - { - value: 'Asset', - label: 'Asset', - latField: 'Latitude', - longField: 'Longitude', - titleField: 'Name', - firstDetailField: 'Quantity', - secondDetailField: 'Address', - thirdDetailField: 'Price', - }, - ]; - element.currentObjectFilter = { - value: 'ServiceAppointment', - label: 'Service Appointment', - plural: '', - iconUrl: '', - color: '', - }; - element.currentFieldFilter = { - isActive: true, - field: { value: '', label: '', type: '', input: '' }, - }; - element.setCurrentObjectFilter = jest.fn(); - element.setCurrentFieldFilter = jest.fn(); - element.handleError = jest.fn(console.log); - - document.body.appendChild(element); - - objectFilterButton = element.shadowRoot.querySelectorAll('.filter-button')[0]; - objectSheet = element.shadowRoot.querySelector('.object-filter-bottom-sheet'); - objectRadio = element.shadowRoot.querySelector( - '.object-filter-bottom-sheet lightning-radio-group' - ); - xButtonObj = element.shadowRoot.querySelector('.object-filter-bottom-sheet .x'); - - fieldFilterButton = element.shadowRoot.querySelectorAll('.filter-button')[1]; - fieldFilterSheet = element.shadowRoot.querySelector('.field-filter-bottom-sheet'); - xButtonFieldFilter = element.shadowRoot.querySelector('.field-filter-bottom-sheet .x'); - showResultsButton = element.shadowRoot.querySelector('.filters-sheet-show-results'); - - fieldsListSheet = element.shadowRoot.querySelector('.fields-list-bottom-sheet'); - fieldListRadio = element.shadowRoot.querySelector( - '.fields-list-bottom-sheet lightning-radio-group' - ); - xButtonFieldsList = element.shadowRoot.querySelector('.fields-list-bottom-sheet .x'); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('has object filter filled', async () => { - return Promise.resolve().then(() => { - const currentObject = objectFilterButton.querySelector('.button-text-main'); - expect(currentObject.textContent).toBe('Service Appointment'); - }); - }); - - it('has field filter empty', () => { - const currentField = fieldFilterButton.querySelector('.button-text-main'); - expect(currentField.textContent).toBe('None'); - }); - - it('has correct number of options in objects list', () => { - expect(objectRadio.options).toHaveLength(2); - }); - - it('opens object sheet when object filter button clicked', async () => { - expect(objectSheet.classList).not.toContain('pt-page-moveToTop'); - - objectFilterButton.click(); - return Promise.resolve().then(() => { - expect(objectSheet.classList).toContain('pt-page-moveToTop'); - }); - }); - - it('calls setCurrentObjectFilter when changing object filter', async () => { - objectFilterButton.click(); - return Promise.resolve().then(async () => { - objectRadio.value = 'Asset'; - objectRadio.dispatchEvent(new Event('change')); - return Promise.resolve().then(() => { - expect(element.setCurrentObjectFilter).toHaveBeenCalledWith(element.mapObjects[1]); - }); - }); - }); - - it('opens field filter sheet when field filter button clicked', async () => { - expect(fieldFilterSheet.classList).not.toContain('pt-page-moveToTop'); - - fieldFilterButton.click(); - return Promise.resolve().then(() => { - expect(fieldFilterSheet.classList).toContain('pt-page-moveToTop'); - }); - }); - - it('opens fields list sheet when field combo clicked', async () => { - expect(fieldsListSheet.classList).not.toContain('pt-page-moveToTop'); - - const fieldCombo = element.shadowRoot.querySelector('.field-combo-cover'); - fieldCombo.click(); - return Promise.resolve().then(() => { - expect(fieldsListSheet.classList).toContain('pt-page-moveToTop'); - }); - }); - - it('closes objects sheet on x click', async () => { - objectFilterButton.click(); - return Promise.resolve().then(async () => { - expect(objectSheet.classList).toContain('pt-page-moveToTop'); - xButtonObj.click(); - return Promise.resolve().then(() => { - expect(objectSheet.classList).not.toContain('pt-page-moveToTop'); - }); - }); - }); - - it('closes field filter sheet on x click', async () => { - fieldFilterButton.click(); - return Promise.resolve().then(async () => { - expect(fieldFilterSheet.classList).toContain('pt-page-moveToTop'); - xButtonFieldFilter.click(); - return Promise.resolve().then(() => { - expect(fieldFilterSheet.classList).not.toContain('pt-page-moveToTop'); - }); - }); - }); - - it('closes fields list sheet on x click', async () => { - const fieldCombo = element.shadowRoot.querySelector('.field-combo-cover'); - fieldCombo.click(); - return Promise.resolve().then(async () => { - expect(fieldsListSheet.classList).toContain('pt-page-moveToTop'); - xButtonFieldsList.click(); - return Promise.resolve().then(() => { - expect(fieldsListSheet.classList).not.toContain('pt-page-moveToTop'); - }); - }); - }); - - describe('c-map-filters field filter', () => { - describe('basic field filter', () => { - beforeEach(async () => { - // open the fields list and select the string field - fieldListRadio.value = 'a'; - fieldListRadio.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - inputField = element.shadowRoot.querySelector('.field-input-container lightning-input'); - }); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('shows correct input component when field selected', async () => { - expect(inputField).not.toBeNull(); - expect(inputField.type).toBe('String'); - }); - - it('enables show results button on input change', async () => { - inputField.value = 'text'; - inputField.dispatchEvent(new Event('change')); - return Promise.resolve().then(() => { - expect(showResultsButton.disabled).toBe(false); - }); - }); - - it('changes field filter button to active when show results clicked', async () => { - inputField.value = 'text'; - inputField.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - showResultsButton.click(); - return Promise.resolve().then(() => { - const fieldFilterButton = element.shadowRoot.querySelectorAll('.filter-button')[1]; - expect(fieldFilterButton.classList).toContain('active-button'); - }); - }); - }); - }); - - describe('boolean field filter', () => { - beforeEach(async () => { - // open the fields list and select the boolean field - fieldListRadio.value = 'b'; - fieldListRadio.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - inputField = element.shadowRoot.querySelector('.field-input-container lightning-input'); - }); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('shows correct input component when field selected', async () => { - expect(inputField).not.toBeNull(); - expect(inputField.type).toBe('toggle'); - }); - - it('enables show results button even when nothing changes (boolean field can be left unchanged)', async () => { - expect(showResultsButton.disabled).toBe(false); - }); - - it('enables show results button also when toggle changes', async () => { - inputField.checked = true; - inputField.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - expect(inputField.checked).toBe(true); - expect(showResultsButton.disabled).toBe(false); - }); - }); - }); - - describe('date field filter', () => { - beforeEach(async () => { - // open the fields list and select the dateTime field - fieldListRadio.value = 'c'; - fieldListRadio.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - inputField = element.shadowRoot.querySelector('.field-input-container lightning-input'); - }); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('shows correct input component when field selected', async () => { - expect(inputField).not.toBeNull(); - expect(inputField.type).toBe('Date'); - }); - }); - }); -}); diff --git a/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.css b/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.css deleted file mode 100644 index b31070a..0000000 --- a/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.css +++ /dev/null @@ -1,221 +0,0 @@ -.buttons-container { - background: white; - display: flex; - overflow-x: scroll; - padding: 8px 16px; - width: 100%; -} - -.button { - border: 2px #0D7FA8 solid; - border-radius: 10px; - padding: 8px 16px; - margin-bottom: 8px; - font-size: 14px; - line-height: 18px; - letter-spacing: 0px; - font-weight: 500; - white-space: nowrap; -} - -.filter-button { - display: flex; - flex-direction: row; - align-items: center; - margin: 0; - margin-right: 8px; -} - -.active-button { - color: white; - background-color: #0D7FA8; -} - -.inactive-button { - background: white; - color: #0D7FA8; -} - -.active-button .icon { - --sds-c-icon-color-foreground-default: white; - margin-left: 8px; -} - -.inactive-button .icon { - --sds-c-icon-color-foreground-default: #0D7FA8; - margin-left: 8px; -} - -.button-text { - display: flex; - flex-direction: column; - align-items: start; -} - -.button-text-title { - font-size: 12px; - line-height: 14px; - margin-bottom: 2px; -} - -.button-text-main { - font-size: 16px; - line-height: 22px; -} - -/* bottom sheets */ - -.bottom-sheet { - position: absolute; - display: flex; - flex-direction: column; - background-color: white; - width: 100%; - overflow-x: hidden; - overflow-y: hidden; - top: 100vh; - padding-bottom: 50px; - max-height: 85vh; - border-top-left-radius: 8px; - border-top-right-radius: 8px; -} - -.shadow { - box-shadow: 0px -1px 4px rgb(0 0 0 / 35%); -} - -.grabber { - display: flex; - justify-content: center; - height: 8px; -} - -.sheet-title-and-buttons { - display: flex; - justify-content: space-between; -} - -.back { - background: none; - border: none; - cursor: none; - width: 48px; - padding: 0; -} - -.x { - cursor: pointer; - background: none; - border: none; - padding: 0; - width: 48px; -} - -.x-icon { - --sds-c-icon-color-foreground-default: #0D7FA8; - padding: 0 13px; -} - -.sheet-content { - display: flex; - flex-direction: column; - margin: 16px; - overflow-y: scroll; -} - -.sheet-footer { - display: flex; - flex-direction: column; - margin: 16px; -} - -.filters-sheet-title { - display: flex; - justify-content: center; - align-items: center; - font-size: 18px; - line-height: 21px; - height: 48px; - text-align: center; -} - -.field-combo-container { - position: relative; -} - -.field-combo-cover { - position: absolute; - top: 0; -} - -.field-input-container { - margin-top: 16px; -} - -.boolean-input-frame { - border: 1px solid #d4d4d4; - border-radius: 12px; - padding: 12px; -} - -select { - height: 48px; -} - -.filters-sheet-show-results, .filters-sheet-clear { - height: 48px; - font-size: 16px; - line-height: 22px; -} - -.filters-sheet-show-results:enabled { - background: #0D7FA8; - color: white; - border: none; -} - -.filters-sheet-show-results[disabled], .filters-sheet-show-results:disabled { - background: #EEEEEE; - color: #9FAAB5; - border: none; -} - -.filters-sheet-clear:enabled { - background: white; - color: #0D7FA8; - border: 2px #0D7FA8 solid; -} - -.filters-sheet-clear[disabled], .filters-sheet-clear:disabled { - background: white; - color: #9FAAB5; - border: 2px #E4E4E8 solid; -} - -/* animations top-bottom */ - -.pt-page-moveToTop { - -webkit-animation: moveToTop .4s ease both; - animation: moveToTop .4s ease both; -} - -.pt-page-moveFromTop { - -webkit-animation: moveFromTop .4s ease both; - animation: moveFromTop .4s ease both; -} - -@-webkit-keyframes moveToTop { - from { } - to { -webkit-transform: translateY(-100%); } -} -@keyframes moveToTop { - from { } - to { -webkit-transform: translateY(-100%); transform: translateY(-100%); } -} - -@-webkit-keyframes moveFromTop { - from { -webkit-transform: translateY(-100%); } -} -@keyframes moveFromTop { - from { -webkit-transform: translateY(-100%); transform: translateY(-100%); } -} \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.html b/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.html deleted file mode 100644 index d8770d8..0000000 --- a/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.html +++ /dev/null @@ -1,183 +0,0 @@ - \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.js b/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.js deleted file mode 100644 index 1aee2b5..0000000 --- a/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.js +++ /dev/null @@ -1,212 +0,0 @@ -import { LightningElement, api } from 'lwc'; -import getAllPicklistOptions from '@salesforce/apex/MobileMapLayersService.getAllPicklistOptions'; - -export default class MapFilters extends LightningElement { - @api mapObjects; - @api handleError; - @api currentObjectFilter; - @api currentFieldFilter; - @api setCurrentObjectFilter; - @api setCurrentFieldFilter; - selectedFieldFilter = { label: '', value: '', type: '', input: '' }; - picklistOptions; - - connectedCallback() { - this.selectedFieldFilter = this.currentFieldFilter.field; - this.refreshPicklistOptions(); - } - - renderedCallback() { - const fieldContainer = this.template.querySelector('.field-combo-container'); - const comboCover = this.template.querySelector('.field-combo-cover'); - comboCover.style.height = `${fieldContainer.clientHeight}px`; - comboCover.style.width = `${fieldContainer.clientWidth}px`; - } - - // Getters - - get filteredObjectText() { - return this.currentObjectFilter?.label || 'None'; - } - - get filteredFieldText() { - const currentField = this.currentFieldFilter.field.label; - return !currentField ? 'None' : currentField; - } - - get filterFieldButtonClass() { - let buttonClasses = 'button filter-button'; - return `${buttonClasses} ${ - this.currentFieldFilter.isActive ? 'active-button' : 'inactive-button' - }`; - } - - get objRadioOptions() { - return this.mapObjects; - } - - get fieldRadioOptions() { - if (!this.currentObjectFilter.value) return []; - const objFields = this.mapObjects.find( - (o) => o.value === this.currentObjectFilter.value - ).fields; - return objFields - ?.map((f) => ({ label: f.label, value: f.value, type: f.type })) - .sort((f1, f2) => (f1.label < f2.label ? -1 : 1)); - } - - get filterValueOptions() { - return this.picklistOptions; - } - - get inputType() { - if (this.selectedFieldFilter?.type === 'DateTime') return 'Date'; - return this.selectedFieldFilter?.type; - } - - get isFieldTypeBoolean() { - return this.selectedFieldFilter.type === 'Boolean'; - } - - get isFieldTypePicklist() { - return this.selectedFieldFilter.type === 'Picklist'; - } - - get isFieldTypeRegular() { - return !this.isFieldTypeBoolean && !this.isFieldTypePicklist; - } - - get showResultsDisabled() { - return ( - !this.selectedFieldFilter.value || - (!this.isFieldTypeBoolean && !this.selectedFieldFilter.input) - ); - } - - get clearDisabled() { - return !this.currentFieldFilter.field.value; - } - - // Event Handlers - - onObjRadioChange = (e) => { - try { - e.preventDefault(); - e.stopPropagation(); - this.clearFieldFilter(); - this.setCurrentObjectFilter(this.objRadioOptions.find((o) => o.value === e.target.value)); - this.closeSheet('object-filter-bottom-sheet'); - } catch (error) { - this.handleError(error); - } - }; - - onFieldRadioChange = (e) => { - try { - e.preventDefault(); - e.stopPropagation(); - this.selectedFieldFilter = { - ...this.fieldRadioOptions.find((o) => o.value === e.target.value), - }; - this.selectedFieldFilter.input = this.isFieldTypeBoolean ? false : ''; - this.refreshPicklistOptions(); - this.closeSheet('fields-list-bottom-sheet'); - } catch (error) { - this.handleError(error); - } - }; - - onFieldInputChange = (e) => { - try { - const input = this.isFieldTypeBoolean ? e.target.checked : e.target.value; - this.selectedFieldFilter = { ...this.selectedFieldFilter, input }; - } catch (error) { - this.handleError(error); - } - }; - - // Buttons Handlers - - handleTopFiltersObjClick = () => { - this.openSheet('object-filter-bottom-sheet'); - this.closeSheet('field-filter-bottom-sheet'); - this.closeSheet('fields-list-bottom-sheet'); - }; - - handleTopFiltersFieldClick = () => { - this.selectedFieldFilter = this.currentFieldFilter.field; - this.openSheet('field-filter-bottom-sheet'); - this.closeSheet('object-filter-bottom-sheet'); - }; - - handleFieldComboClick = () => { - this.openSheet('fields-list-bottom-sheet'); - }; - - handleCloseObjFiltersClick = () => { - this.closeSheet('object-filter-bottom-sheet'); - }; - - handleCloseFieldFiltersClick = () => { - this.closeSheet('field-filter-bottom-sheet'); - }; - - handleCloseFieldsListClick = () => { - this.closeSheet('fields-list-bottom-sheet'); - }; - - handleShowResultsClick = () => { - if (this.isFieldTypeBoolean) this.selectedFieldFilter.input = !!this.selectedFieldFilter.input; - this.setCurrentFieldFilter(true, this.selectedFieldFilter); - this.closeSheet('field-filter-bottom-sheet'); - }; - - handleClearClick = () => { - this.clearFieldFilter(); - this.closeSheet('field-filter-bottom-sheet'); - this.closeSheet('fields-list-bottom-sheet'); - }; - - // Helpers - - async refreshPicklistOptions() { - if (this.isFieldTypePicklist) { - const allOptions = await getAllPicklistOptions({ - obj: this.currentObjectFilter.value, - field: this.selectedFieldFilter.value, - }); - this.picklistOptions = [ - { label: '', value: '' }, - ...allOptions.sort((f1, f2) => (f1.label < f2.label ? -1 : 1)), - ]; - } else { - this.picklistOptions = []; - } - } - - clearFieldFilter() { - this.setCurrentFieldFilter(false, { - label: '', - value: '', - type: '', - input: '', - }); - } - - openSheet(sheet) { - const sheetClasses = this.template.querySelector(`.${sheet}`).classList; - sheetClasses.add('pt-page-moveToTop'); - sheetClasses.add('shadow'); - sheetClasses.remove('pt-page-moveFromTop'); - } - - closeSheet(sheet) { - const sheetClasses = this.template.querySelector(`.${sheet}`).classList; - if (Array.from(sheetClasses).includes('pt-page-moveToTop')) { - sheetClasses.add('pt-page-moveFromTop'); - sheetClasses.remove('pt-page-moveToTop'); - } - sheetClasses.remove('shadow'); - this.template.querySelectorAll('.sheet-content').forEach((s) => (s.scrollTop = 0)); - } -} diff --git a/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.js-meta.xml b/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/mobileMap/__tests__/mobileMap.test.js b/FindNearby/force-app/main/default/lwc/mobileMap/__tests__/mobileMap.test.js deleted file mode 100644 index 62a6eda..0000000 --- a/FindNearby/force-app/main/default/lwc/mobileMap/__tests__/mobileMap.test.js +++ /dev/null @@ -1,143 +0,0 @@ -import { createElement } from 'lwc'; -import MobileMap from 'c/mobileMap'; - -let element; - -describe('c-mobile-map', () => { - beforeEach(() => { - element = createElement('c-mobile-map', { - is: MobileMap, - }); - - element.filteredMarkers = [ - { - location: { Latitude: 10, Longitude: 10 }, - value: { titleFieldValue: 'marker title1' }, - }, - { - location: { Latitude: 20, Longitude: 20 }, - value: { titleFieldValue: 'marker title2' }, - }, - { - location: { Latitude: 30, Longitude: 30 }, - value: { titleFieldValue: 'marker title3' }, - }, - ]; - element.currentMarker = element.filteredMarkers[0]; - element.currentMarkerInd = 0; - element.setCurrentMarker = jest.fn(); - element.redirectToMarkerDetails = jest.fn(); - element.routeToMarkerLocation = jest.fn(); - element.handleError = jest.fn(console.log); - - document.body.appendChild(element); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - element = null; - }); - - it('should show map and hide cards on launch', () => { - const map = element.shadowRoot.querySelector('lightning-map'); - const cards = element.shadowRoot.querySelector('.cards'); - - expect(map).not.toBeNull(); - expect(cards).toBeNull(); - }); - - it('should be 2 markers on the map', async () => { - const map = element.shadowRoot.querySelector('lightning-map'); - - return Promise.resolve().then(() => { - expect(map.mapMarkers).toHaveLength(3); - }); - }); - - it('card has correct title', async () => { - element.currentMarkerSet(false); - - return Promise.resolve().then(() => { - const cards = element.shadowRoot.querySelector('.cards'); - expect(cards).not.toBeNull(); - const cardTitle = element.shadowRoot.querySelector('.title-text'); - expect(cardTitle.textContent).toBe('marker title1'); - }); - }); - - it('closes card on x click', async () => { - element.currentMarkerSet(false); - - return Promise.resolve().then(async () => { - const cardClose = element.shadowRoot.querySelector('.x'); - cardClose.click(); - return Promise.resolve().then(() => { - const cards = element.shadowRoot.querySelector('.cards'); - expect(cards).toBeNull(); - }); - }); - }); - - it('closes card when locator clicked', async () => { - element.currentMarkerSet(false); - - return Promise.resolve().then(async () => { - const locator = element.shadowRoot.querySelector('.locator'); - locator.click(); - return Promise.resolve().then(() => { - const cards = element.shadowRoot.querySelector('.cards'); - expect(cards).toBeNull(); - }); - }); - }); - - it('triggers redirectToMarkerDetails when open record clicked', async () => { - element.currentMarkerSet(false); - - return Promise.resolve().then(async () => { - const action = element.shadowRoot.querySelectorAll('.card-primary-button')[0]; - action.click(); - return Promise.resolve().then(() => { - expect(element.redirectToMarkerDetails).toHaveBeenCalled(); - }); - }); - }); - - it('triggers routeToMarkerLocation when get directions clicked', async () => { - element.currentMarkerSet(false); - - return Promise.resolve().then(async () => { - const action = element.shadowRoot.querySelectorAll('.card-primary-button')[1]; - action.click(); - return Promise.resolve().then(() => { - expect(element.routeToMarkerLocation).toHaveBeenCalled(); - }); - }); - }); - - it('moves to previous item when back clicked', async () => { - element.currentMarkerSet(false); - - return Promise.resolve().then(async () => { - const back = element.shadowRoot.querySelectorAll('.card-footer-arrow')[0]; - back.click(); - return Promise.resolve().then(() => { - expect(element.setCurrentMarker).toHaveBeenCalledWith(2); - }); - }); - }); - - it('moves to next item when next clicked', async () => { - element.currentMarkerSet(false); - - return Promise.resolve().then(async () => { - const back = element.shadowRoot.querySelectorAll('.card-footer-arrow')[1]; - back.click(); - return Promise.resolve().then(() => { - expect(element.setCurrentMarker).toHaveBeenCalledWith(1); - }); - }); - }); -}); diff --git a/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.css b/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.css deleted file mode 100644 index 67e00cb..0000000 --- a/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.css +++ /dev/null @@ -1,199 +0,0 @@ -.main-container { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - position: relative; - height: 100%; - width: 100%; -} - -.locator { - display: flex; - justify-content: center; - align-items: center; - height: 48px; - width: 48px; - background-color: white; - border-radius: 100px; - top: 90px; - right: 16px; - position: absolute; - z-index: 1; - box-shadow: 0px 4px rgba(0, 0, 0, 0.25); -} - -lightning-map { - height: 100%; - width: 100%; - padding: 0; - margin: 0; -} - -.buttons { - margin-top: 10px; - margin-left: 0; -} - -/* cards */ - -.cards { - position: absolute; - display: flex; - flex-direction: column; - align-items: center; - justify-content: space-between; - background-color: white; - border: 2px #9FAAB5 solid; - border-radius: 10px; - width: 360px; - top: calc(50% + 10px); - height: fit-content; - box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.16); -} - -.card-top-arrow { - height: 16px; - width: 16px; - background-color: white; - position: absolute; - left: 50%; - top: -1px; - border-left: 2px #9FAAB5 solid; - border-top: 2px #9FAAB5 solid; - transform: translate(-50%, -50%) rotate(45deg); -} - -.card-header { - display: flex; - justify-content: space-between; - width: 100%; - height: 48px; -} - -.card-title { - padding: 16px; - padding-bottom: 16px; - display: flex; - align-items: center; -} - -.title-text { - color: #181818; - font-size: 20px; - font-weight: 500; - margin-left: 8px; -} - -.x { - cursor: pointer; - background: none; - border: none; - padding: 16px; -} - -.x-icon { - --sds-c-icon-color-foreground-default: #0D7FA8; -} - -.card-main { - padding: 16px; - padding-top: 0; - display: flex; - flex-direction: column; - align-items: flex-start; - justify-content: space-between; - width: 100%; - height: fit-content; - text-align: left; -} - -.card-details { - display: flex; - flex-direction: column; - width: 100%; - font-size: 14px; -} - -.card-details-row { - display: flex; - flex-direction: row; - width: 100%; -} - -.first-row { - margin-bottom: 12px; -} - -.card-details-text { - margin-right: 30px; - flex: 1; - color: black; -} - -.card-secondary-title { - color: #444444; - font-size: 14px; -} - -.card-secondary-text { - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; -} - -.card-buttons-container { - display: flex; - flex-direction: row; - justify-content: space-between; - margin-top: 10px; - width: 100%; -} - -.card-buttons-container button { - background: white; - color: #0D7FA8; - border: 1.5px #0D7FA8 solid; - height: 44px; - border-radius: 10px; - padding: 8px 12px; - font-size: 14px; - line-height: 18px; - letter-spacing: 0px; - font-weight: 500; - width: 160px; -} - -.card-primary-button { - margin: 0; -} - -.slds-button__icon { - margin: 0; -} - -.card-footer { - width: 100%; - background: #EEEEEE; - color: #444444; - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - padding: 16px 0; - height: 50px; - border-radius: 0 0 10px 10px; - font-size: 16px; -} - -.card-footer-arrow { - border: none; - background: none; - height: 48px; - width: 48px; -} - -.arrow-icon { - --sds-c-icon-color-foreground-default: #444444; -} \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.html b/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.html deleted file mode 100644 index 35a4ac6..0000000 --- a/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.html +++ /dev/null @@ -1,85 +0,0 @@ - \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.js-meta.xml b/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/__tests__/data/getObjectInfosResponse.json b/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/__tests__/data/getObjectInfosResponse.json deleted file mode 100644 index 201e864..0000000 --- a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/__tests__/data/getObjectInfosResponse.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "results": [ - { - "statusCode": 200, - "result": { - "apiName": "ServiceAppointment", - "associateEntityType": null, - "associateParentEntity": null, - "childRelationships": [ - { - "childObjectApiName": "ActivityHistory", - "fieldName": "WhatId", - "junctionIdListNames": [], - "junctionReferenceTo": [], - "relationshipName": "ActivityHistories" - } - ], - "createable": true, - "custom": false, - "defaultRecordTypeId": "012000000000000AAA", - "deletable": true, - "dependentFields": {}, - "feedEnabled": false, - "fields": { - "AccountId": { - "apiName": "AccountId", - "calculated": false, - "compound": false, - "compoundComponentName": null, - "compoundFieldName": null, - "controllerName": null, - "controllingFields": [], - "createable": false, - "custom": false, - "dataType": "Reference", - "extraTypeInfo": null, - "filterable": true, - "filteredLookupInfo": null, - "highScaleNumber": false, - "htmlFormatted": false, - "inlineHelpText": null, - "label": "Account ID", - "length": 18, - "nameField": false, - "polymorphicForeignKey": false, - "precision": 0, - "reference": true, - "referenceTargetField": null, - "referenceToInfos": [ - { - "apiName": "Account", - "nameFields": ["Name"] - } - ], - "relationshipName": "Account", - "required": false, - "scale": 0, - "searchPrefilterable": true, - "sortable": true, - "unique": false, - "updateable": false - } - }, - "keyPrefix": "08p", - "label": "Service Appointment", - "labelPlural": "Service Appointments", - "layoutable": true, - "mruEnabled": true, - "nameFields": ["AppointmentNumber"], - "queryable": true, - "recordTypeInfos": { - "012000000000000AAA": { - "available": true, - "defaultRecordTypeMapping": true, - "master": true, - "name": "Master", - "recordTypeId": "012000000000000AAA" - } - }, - "searchable": true, - "themeInfo": { - "color": "5867E8", - "iconUrl": "https://inbalorg-dev-ed.develop.my.salesforce.com/img/icon/t4v35/standard/service_appointment_120.png" - }, - "updateable": true - } - }, - { - "statusCode": 200, - "result": { - "apiName": "ServiceResource", - "associateEntityType": null, - "associateParentEntity": null, - "childRelationships": [ - { - "childObjectApiName": "ActivityHistory", - "fieldName": "WhatId", - "junctionIdListNames": [], - "junctionReferenceTo": [], - "relationshipName": "ActivityHistories" - } - ], - "createable": true, - "custom": false, - "defaultRecordTypeId": "012000000000000AAA", - "deletable": false, - "dependentFields": {}, - "feedEnabled": false, - "fields": { - "AccountId": { - "apiName": "AccountId", - "calculated": false, - "compound": false, - "compoundComponentName": null, - "compoundFieldName": null, - "controllerName": null, - "controllingFields": [], - "createable": true, - "custom": false, - "dataType": "Reference", - "extraTypeInfo": null, - "filterable": true, - "filteredLookupInfo": null, - "highScaleNumber": false, - "htmlFormatted": false, - "inlineHelpText": null, - "label": "Account ID", - "length": 18, - "nameField": false, - "polymorphicForeignKey": false, - "precision": 0, - "reference": true, - "referenceTargetField": null, - "referenceToInfos": [ - { - "apiName": "Account", - "nameFields": ["Name"] - } - ], - "relationshipName": "Account", - "required": false, - "scale": 0, - "searchPrefilterable": true, - "sortable": true, - "unique": false, - "updateable": true - } - }, - "keyPrefix": "0Hn", - "label": "Service Resource", - "labelPlural": "Service Resources", - "layoutable": true, - "mruEnabled": true, - "nameFields": ["Name"], - "queryable": true, - "recordTypeInfos": { - "012000000000000AAA": { - "available": true, - "defaultRecordTypeMapping": true, - "master": true, - "name": "Master", - "recordTypeId": "012000000000000AAA" - } - }, - "searchable": true, - "themeInfo": { - "color": "5867E8", - "iconUrl": "https://inbalorg-dev-ed.develop.my.salesforce.com/img/icon/t4v35/standard/service_resource_120.png" - }, - "updateable": true - } - } - ] -} diff --git a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/__tests__/mobileMapLayersMain.test.js b/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/__tests__/mobileMapLayersMain.test.js deleted file mode 100644 index f993564..0000000 --- a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/__tests__/mobileMapLayersMain.test.js +++ /dev/null @@ -1,56 +0,0 @@ -import { createElement } from 'lwc'; -import MobileMapLayersMain from 'c/mobileMapLayersMain'; -import { graphql } from 'lightning/uiGraphQLApi'; -import { getObjectInfos } from 'lightning/uiObjectInfoApi'; - -let element; -const getObjectInfosResponse = require('./data/getObjectInfosResponse.json'); - -describe('c-mobile-map-layers-main', () => { - beforeEach(() => { - element = createElement('c-mobile-map-layers-main', { - is: MobileMapLayersMain, - }); - - document.body.appendChild(element); - - graphql.emit({ - uiapi: { - query: { - ServiceResource: { - edges: [ - { - node: { - Id: '0HnB00000002TLwKAM', - LastKnownLatitude: { - value: 32.4, - }, - LastKnownLongitude: { - value: 34.9, - }, - }, - }, - ], - }, - }, - }, - }); - - getObjectInfos.emit(getObjectInfosResponse); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('should contain all 3 components', () => { - const mapFilters = element.shadowRoot.querySelector('c-map-filters'); - expect(mapFilters).not.toBeNull(); - const mobileMap = element.shadowRoot.querySelector('c-mobile-map'); - expect(mobileMap).not.toBeNull(); - const locationsList = element.shadowRoot.querySelector('c-locations-list'); - expect(locationsList).not.toBeNull(); - }); -}); diff --git a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/config.js b/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/config.js deleted file mode 100644 index b3dd491..0000000 --- a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/config.js +++ /dev/null @@ -1,23 +0,0 @@ -export const config = { - mapObjects: [ - { - value: 'ServiceAppointment', - latField: 'Latitude', - longField: 'Longitude', - titleField: 'AppointmentNumber', - firstDetailField: 'Subject', - secondDetailField: 'Status', - thirdDetailField: 'DurationInMinutes', - }, - { - value: 'ServiceResource', - latField: 'LastKnownLatitude', - longField: 'LastKnownLongitude', - titleField: 'Name', - firstDetailField: 'ResourceType', - secondDetailField: 'IsActive', - thirdDetailField: 'Description', - }, - ], - distanceUnit: 'km', // Preferred distance unit: km or mi -}; diff --git a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.css b/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.css deleted file mode 100644 index daaf336..0000000 --- a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.css +++ /dev/null @@ -1,32 +0,0 @@ -.find-nearby-main-container { - position: relative; - width: 100%; - height: 100vh; - overflow: hidden; - background-color: white; -} - -.page { - position: absolute; - width: 100%; -} - -.filters-container { - position: absolute; - z-index: 3; - width: 100%; -} - -.map-container { - display: inline-block; - height: calc(85% + 70px); - padding: 0; - margin: 0; -} - -.locations-list-container { - z-index: 2; - height: 100%; - width: 100%; - pointer-events: none; -} diff --git a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.html b/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.html deleted file mode 100644 index 299f834..0000000 --- a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.html +++ /dev/null @@ -1,36 +0,0 @@ - \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/objectIcon/__tests__/objectIcon.test.js b/FindNearby/force-app/main/default/lwc/objectIcon/__tests__/objectIcon.test.js deleted file mode 100644 index 6c7abe3..0000000 --- a/FindNearby/force-app/main/default/lwc/objectIcon/__tests__/objectIcon.test.js +++ /dev/null @@ -1,34 +0,0 @@ -import { createElement } from 'lwc'; -import ObjectIcon from 'c/objectIcon'; - -describe('c-object-icon', () => { - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('should produce component with the provided values', () => { - const element = createElement('c-object-icon', { - is: ObjectIcon, - }); - - element.iconUrl = 'https://moble-map-layers-test.com'; - element.color = '#123456'; - document.body.appendChild(element); - - const img = element.shadowRoot.querySelector('img'); - expect(img.src).toBe('https://moble-map-layers-test.com/'); - }); - - it('should produce component with the default icon', () => { - const element = createElement('c-object-icon', { - is: ObjectIcon, - }); - - document.body.appendChild(element); - - const icon = element.shadowRoot.querySelector('lightning-icon'); - expect(icon.iconName).toBe('standard:address'); - }); -}); diff --git a/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.css b/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.css deleted file mode 100644 index 5330e40..0000000 --- a/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.css +++ /dev/null @@ -1,10 +0,0 @@ -.lightning-icon-container { - display: flex; - align-items: flex-start; -} - -.icon { - height: 24px; - width: 24px; - border-radius: 4px; -} \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.html b/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.html deleted file mode 100644 index e51c4fb..0000000 --- a/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.html +++ /dev/null @@ -1,10 +0,0 @@ - \ No newline at end of file diff --git a/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.js-meta.xml b/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FindNearby/force-app/test/jest-mocks/lightning/modal.js b/FindNearby/force-app/test/jest-mocks/lightning/modal.js deleted file mode 100644 index ee04736..0000000 --- a/FindNearby/force-app/test/jest-mocks/lightning/modal.js +++ /dev/null @@ -1,5 +0,0 @@ -import { LightningElement, api } from 'lwc'; - -export default class LightningModal extends LightningElement { - @api close; -} diff --git a/FindNearby/force-app/test/jest-mocks/lightning/modalBody.html b/FindNearby/force-app/test/jest-mocks/lightning/modalBody.html deleted file mode 100644 index 705085b..0000000 --- a/FindNearby/force-app/test/jest-mocks/lightning/modalBody.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/FindNearby/force-app/test/jest-mocks/lightning/modalBody.js b/FindNearby/force-app/test/jest-mocks/lightning/modalBody.js deleted file mode 100644 index 2ef978f..0000000 --- a/FindNearby/force-app/test/jest-mocks/lightning/modalBody.js +++ /dev/null @@ -1,3 +0,0 @@ -import { LightningElement } from 'lwc'; - -export default class ModalBody extends LightningElement {} diff --git a/FindNearby/force-app/test/jest-mocks/lightning/modalFooter.html b/FindNearby/force-app/test/jest-mocks/lightning/modalFooter.html deleted file mode 100644 index 705085b..0000000 --- a/FindNearby/force-app/test/jest-mocks/lightning/modalFooter.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/FindNearby/force-app/test/jest-mocks/lightning/modalFooter.js b/FindNearby/force-app/test/jest-mocks/lightning/modalFooter.js deleted file mode 100644 index c4a4708..0000000 --- a/FindNearby/force-app/test/jest-mocks/lightning/modalFooter.js +++ /dev/null @@ -1,3 +0,0 @@ -import { LightningElement } from 'lwc'; - -export default class ModalFooter extends LightningElement {} diff --git a/FindNearby/force-app/test/jest-mocks/lightning/modalHeader.html b/FindNearby/force-app/test/jest-mocks/lightning/modalHeader.html deleted file mode 100644 index 705085b..0000000 --- a/FindNearby/force-app/test/jest-mocks/lightning/modalHeader.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/FindNearby/force-app/test/jest-mocks/lightning/modalHeader.js b/FindNearby/force-app/test/jest-mocks/lightning/modalHeader.js deleted file mode 100644 index 2268506..0000000 --- a/FindNearby/force-app/test/jest-mocks/lightning/modalHeader.js +++ /dev/null @@ -1,5 +0,0 @@ -import { LightningElement, api } from 'lwc'; - -export default class ModalHeader extends LightningElement { - @api label; -} diff --git a/FindNearby/force-app/test/jest-mocks/lightning/uiGraphQLApi.js b/FindNearby/force-app/test/jest-mocks/lightning/uiGraphQLApi.js deleted file mode 100644 index 7d115f3..0000000 --- a/FindNearby/force-app/test/jest-mocks/lightning/uiGraphQLApi.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2023, salesforce.com, inc. - * All rights reserved. - * SPDX-License-Identifier: MIT - * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT - */ -import { createTestWireAdapter } from '@salesforce/wire-service-jest-util'; - -export class graphql extends createTestWireAdapter() { - static emit(value, filterFn) { - super.emit({ data: value, errors: undefined }, filterFn); - } - - static emitErrors(errors, filterFn) { - super.emit({ data: undefined, errors }, filterFn); - } - - constructor(dataCallback) { - super(dataCallback); - - graphql.emit({ data: undefined, errors: undefined }); - } -} - -export const gql = jest.fn(); -export const refreshGraphQL = jest.fn(); diff --git a/FindNearby/jest.config.js b/FindNearby/jest.config.js deleted file mode 100644 index 1cf5545..0000000 --- a/FindNearby/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const { jestConfig } = require('@salesforce/sfdx-lwc-jest/config'); - -module.exports = { - ...jestConfig, - modulePathIgnorePatterns: ['/.localdevserver'], - moduleNameMapper: { - '^lightning/modal$': '/force-app/test/jest-mocks/lightning/modal', - '^lightning/modalBody$': '/force-app/test/jest-mocks/lightning/modalBody', - '^lightning/modalFooter$': '/force-app/test/jest-mocks/lightning/modalFooter', - '^lightning/modalHeader$': '/force-app/test/jest-mocks/lightning/modalHeader', - '^lightning/uiGraphQLApi$': '/force-app/test/jest-mocks/lightning/uiGraphQLApi', - }, -}; diff --git a/FindNearby/package-lock.json b/FindNearby/package-lock.json deleted file mode 100644 index 6f54bb3..0000000 --- a/FindNearby/package-lock.json +++ /dev/null @@ -1,13512 +0,0 @@ -{ - "name": "salesforce-app", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "salesforce-app", - "version": "1.0.0", - "devDependencies": { - "@lwc/eslint-plugin-lwc": "^1.1.2", - "@prettier/plugin-xml": "^2.0.1", - "@salesforce/eslint-config-lwc": "^3.2.3", - "@salesforce/eslint-plugin-aura": "^2.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "@salesforce/sfdx-lwc-jest": "^1.1.3", - "eslint-plugin-import": "^2.25.4", - "eslint-plugin-jest": "^26.1.2", - "husky": "^8.0.2", - "lint-staged": "^13.1.0", - "prettier": "^2.8.2", - "prettier-plugin-apex": "^1.13.0" - }, - "engines": { - "node": ">=16.13.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "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/@babel/code-frame/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/@babel/code-frame/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/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/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/@babel/compat-data": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", - "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz", - "integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.13", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.13", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.13", - "@babel/types": "^7.18.13", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/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/@babel/eslint-parser": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.9.tgz", - "integrity": "sha512-KzSGpMBggz4fKbRbWLNyPVTuQr6cmCcBhOyXTw/fieOVaw5oYAwcAj4a7UKcDYCPxQq+CG1NCDZH9e2JTXquiQ==", - "dev": true, - "dependencies": { - "eslint-scope": "^5.1.1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/@babel/eslint-parser/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/@babel/eslint-parser/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/@babel/eslint-parser/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/@babel/eslint-parser/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/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.20.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/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/@babel/helper-create-class-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", - "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", - "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", - "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "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/@babel/highlight/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/@babel/highlight/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/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/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/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@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-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "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-decorators": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", - "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "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-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-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.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-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.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", - "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-simple-access": "^7.19.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", - "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz", - "integrity": "sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.20.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "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/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", - "dev": true, - "peer": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.3.2", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc/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, - "peer": 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/@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, - "peer": true - }, - "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, - "peer": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/eslintrc/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, - "peer": true - }, - "node_modules/@eslint/eslintrc/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, - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", - "dev": true, - "peer": 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, - "peer": 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/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/@istanbuljs/load-nyc-config/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/@istanbuljs/load-nyc-config/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/@istanbuljs/load-nyc-config/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/@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": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", - "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", - "dev": true, - "dependencies": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/core": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", - "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", - "dev": true, - "dependencies": { - "@jest/console": "^29.3.1", - "@jest/reporters": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.2.0", - "jest-config": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-resolve-dependencies": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "jest-watcher": "^29.3.1", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "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 - } - } - }, - "node_modules/@jest/environment": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", - "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-mock": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", - "dev": true, - "dependencies": { - "expect": "^29.3.1", - "jest-snapshot": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", - "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.2.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", - "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", - "dev": true, - "dependencies": { - "@jest/types": "^29.3.1", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", - "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/types": "^29.3.1", - "jest-mock": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", - "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "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 - } - } - }, - "node_modules/@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", - "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", - "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", - "dev": true, - "dependencies": { - "@jest/console": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", - "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.3.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", - "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.3.1", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/@jest/types": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", - "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.0.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@lwc/babel-plugin-component": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/babel-plugin-component/-/babel-plugin-component-2.23.2.tgz", - "integrity": "sha512-hO5PKvq8jD5uYHDnOBnRhwNDHlPtUEXVL4VN8eGfXQJNue51mrLwQGCACs5Mme+X2aY302nsyGFiZMuS5Y28Tw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "~7.18.6", - "@lwc/errors": "2.23.2", - "@lwc/shared": "2.23.2", - "line-column": "~1.0.2" - }, - "peerDependencies": { - "@babel/core": "^7" - } - }, - "node_modules/@lwc/compiler": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/compiler/-/compiler-2.23.2.tgz", - "integrity": "sha512-Myj24zhdgJZ6mM95/qEZFkV5Qv2P5Ujd7EKlOmCg1WLmY29O2hHkzrtlLz3+xPo3JmYtCbvbGxsDU1Gr/fL4Cw==", - "dev": true, - "dependencies": { - "@babel/core": "~7.18.13", - "@babel/plugin-proposal-class-properties": "~7.18.6", - "@babel/plugin-proposal-object-rest-spread": "~7.18.9", - "@lwc/babel-plugin-component": "2.23.2", - "@lwc/errors": "2.23.2", - "@lwc/shared": "2.23.2", - "@lwc/style-compiler": "2.23.2", - "@lwc/template-compiler": "2.23.2" - } - }, - "node_modules/@lwc/engine-dom": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/engine-dom/-/engine-dom-2.23.2.tgz", - "integrity": "sha512-XEfn3boHv7RLWevOMwKawxFCrs9btbvyi5XaFsclwkrqEBZa+k5px5vyYEsCJozrvz2ddHkhcuZpG7jITPwNKQ==", - "dev": true - }, - "node_modules/@lwc/engine-server": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/@lwc/engine-server/-/engine-server-2.32.0.tgz", - "integrity": "sha512-mzdDH9Xlbv5280u3OyamSAmGjW0BH+/fP3yD3FYVKhkR0yhzWeum//bo8c2yPnlXHYfnTYLJfJN5Rx9Kf0zasg==", - "dev": true, - "peer": true - }, - "node_modules/@lwc/errors": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/errors/-/errors-2.23.2.tgz", - "integrity": "sha512-rgqdd6aQja4T8ysmt2L1o9Aq+VWCtifcJv1FB/hNs1g2KloxZyZkHtK6Y+Tr4IXdgiH5LaT0L3tiQA3X4vssoQ==", - "dev": true - }, - "node_modules/@lwc/eslint-plugin-lwc": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@lwc/eslint-plugin-lwc/-/eslint-plugin-lwc-1.5.0.tgz", - "integrity": "sha512-LiJujIbI87Eoe+iszTXEDxudhGCLsHeNArjb9kqxKotcggqYllVwtBCS2yswyhJ39uSH4BCkeSiXmSrMcs7Jow==", - "dev": true, - "dependencies": { - "minimatch": "^5.1.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "@babel/eslint-parser": "^7", - "eslint": "^7 || ^8" - } - }, - "node_modules/@lwc/eslint-plugin-lwc/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@lwc/eslint-plugin-lwc/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lwc/jest-preset": { - "version": "11.5.3", - "resolved": "https://registry.npmjs.org/@lwc/jest-preset/-/jest-preset-11.5.3.tgz", - "integrity": "sha512-5Pz33lSbHvYCXm1LiR9Zl+KAKo3pvvrEJvg692SsJZ/3D6V04LJe4Ft0AALvVr5GznPQUPOubcvTU+aJS/0xdQ==", - "dev": true, - "dependencies": { - "@lwc/jest-resolver": "11.5.3", - "@lwc/jest-serializer": "11.5.3", - "@lwc/jest-transformer": "11.5.3" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@lwc/compiler": "*", - "@lwc/engine-dom": "*", - "@lwc/engine-server": ">=2", - "@lwc/synthetic-shadow": "*", - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-resolver": { - "version": "11.5.3", - "resolved": "https://registry.npmjs.org/@lwc/jest-resolver/-/jest-resolver-11.5.3.tgz", - "integrity": "sha512-rII7woNGft7MpCttMK0BO3Z0q/rR50fPupHJYsrIMCR6segNHte9XR9JVcU205l8E+qhmfk9il6i7W+AMakTOg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-serializer": { - "version": "11.5.3", - "resolved": "https://registry.npmjs.org/@lwc/jest-serializer/-/jest-serializer-11.5.3.tgz", - "integrity": "sha512-k5Y/UoBFcrTZC5e8uHdTNdScGQ1aOfr/DwN9oZXm8/AE1Tu1ZStxHmK9Sh8iMuiUh+yi8MBhg9Z/U2HEdHcV9Q==", - "dev": true, - "dependencies": { - "pretty-format": "^29.0.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-transformer": { - "version": "11.5.3", - "resolved": "https://registry.npmjs.org/@lwc/jest-transformer/-/jest-transformer-11.5.3.tgz", - "integrity": "sha512-WCdKrR+Z6jB7LF+oUUouGcW2w8zplxGMdDfoxIfVM4cJHE9HDANpR6vxwQTDsEXuwMWe1Ytcy6R8Ax81Y0bUGQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.18.13", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-decorators": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "babel-preset-jest": "^29.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@lwc/compiler": "*", - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/module-resolver": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/module-resolver/-/module-resolver-2.23.2.tgz", - "integrity": "sha512-/0EGjzHIgEBu6Ot+wZpb3pzyP/qLIyCVGKQq0D1alFnBo3dCFVGMA1w0gCGRNn0TElq8fMukUcjr7ST7F/laUg==", - "dev": true, - "dependencies": { - "resolve": "~1.22.1" - } - }, - "node_modules/@lwc/module-resolver/node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/@lwc/shared": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/shared/-/shared-2.23.2.tgz", - "integrity": "sha512-LgPs0RTaNRs382/+G1UpDDfh4F4NDiXhIFvUOJhtastciBJndXKdEN27aFdAVxrs+yCt9fCM5wgKVhyZSiGBrQ==", - "dev": true - }, - "node_modules/@lwc/style-compiler": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/style-compiler/-/style-compiler-2.23.2.tgz", - "integrity": "sha512-cNKn18CRzv1IXDQ+tboUGB/VU8ubmnZ3kpGDyPk1VBUWaUdU9HhSXsl+4z/l8UdvNEEYnR3XqQYVsEnpMFO20w==", - "dev": true, - "dependencies": { - "@lwc/shared": "2.23.2", - "postcss": "~8.4.16", - "postcss-selector-parser": "~6.0.9", - "postcss-value-parser": "~4.2.0", - "string.prototype.matchall": "^4.0.7" - } - }, - "node_modules/@lwc/synthetic-shadow": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/synthetic-shadow/-/synthetic-shadow-2.23.2.tgz", - "integrity": "sha512-AJk5PFvNtNWHaVVQ4ePlr8+301SmekSF5fd+MifvT3p8sgNCmE7ZlCIsUkgD2qLu/xXLum4451BWBMPgC75r1Q==", - "dev": true - }, - "node_modules/@lwc/template-compiler": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/template-compiler/-/template-compiler-2.23.2.tgz", - "integrity": "sha512-on6kRYprRfgKxXUDZNBjvLqp5WFQAOV6HTBx6PqW5j0s18Bz0qlF5w2VAv/2ZSfUtzK9544OC3wku4LZP43B2g==", - "dev": true, - "dependencies": { - "@lwc/errors": "2.23.2", - "@lwc/shared": "2.23.2", - "acorn": "~8.8.0", - "astring": "~1.8.3", - "estree-walker": "~2.0.2", - "he": "~1.2.0", - "parse5": "~6.0.1" - } - }, - "node_modules/@lwc/template-compiler/node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/@lwc/wire-service": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/wire-service/-/wire-service-2.23.2.tgz", - "integrity": "sha512-by+Uo6mseygZUUv7fdlcjU8FwsXKPvfZOMEf1PXP/iYdhSYAechV4LnrAYgGoGwduRr97860PBw6tp2Bb74FQw==", - "dev": true - }, - "node_modules/@mdn/browser-compat-data": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz", - "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==", - "dev": true - }, - "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/@prettier/plugin-xml": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@prettier/plugin-xml/-/plugin-xml-2.2.0.tgz", - "integrity": "sha512-UWRmygBsyj4bVXvDiqSccwT1kmsorcwQwaIy30yVh8T+Gspx4OlC0shX1y+ZuwXZvgnafmpRYKks0bAu9urJew==", - "dev": true, - "dependencies": { - "@xml-tools/parser": "^1.0.11", - "prettier": ">=2.4.0" - } - }, - "node_modules/@salesforce/eslint-config-lwc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@salesforce/eslint-config-lwc/-/eslint-config-lwc-3.3.3.tgz", - "integrity": "sha512-AZyBta7Y9N2IcJ4LbmIXSQzUoPoZ2cvoi75mqS+9QgUJfB7Il/vRj6NlflSOG14gkA4dmxoT7R6siGj2AYQ+PQ==", - "dev": true, - "dependencies": { - "@babel/core": "~7.18.5", - "@babel/eslint-parser": "~7.18.2", - "eslint-restricted-globals": "~0.2.0", - "semver": "^7.3.7" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "@lwc/eslint-plugin-lwc": "^1.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "eslint": "^7 || ^8", - "eslint-plugin-import": "*", - "eslint-plugin-jest": "*" - } - }, - "node_modules/@salesforce/eslint-plugin-aura": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@salesforce/eslint-plugin-aura/-/eslint-plugin-aura-2.1.0.tgz", - "integrity": "sha512-7HfwSBKTHQZQboLoEhkBY7bYR9wTaT+G5jHXGlq8y31hEnNhJXRZ+RERDEwDm1jYa2SV9lE8nMNr0/8EKIGjlQ==", - "dev": true, - "dependencies": { - "eslint-plugin-compat": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": "^7 || ^8" - } - }, - "node_modules/@salesforce/eslint-plugin-lightning": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@salesforce/eslint-plugin-lightning/-/eslint-plugin-lightning-1.0.0.tgz", - "integrity": "sha512-zk0PKXAcHKHepAG2EOSWlkOTxQM0Aw1CT6+MUxJcM42fCDwH/yPPpGkG3CWtRfmVViODGOwU9ywU2wlkAYcvUQ==", - "dev": true, - "peerDependencies": { - "eslint": "^7 || ^8" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@salesforce/sfdx-lwc-jest/-/sfdx-lwc-jest-1.1.3.tgz", - "integrity": "sha512-5UCnYC299rI+S7+ES87ZhpcycwnYXmpSy3TpMX+mbgFqrWnMJ62MRNssx2sb+VBQ7/j3T/s/pVlkJyRfZN5Kww==", - "dev": true, - "dependencies": { - "@lwc/compiler": "2.23.2", - "@lwc/engine-dom": "2.23.2", - "@lwc/jest-preset": "^11.5.0", - "@lwc/jest-resolver": "^11.5.0", - "@lwc/jest-serializer": "^11.5.0", - "@lwc/jest-transformer": "^11.5.0", - "@lwc/module-resolver": "2.23.2", - "@lwc/synthetic-shadow": "2.23.2", - "@lwc/wire-service": "2.23.2", - "@salesforce/wire-service-jest-util": "4.0.0", - "chalk": "^4.1.2", - "fast-glob": "^3.2.10", - "jest": "^29.0.1", - "jest-environment-jsdom": "^29.0.1", - "yargs": "~17.5.1" - }, - "bin": { - "lwc-jest": "bin/sfdx-lwc-jest", - "sfdx-lwc-jest": "bin/sfdx-lwc-jest" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest/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/@salesforce/sfdx-lwc-jest/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/@salesforce/sfdx-lwc-jest/node_modules/yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", - "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.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@salesforce/wire-service-jest-util": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@salesforce/wire-service-jest-util/-/wire-service-jest-util-4.0.0.tgz", - "integrity": "sha512-YJO/bMq5l6IYIZG6bAqYzzbmZMPCzB2GE2TKGLA1U7B9HpmNHZS7DdDcy154P03dfLSgF+tgVYeklh2HRYGk9g==", - "dev": true, - "peerDependencies": { - "@lwc/engine-dom": "^2.0.0" - } - }, - "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz", - "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.1.20", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", - "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", - "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.18.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", - "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "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/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/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" - } - }, - "node_modules/@types/jsdom/node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "17.0.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.41.tgz", - "integrity": "sha512-xA6drNNeqb5YyV5fO3OAEsnXLfO7uF0whiOfPTz5AeDo8KeZFmODKnvwPymMNO8qE/an8pVY/O50tig2SQCrGw==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", - "dev": true - }, - "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/tough-cookie": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "17.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.14.tgz", - "integrity": "sha512-9Pj7abXoW1RSTcZaL2Hk6G2XyLMlp5ECdVC/Zf2p/KBjC3srijLGgRAXOBjtFrJoIrvxdTKyKDA14bEcbxBaWw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.44.0.tgz", - "integrity": "sha512-2pKml57KusI0LAhgLKae9kwWeITZ7IsZs77YxyNyIVOwQ1kToyXRaJLl+uDEXzMN5hnobKUOo2gKntK9H1YL8g==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.44.0", - "@typescript-eslint/visitor-keys": "5.44.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/types": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.44.0.tgz", - "integrity": "sha512-Tp+zDnHmGk4qKR1l+Y1rBvpjpm5tGXX339eAlRBDg+kgZkz9Bw+pqi4dyseOZMsGuSH69fYfPJCBKBrbPCxYFQ==", - "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.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.44.0.tgz", - "integrity": "sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.44.0", - "@typescript-eslint/visitor-keys": "5.44.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.44.0.tgz", - "integrity": "sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.44.0", - "@typescript-eslint/types": "5.44.0", - "@typescript-eslint/typescript-estree": "5.44.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", - "dev": true - }, - "node_modules/@typescript-eslint/utils/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/@typescript-eslint/utils/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/@typescript-eslint/visitor-keys": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.44.0.tgz", - "integrity": "sha512-a48tLG8/4m62gPFbJ27FxwCOqPKxsb8KC3HkmYoq2As/4YyjQl1jDbRr1s63+g4FS/iIehjmN3L5UjmKva1HzQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.44.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@xml-tools/parser": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@xml-tools/parser/-/parser-1.0.11.tgz", - "integrity": "sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA==", - "dev": true, - "dependencies": { - "chevrotain": "7.1.1" - } - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dev": true, - "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "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, - "peer": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "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/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-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "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/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "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-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-metadata-inferer": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz", - "integrity": "sha512-OkMLzd8xelb3gmnp6ToFvvsHLtS6CbagTkFQvQ+ZYFe3/AIl9iKikNR9G7pY3GfOR/2Xc222hwBjzI7HLkE76Q==", - "dev": true, - "dependencies": { - "@mdn/browser-compat-data": "^3.3.14" - } - }, - "node_modules/ast-metadata-inferer/node_modules/@mdn/browser-compat-data": { - "version": "3.3.14", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz", - "integrity": "sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==", - "dev": true - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/astring": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.3.tgz", - "integrity": "sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==", - "dev": true, - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/babel-jest": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", - "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.3.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.2.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.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": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", - "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.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": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", - "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^29.2.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.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/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/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "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-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/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/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-lite": { - "version": "1.0.30001434", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", - "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "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/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/chevrotain": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-7.1.1.tgz", - "integrity": "sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw==", - "dev": true, - "dependencies": { - "regexp-to-ast": "0.5.0" - } - }, - "node_modules/ci-info": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", - "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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-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/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-truncate": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", - "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", - "dev": true, - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "6.0.1", - "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/cli-truncate/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.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/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "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": "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/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/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "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/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/core-js": { - "version": "3.22.8", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.8.tgz", - "integrity": "sha512-UoGQ/cfzGYIuiq6Z7vWL1HfkE9U9IZ4Ub+0XSiJTCzvbZzgPA69oDF2f+lgJ6dFFLEdjW5O6svvoKzXX23xFkA==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "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/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/cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "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": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/data-urls/node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/data-urls/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", - "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==", - "dev": true - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "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/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "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/diff-sequences": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", - "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.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/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "peer": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, - "dependencies": { - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "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/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", - "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", - "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", - "dev": true, - "peer": true, - "dependencies": { - "@eslint/eslintrc": "^1.3.0", - "@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.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", - "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.15.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.1.2", - "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-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - } - }, - "node_modules/eslint-import-resolver-node/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/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/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/eslint-plugin-compat": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.0.2.tgz", - "integrity": "sha512-xqvoO54CLTVaEYGMzhu35Wzwk/As7rCvz/2dqwnFiWi0OJccEtGIn+5qq3zqIu9nboXlpdBN579fZcItC73Ycg==", - "dev": true, - "dependencies": { - "@mdn/browser-compat-data": "^4.1.5", - "ast-metadata-inferer": "^0.7.0", - "browserslist": "^4.16.8", - "caniuse-lite": "^1.0.30001304", - "core-js": "^3.16.2", - "find-up": "^5.0.0", - "lodash.memoize": "4.1.2", - "semver": "7.3.5" - }, - "engines": { - "node": ">=9.x" - }, - "peerDependencies": { - "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-compat/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/eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/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/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/eslint-plugin-jest": { - "version": "26.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", - "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "^5.10.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^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-restricted-globals": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.2.0.tgz", - "integrity": "sha512-kwYJALm5KS2QW3Mc1PgObO4V+pTR6RQtRT65L1GQILlEnAhabUQqGAX7/qUjoQR4KZJKehWpBtyDEiDecwmY9A==", - "dev": true - }, - "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint-scope/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, - "peer": true, - "engines": { - "node": ">=4.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-utils/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-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/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, - "peer": 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/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, - "peer": true - }, - "node_modules/eslint/node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "peer": true - }, - "node_modules/eslint/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, - "peer": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "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, - "peer": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eslint/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, - "peer": true - }, - "node_modules/eslint/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, - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "peer": 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/eslint/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, - "peer": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint/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, - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/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, - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", - "dev": true, - "peer": true, - "dependencies": { - "acorn": "^8.7.1", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - }, - "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, - "peer": 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, - "peer": 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/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "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/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": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", - "dev": true, - "dependencies": { - "@jest/expect-utils": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "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, - "peer": 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-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/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/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "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, - "peer": 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/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "peer": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-cache/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, - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true, - "peer": true - }, - "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "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/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true, - "peer": true - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "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/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "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/globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", - "dev": true, - "peer": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", - "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, - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "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-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "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/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "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/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "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": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", - "dev": true, - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, - "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, - "peer": 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": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "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": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "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/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "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-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "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-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "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-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "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-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "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.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "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-instrument/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/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-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-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", - "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", - "dev": true, - "dependencies": { - "@jest/core": "^29.3.1", - "@jest/types": "^29.3.1", - "import-local": "^3.0.2", - "jest-cli": "^29.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "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 - } - } - }, - "node_modules/jest-changed-files": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", - "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", - "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "p-limit": "^3.1.0", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-config": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", - "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.3.1", - "@jest/types": "^29.3.1", - "babel-jest": "^29.3.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.3.1", - "jest-environment-node": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "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 - } - } - }, - "node_modules/jest-config/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-config/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/jest-diff": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", - "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", - "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", - "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.3.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "jest-util": "^29.3.1", - "pretty-format": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.3.1.tgz", - "integrity": "sha512-G46nKgiez2Gy4zvYNhayfMEAFlVHhWfncqvqS6yCd0i+a4NsSUD2WtrKSaYQrYiLQaupHXxCRi8xxVL2M9PbhA==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1", - "jsdom": "^20.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jest-environment-node": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", - "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", - "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", - "dev": true, - "dependencies": { - "@jest/types": "^29.3.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", - "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", - "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", - "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.3.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-mock": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", - "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-util": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", - "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", - "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", - "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", - "dev": true, - "dependencies": { - "jest-regex-util": "^29.2.0", - "jest-snapshot": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", - "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", - "dev": true, - "dependencies": { - "@jest/console": "^29.3.1", - "@jest/environment": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.2.0", - "jest-environment-node": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-leak-detector": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-resolve": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-util": "^29.3.1", - "jest-watcher": "^29.3.1", - "jest-worker": "^29.3.1", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", - "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/globals": "^29.3.1", - "@jest/source-map": "^29.2.0", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime/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/jest-snapshot": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", - "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.3.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-haste-map": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "natural-compare": "^1.4.0", - "pretty-format": "^29.3.1", - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", - "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", - "dev": true, - "dependencies": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", - "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", - "dev": true, - "dependencies": { - "@jest/types": "^29.3.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "leven": "^3.1.0", - "pretty-format": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "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-watcher": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", - "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.3.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", - "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.3.1", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "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/jest/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/jest/node_modules/jest-cli": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", - "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", - "dev": true, - "dependencies": { - "@jest/core": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "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 - } - } - }, - "node_modules/jest/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/jest/node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/jest/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "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": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", - "parse5": "^7.1.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/jsdom/node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/jsdom/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/jsdom/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/jsdom/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/jsdom/node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/jsdom/node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/jsdom/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/jsdom/node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "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-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "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": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "peer": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "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.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/line-column": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/line-column/-/line-column-1.0.2.tgz", - "integrity": "sha512-Ktrjk5noGYlHsVnYWh62FLVs4hTb8A3e+vucNZMgPeAOITdshMSgv4cCZQeRDjm7+goqmo6+liZwTXo+U3sVww==", - "dev": true, - "dependencies": { - "isarray": "^1.0.0", - "isobject": "^2.0.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/lint-staged": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.1.0.tgz", - "integrity": "sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==", - "dev": true, - "dependencies": { - "cli-truncate": "^3.1.0", - "colorette": "^2.0.19", - "commander": "^9.4.1", - "debug": "^4.3.4", - "execa": "^6.1.0", - "lilconfig": "2.0.6", - "listr2": "^5.0.5", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-inspect": "^1.12.2", - "pidtree": "^0.6.0", - "string-argv": "^0.3.1", - "yaml": "^2.1.3" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" - } - }, - "node_modules/lint-staged/node_modules/commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", - "dev": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/lint-staged/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", - "dev": true, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/lint-staged/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/listr2": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.7.tgz", - "integrity": "sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw==", - "dev": true, - "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.19", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.8.0", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } - } - }, - "node_modules/listr2/node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/listr2/node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "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, - "peer": true - }, - "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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/make-dir/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/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/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/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.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/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "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": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "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/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/nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", - "dev": true - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true, - "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.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "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/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/optionator/node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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-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/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, - "peer": 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/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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "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-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/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "dev": true, - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "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/pkg-dir/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/pkg-dir/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/pkg-dir/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/pkg-dir/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/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "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.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz", - "integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-plugin-apex": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/prettier-plugin-apex/-/prettier-plugin-apex-1.13.0.tgz", - "integrity": "sha512-QeGHrNOR6EXoH0Mto385FDrRC+XSCc/8zvtqNvhEaFovEMC7InDp2Mn5WxjJzQUdgtUYoXL+NYcSm3nxMqsymQ==", - "dev": true, - "dependencies": { - "axios": "^1.0.0", - "jest-docblock": "^29.0.0", - "wait-on": "^7.0.0", - "yargs": "^17.0.0" - }, - "bin": { - "apex-ast-serializer": "vendor/apex-ast-serializer/bin/apex-ast-serializer", - "apex-ast-serializer-http": "vendor/apex-ast-serializer/bin/apex-ast-serializer-http", - "start-apex-server": "dist/bin/start-apex-server.js", - "stop-apex-server": "dist/bin/stop-apex-server.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "peerDependencies": { - "prettier": "^2.0.0" - } - }, - "node_modules/prettier-plugin-apex/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/prettier-plugin-apex/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/prettier-plugin-apex/node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/prettier-plugin-apex/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/pretty-format": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", - "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.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/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-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "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/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "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/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/regexp-to-ast": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", - "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==", - "dev": true - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, - "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, - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "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": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.8.1", - "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, - "peer": 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/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "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/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "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/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, - "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "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/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "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/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/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.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "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/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "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/string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "dev": true, - "engines": { - "node": ">=0.6.19" - } - }, - "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/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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/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/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/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, - "peer": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "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": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "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/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "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.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/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/typescript": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", - "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", - "dev": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "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, - "peer": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.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/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, - "peer": true - }, - "node_modules/v8-to-istanbul": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", - "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", - "dev": true, - "dependencies": { - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/wait-on": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", - "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", - "dev": true, - "dependencies": { - "axios": "^1.6.1", - "joi": "^17.11.0", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.1" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "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/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "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/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", - "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/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": "4.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", - "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" - } - }, - "node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "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/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "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/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": "2.2.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", - "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/compat-data": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", - "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", - "dev": true - }, - "@babel/core": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz", - "integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.13", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.13", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.13", - "@babel/types": "^7.18.13", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/eslint-parser": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.9.tgz", - "integrity": "sha512-KzSGpMBggz4fKbRbWLNyPVTuQr6cmCcBhOyXTw/fieOVaw5oYAwcAj4a7UKcDYCPxQq+CG1NCDZH9e2JTXquiQ==", - "dev": true, - "requires": { - "eslint-scope": "^5.1.1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "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-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 - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", - "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", - "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dev": true, - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", - "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" - } - }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" - } - }, - "@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-decorators": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", - "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@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-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-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@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-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.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", - "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-simple-access": "^7.19.4" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", - "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz", - "integrity": "sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - } - }, - "@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - } - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "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 - } - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "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 - }, - "@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", - "dev": true, - "peer": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.3.2", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "peer": 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" - } - }, - "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, - "peer": 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, - "peer": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "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, - "peer": 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, - "peer": true - } - } - }, - "@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", - "dev": true, - "peer": 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, - "peer": 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": { - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", - "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", - "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", - "dev": true, - "requires": { - "@jest/console": "^29.3.1", - "@jest/reporters": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.2.0", - "jest-config": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-resolve-dependencies": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "jest-watcher": "^29.3.1", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "@jest/environment": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", - "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-mock": "^29.3.1" - } - }, - "@jest/expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", - "dev": true, - "requires": { - "expect": "^29.3.1", - "jest-snapshot": "^29.3.1" - } - }, - "@jest/expect-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", - "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", - "dev": true, - "requires": { - "jest-get-type": "^29.2.0" - } - }, - "@jest/fake-timers": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", - "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" - } - }, - "@jest/globals": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", - "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", - "dev": true, - "requires": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/types": "^29.3.1", - "jest-mock": "^29.3.1" - } - }, - "@jest/reporters": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", - "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - } - }, - "@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", - "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", - "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", - "dev": true, - "requires": { - "@jest/console": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", - "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", - "dev": true, - "requires": { - "@jest/test-result": "^29.3.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", - "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.3.1", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - }, - "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - } - } - }, - "@jest/types": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", - "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", - "dev": true, - "requires": { - "@jest/schemas": "^29.0.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@lwc/babel-plugin-component": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/babel-plugin-component/-/babel-plugin-component-2.23.2.tgz", - "integrity": "sha512-hO5PKvq8jD5uYHDnOBnRhwNDHlPtUEXVL4VN8eGfXQJNue51mrLwQGCACs5Mme+X2aY302nsyGFiZMuS5Y28Tw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "~7.18.6", - "@lwc/errors": "2.23.2", - "@lwc/shared": "2.23.2", - "line-column": "~1.0.2" - } - }, - "@lwc/compiler": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/compiler/-/compiler-2.23.2.tgz", - "integrity": "sha512-Myj24zhdgJZ6mM95/qEZFkV5Qv2P5Ujd7EKlOmCg1WLmY29O2hHkzrtlLz3+xPo3JmYtCbvbGxsDU1Gr/fL4Cw==", - "dev": true, - "requires": { - "@babel/core": "~7.18.13", - "@babel/plugin-proposal-class-properties": "~7.18.6", - "@babel/plugin-proposal-object-rest-spread": "~7.18.9", - "@lwc/babel-plugin-component": "2.23.2", - "@lwc/errors": "2.23.2", - "@lwc/shared": "2.23.2", - "@lwc/style-compiler": "2.23.2", - "@lwc/template-compiler": "2.23.2" - } - }, - "@lwc/engine-dom": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/engine-dom/-/engine-dom-2.23.2.tgz", - "integrity": "sha512-XEfn3boHv7RLWevOMwKawxFCrs9btbvyi5XaFsclwkrqEBZa+k5px5vyYEsCJozrvz2ddHkhcuZpG7jITPwNKQ==", - "dev": true - }, - "@lwc/engine-server": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/@lwc/engine-server/-/engine-server-2.32.0.tgz", - "integrity": "sha512-mzdDH9Xlbv5280u3OyamSAmGjW0BH+/fP3yD3FYVKhkR0yhzWeum//bo8c2yPnlXHYfnTYLJfJN5Rx9Kf0zasg==", - "dev": true, - "peer": true - }, - "@lwc/errors": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/errors/-/errors-2.23.2.tgz", - "integrity": "sha512-rgqdd6aQja4T8ysmt2L1o9Aq+VWCtifcJv1FB/hNs1g2KloxZyZkHtK6Y+Tr4IXdgiH5LaT0L3tiQA3X4vssoQ==", - "dev": true - }, - "@lwc/eslint-plugin-lwc": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@lwc/eslint-plugin-lwc/-/eslint-plugin-lwc-1.5.0.tgz", - "integrity": "sha512-LiJujIbI87Eoe+iszTXEDxudhGCLsHeNArjb9kqxKotcggqYllVwtBCS2yswyhJ39uSH4BCkeSiXmSrMcs7Jow==", - "dev": true, - "requires": { - "minimatch": "^5.1.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "@lwc/jest-preset": { - "version": "11.5.3", - "resolved": "https://registry.npmjs.org/@lwc/jest-preset/-/jest-preset-11.5.3.tgz", - "integrity": "sha512-5Pz33lSbHvYCXm1LiR9Zl+KAKo3pvvrEJvg692SsJZ/3D6V04LJe4Ft0AALvVr5GznPQUPOubcvTU+aJS/0xdQ==", - "dev": true, - "requires": { - "@lwc/jest-resolver": "11.5.3", - "@lwc/jest-serializer": "11.5.3", - "@lwc/jest-transformer": "11.5.3" - } - }, - "@lwc/jest-resolver": { - "version": "11.5.3", - "resolved": "https://registry.npmjs.org/@lwc/jest-resolver/-/jest-resolver-11.5.3.tgz", - "integrity": "sha512-rII7woNGft7MpCttMK0BO3Z0q/rR50fPupHJYsrIMCR6segNHte9XR9JVcU205l8E+qhmfk9il6i7W+AMakTOg==", - "dev": true, - "requires": {} - }, - "@lwc/jest-serializer": { - "version": "11.5.3", - "resolved": "https://registry.npmjs.org/@lwc/jest-serializer/-/jest-serializer-11.5.3.tgz", - "integrity": "sha512-k5Y/UoBFcrTZC5e8uHdTNdScGQ1aOfr/DwN9oZXm8/AE1Tu1ZStxHmK9Sh8iMuiUh+yi8MBhg9Z/U2HEdHcV9Q==", - "dev": true, - "requires": { - "pretty-format": "^29.0.1" - } - }, - "@lwc/jest-transformer": { - "version": "11.5.3", - "resolved": "https://registry.npmjs.org/@lwc/jest-transformer/-/jest-transformer-11.5.3.tgz", - "integrity": "sha512-WCdKrR+Z6jB7LF+oUUouGcW2w8zplxGMdDfoxIfVM4cJHE9HDANpR6vxwQTDsEXuwMWe1Ytcy6R8Ax81Y0bUGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.18.13", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-decorators": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "babel-preset-jest": "^29.0.0" - } - }, - "@lwc/module-resolver": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/module-resolver/-/module-resolver-2.23.2.tgz", - "integrity": "sha512-/0EGjzHIgEBu6Ot+wZpb3pzyP/qLIyCVGKQq0D1alFnBo3dCFVGMA1w0gCGRNn0TElq8fMukUcjr7ST7F/laUg==", - "dev": true, - "requires": { - "resolve": "~1.22.1" - }, - "dependencies": { - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - } - } - }, - "@lwc/shared": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/shared/-/shared-2.23.2.tgz", - "integrity": "sha512-LgPs0RTaNRs382/+G1UpDDfh4F4NDiXhIFvUOJhtastciBJndXKdEN27aFdAVxrs+yCt9fCM5wgKVhyZSiGBrQ==", - "dev": true - }, - "@lwc/style-compiler": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/style-compiler/-/style-compiler-2.23.2.tgz", - "integrity": "sha512-cNKn18CRzv1IXDQ+tboUGB/VU8ubmnZ3kpGDyPk1VBUWaUdU9HhSXsl+4z/l8UdvNEEYnR3XqQYVsEnpMFO20w==", - "dev": true, - "requires": { - "@lwc/shared": "2.23.2", - "postcss": "~8.4.16", - "postcss-selector-parser": "~6.0.9", - "postcss-value-parser": "~4.2.0", - "string.prototype.matchall": "^4.0.7" - } - }, - "@lwc/synthetic-shadow": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/synthetic-shadow/-/synthetic-shadow-2.23.2.tgz", - "integrity": "sha512-AJk5PFvNtNWHaVVQ4ePlr8+301SmekSF5fd+MifvT3p8sgNCmE7ZlCIsUkgD2qLu/xXLum4451BWBMPgC75r1Q==", - "dev": true - }, - "@lwc/template-compiler": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/template-compiler/-/template-compiler-2.23.2.tgz", - "integrity": "sha512-on6kRYprRfgKxXUDZNBjvLqp5WFQAOV6HTBx6PqW5j0s18Bz0qlF5w2VAv/2ZSfUtzK9544OC3wku4LZP43B2g==", - "dev": true, - "requires": { - "@lwc/errors": "2.23.2", - "@lwc/shared": "2.23.2", - "acorn": "~8.8.0", - "astring": "~1.8.3", - "estree-walker": "~2.0.2", - "he": "~1.2.0", - "parse5": "~6.0.1" - }, - "dependencies": { - "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true - } - } - }, - "@lwc/wire-service": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@lwc/wire-service/-/wire-service-2.23.2.tgz", - "integrity": "sha512-by+Uo6mseygZUUv7fdlcjU8FwsXKPvfZOMEf1PXP/iYdhSYAechV4LnrAYgGoGwduRr97860PBw6tp2Bb74FQw==", - "dev": true - }, - "@mdn/browser-compat-data": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz", - "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==", - "dev": true - }, - "@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" - } - }, - "@prettier/plugin-xml": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@prettier/plugin-xml/-/plugin-xml-2.2.0.tgz", - "integrity": "sha512-UWRmygBsyj4bVXvDiqSccwT1kmsorcwQwaIy30yVh8T+Gspx4OlC0shX1y+ZuwXZvgnafmpRYKks0bAu9urJew==", - "dev": true, - "requires": { - "@xml-tools/parser": "^1.0.11", - "prettier": ">=2.4.0" - } - }, - "@salesforce/eslint-config-lwc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@salesforce/eslint-config-lwc/-/eslint-config-lwc-3.3.3.tgz", - "integrity": "sha512-AZyBta7Y9N2IcJ4LbmIXSQzUoPoZ2cvoi75mqS+9QgUJfB7Il/vRj6NlflSOG14gkA4dmxoT7R6siGj2AYQ+PQ==", - "dev": true, - "requires": { - "@babel/core": "~7.18.5", - "@babel/eslint-parser": "~7.18.2", - "eslint-restricted-globals": "~0.2.0", - "semver": "^7.3.7" - } - }, - "@salesforce/eslint-plugin-aura": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@salesforce/eslint-plugin-aura/-/eslint-plugin-aura-2.1.0.tgz", - "integrity": "sha512-7HfwSBKTHQZQboLoEhkBY7bYR9wTaT+G5jHXGlq8y31hEnNhJXRZ+RERDEwDm1jYa2SV9lE8nMNr0/8EKIGjlQ==", - "dev": true, - "requires": { - "eslint-plugin-compat": "^4.0.2" - } - }, - "@salesforce/eslint-plugin-lightning": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@salesforce/eslint-plugin-lightning/-/eslint-plugin-lightning-1.0.0.tgz", - "integrity": "sha512-zk0PKXAcHKHepAG2EOSWlkOTxQM0Aw1CT6+MUxJcM42fCDwH/yPPpGkG3CWtRfmVViODGOwU9ywU2wlkAYcvUQ==", - "dev": true, - "requires": {} - }, - "@salesforce/sfdx-lwc-jest": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@salesforce/sfdx-lwc-jest/-/sfdx-lwc-jest-1.1.3.tgz", - "integrity": "sha512-5UCnYC299rI+S7+ES87ZhpcycwnYXmpSy3TpMX+mbgFqrWnMJ62MRNssx2sb+VBQ7/j3T/s/pVlkJyRfZN5Kww==", - "dev": true, - "requires": { - "@lwc/compiler": "2.23.2", - "@lwc/engine-dom": "2.23.2", - "@lwc/jest-preset": "^11.5.0", - "@lwc/jest-resolver": "^11.5.0", - "@lwc/jest-serializer": "^11.5.0", - "@lwc/jest-transformer": "^11.5.0", - "@lwc/module-resolver": "2.23.2", - "@lwc/synthetic-shadow": "2.23.2", - "@lwc/wire-service": "2.23.2", - "@salesforce/wire-service-jest-util": "4.0.0", - "chalk": "^4.1.2", - "fast-glob": "^3.2.10", - "jest": "^29.0.1", - "jest-environment-jsdom": "^29.0.1", - "yargs": "~17.5.1" - }, - "dependencies": { - "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" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", - "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.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "@salesforce/wire-service-jest-util": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@salesforce/wire-service-jest-util/-/wire-service-jest-util-4.0.0.tgz", - "integrity": "sha512-YJO/bMq5l6IYIZG6bAqYzzbmZMPCzB2GE2TKGLA1U7B9HpmNHZS7DdDcy154P03dfLSgF+tgVYeklh2HRYGk9g==", - "dev": true, - "requires": {} - }, - "@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.5.tgz", - "integrity": "sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@types/babel__core": { - "version": "7.1.20", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", - "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", - "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.18.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.2.tgz", - "integrity": "sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@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/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/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" - }, - "dependencies": { - "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "requires": { - "entities": "^4.4.0" - } - } - } - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "@types/node": { - "version": "17.0.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.41.tgz", - "integrity": "sha512-xA6drNNeqb5YyV5fO3OAEsnXLfO7uF0whiOfPTz5AeDo8KeZFmODKnvwPymMNO8qE/an8pVY/O50tig2SQCrGw==", - "dev": true - }, - "@types/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", - "dev": true - }, - "@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/tough-cookie": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", - "dev": true - }, - "@types/yargs": { - "version": "17.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.14.tgz", - "integrity": "sha512-9Pj7abXoW1RSTcZaL2Hk6G2XyLMlp5ECdVC/Zf2p/KBjC3srijLGgRAXOBjtFrJoIrvxdTKyKDA14bEcbxBaWw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "@typescript-eslint/scope-manager": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.44.0.tgz", - "integrity": "sha512-2pKml57KusI0LAhgLKae9kwWeITZ7IsZs77YxyNyIVOwQ1kToyXRaJLl+uDEXzMN5hnobKUOo2gKntK9H1YL8g==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.44.0", - "@typescript-eslint/visitor-keys": "5.44.0" - } - }, - "@typescript-eslint/types": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.44.0.tgz", - "integrity": "sha512-Tp+zDnHmGk4qKR1l+Y1rBvpjpm5tGXX339eAlRBDg+kgZkz9Bw+pqi4dyseOZMsGuSH69fYfPJCBKBrbPCxYFQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.44.0.tgz", - "integrity": "sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.44.0", - "@typescript-eslint/visitor-keys": "5.44.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.44.0.tgz", - "integrity": "sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.44.0", - "@typescript-eslint/types": "5.44.0", - "@typescript-eslint/typescript-estree": "5.44.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" - }, - "dependencies": { - "@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", - "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" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.44.0.tgz", - "integrity": "sha512-a48tLG8/4m62gPFbJ27FxwCOqPKxsb8KC3HkmYoq2As/4YyjQl1jDbRr1s63+g4FS/iIehjmN3L5UjmKva1HzQ==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.44.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@xml-tools/parser": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@xml-tools/parser/-/parser-1.0.11.tgz", - "integrity": "sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA==", - "dev": true, - "requires": { - "chevrotain": "7.1.1" - } - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true - }, - "acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dev": true, - "requires": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "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, - "peer": true, - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "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" - } - }, - "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-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "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-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "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 - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "ast-metadata-inferer": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz", - "integrity": "sha512-OkMLzd8xelb3gmnp6ToFvvsHLtS6CbagTkFQvQ+ZYFe3/AIl9iKikNR9G7pY3GfOR/2Xc222hwBjzI7HLkE76Q==", - "dev": true, - "requires": { - "@mdn/browser-compat-data": "^3.3.14" - }, - "dependencies": { - "@mdn/browser-compat-data": { - "version": "3.3.14", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz", - "integrity": "sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==", - "dev": true - } - } - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "astring": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.3.tgz", - "integrity": "sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "dev": true, - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "babel-jest": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", - "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", - "dev": true, - "requires": { - "@jest/transform": "^29.3.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.2.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.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": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", - "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "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": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", - "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.2.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 - }, - "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" - } - }, - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "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-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 - }, - "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 - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001434", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", - "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==", - "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" - } - }, - "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 - }, - "chevrotain": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-7.1.1.tgz", - "integrity": "sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw==", - "dev": true, - "requires": { - "regexp-to-ast": "0.5.0" - } - }, - "ci-info": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", - "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", - "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-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 - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-truncate": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", - "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", - "dev": true, - "requires": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - }, - "dependencies": { - "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 - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "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" - } - } - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "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": "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 - }, - "colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "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" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "core-js": { - "version": "3.22.8", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.22.8.tgz", - "integrity": "sha512-UoGQ/cfzGYIuiq6Z7vWL1HfkE9U9IZ4Ub+0XSiJTCzvbZzgPA69oDF2f+lgJ6dFFLEdjW5O6svvoKzXX23xFkA==", - "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" - } - }, - "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 - }, - "cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "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": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, - "requires": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, - "dependencies": { - "tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true - }, - "whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - } - } - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", - "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "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 - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "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 - }, - "diff-sequences": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", - "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", - "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" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "peer": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "dev": true, - "requires": { - "webidl-conversions": "^7.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true - } - } - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "dev": true - }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "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 - }, - "entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", - "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "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, - "peer": true - }, - "eslint": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", - "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", - "dev": true, - "peer": true, - "requires": { - "@eslint/eslintrc": "^1.3.0", - "@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.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", - "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.15.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.1.2", - "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": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "peer": 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" - } - }, - "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, - "peer": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "peer": true - }, - "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, - "peer": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "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, - "peer": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "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, - "peer": 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, - "peer": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "peer": 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" - } - }, - "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, - "peer": 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, - "peer": 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, - "peer": true, - "requires": { - "prelude-ls": "^1.2.1" - } - } - } - }, - "eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - }, - "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" - } - } - } - }, - "eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "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" - } - } - } - }, - "eslint-plugin-compat": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.0.2.tgz", - "integrity": "sha512-xqvoO54CLTVaEYGMzhu35Wzwk/As7rCvz/2dqwnFiWi0OJccEtGIn+5qq3zqIu9nboXlpdBN579fZcItC73Ycg==", - "dev": true, - "requires": { - "@mdn/browser-compat-data": "^4.1.5", - "ast-metadata-inferer": "^0.7.0", - "browserslist": "^4.16.8", - "caniuse-lite": "^1.0.30001304", - "core-js": "^3.16.2", - "find-up": "^5.0.0", - "lodash.memoize": "4.1.2", - "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" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", - "dev": true, - "requires": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "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" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "eslint-plugin-jest": { - "version": "26.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", - "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "^5.10.0" - } - }, - "eslint-restricted-globals": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.2.0.tgz", - "integrity": "sha512-kwYJALm5KS2QW3Mc1PgObO4V+pTR6RQtRT65L1GQILlEnAhabUQqGAX7/qUjoQR4KZJKehWpBtyDEiDecwmY9A==", - "dev": true - }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "peer": true, - "requires": { - "esrecurse": "^4.3.0", - "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, - "peer": true - } - } - }, - "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" - }, - "dependencies": { - "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 - } - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - }, - "espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", - "dev": true, - "peer": true, - "requires": { - "acorn": "^8.7.1", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - } - }, - "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, - "peer": 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, - "peer": 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 - } - } - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "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 - }, - "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": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", - "dev": true, - "requires": { - "@jest/expect-utils": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1" - } - }, - "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, - "peer": 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" - } - }, - "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 - }, - "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" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "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, - "peer": 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" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "peer": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "peer": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true, - "peer": true - }, - "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "dev": true - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "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 - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "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": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true, - "peer": true - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "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.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "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 - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "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" - } - }, - "globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", - "dev": true, - "peer": true, - "requires": { - "type-fest": "^0.20.2" - }, - "dependencies": { - "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, - "peer": 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.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "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-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "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 - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "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 - }, - "html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "requires": { - "whatwg-encoding": "^2.0.0" - } - }, - "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 - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "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": "8.0.3", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", - "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", - "dev": true - }, - "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, - "peer": 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": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "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": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "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 - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "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-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "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-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, - "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-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "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-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "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-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "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.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "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" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "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" - } - }, - "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" - } - }, - "istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", - "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", - "dev": true, - "requires": { - "@jest/core": "^29.3.1", - "@jest/types": "^29.3.1", - "import-local": "^3.0.2", - "jest-cli": "^29.3.1" - }, - "dependencies": { - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "jest-cli": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", - "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", - "dev": true, - "requires": { - "@jest/core": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "jest-changed-files": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", - "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - } - }, - "jest-circus": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", - "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", - "dev": true, - "requires": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "p-limit": "^3.1.0", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-config": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", - "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.3.1", - "@jest/types": "^29.3.1", - "babel-jest": "^29.3.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.3.1", - "jest-environment-node": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "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 - } - } - }, - "jest-diff": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", - "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - } - }, - "jest-docblock": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", - "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", - "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "jest-util": "^29.3.1", - "pretty-format": "^29.3.1" - } - }, - "jest-environment-jsdom": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.3.1.tgz", - "integrity": "sha512-G46nKgiez2Gy4zvYNhayfMEAFlVHhWfncqvqS6yCd0i+a4NsSUD2WtrKSaYQrYiLQaupHXxCRi8xxVL2M9PbhA==", - "dev": true, - "requires": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1", - "jsdom": "^20.0.0" - } - }, - "jest-environment-node": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", - "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", - "dev": true, - "requires": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" - } - }, - "jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", - "dev": true - }, - "jest-haste-map": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", - "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-leak-detector": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", - "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", - "dev": true, - "requires": { - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - } - }, - "jest-matcher-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", - "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - } - }, - "jest-message-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", - "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.3.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-mock": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", - "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-util": "^29.3.1" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", - "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", - "dev": true - }, - "jest-resolve": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", - "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", - "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", - "dev": true, - "requires": { - "jest-regex-util": "^29.2.0", - "jest-snapshot": "^29.3.1" - } - }, - "jest-runner": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", - "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", - "dev": true, - "requires": { - "@jest/console": "^29.3.1", - "@jest/environment": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.2.0", - "jest-environment-node": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-leak-detector": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-resolve": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-util": "^29.3.1", - "jest-watcher": "^29.3.1", - "jest-worker": "^29.3.1", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - } - }, - "jest-runtime": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", - "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", - "dev": true, - "requires": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/globals": "^29.3.1", - "@jest/source-map": "^29.2.0", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "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 - } - } - }, - "jest-snapshot": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", - "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.3.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-haste-map": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "natural-compare": "^1.4.0", - "pretty-format": "^29.3.1", - "semver": "^7.3.5" - } - }, - "jest-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", - "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-validate": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", - "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "leven": "^3.1.0", - "pretty-format": "^29.3.1" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - } - } - }, - "jest-watcher": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", - "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", - "dev": true, - "requires": { - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.3.1", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", - "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", - "dev": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.3.1", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "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" - } - } - } - }, - "joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.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": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "dev": true, - "requires": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", - "parse5": "^7.1.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" - }, - "dependencies": { - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "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" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "requires": { - "entities": "^4.4.0" - } - }, - "tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true - }, - "whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "requires": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - } - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "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": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "peer": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "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.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", - "dev": true - }, - "line-column": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/line-column/-/line-column-1.0.2.tgz", - "integrity": "sha512-Ktrjk5noGYlHsVnYWh62FLVs4hTb8A3e+vucNZMgPeAOITdshMSgv4cCZQeRDjm7+goqmo6+liZwTXo+U3sVww==", - "dev": true, - "requires": { - "isarray": "^1.0.0", - "isobject": "^2.0.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "lint-staged": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.1.0.tgz", - "integrity": "sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==", - "dev": true, - "requires": { - "cli-truncate": "^3.1.0", - "colorette": "^2.0.19", - "commander": "^9.4.1", - "debug": "^4.3.4", - "execa": "^6.1.0", - "lilconfig": "2.0.6", - "listr2": "^5.0.5", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-inspect": "^1.12.2", - "pidtree": "^0.6.0", - "string-argv": "^0.3.1", - "yaml": "^2.1.3" - }, - "dependencies": { - "commander": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", - "dev": true - }, - "execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - } - }, - "human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", - "dev": true - }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true - }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true - }, - "npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "requires": { - "path-key": "^4.0.0" - } - }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "requires": { - "mimic-fn": "^4.0.0" - } - }, - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true - }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true - } - } - }, - "listr2": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.7.tgz", - "integrity": "sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw==", - "dev": true, - "requires": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.19", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.8.0", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "requires": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - } - }, - "slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - } - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "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, - "peer": true - }, - "log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "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" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "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" - } - }, - "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 - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.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 - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "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 - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "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 - }, - "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" - } - }, - "nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", - "dev": true - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true - }, - "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.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "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" - } - }, - "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" - }, - "dependencies": { - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - } - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "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-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 - }, - "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, - "peer": 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 - }, - "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "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-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 - }, - "pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "dev": true - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "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" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "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" - } - } - } - }, - "postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "dev": true, - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "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.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true - }, - "prettier": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz", - "integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==", - "dev": true - }, - "prettier-plugin-apex": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/prettier-plugin-apex/-/prettier-plugin-apex-1.13.0.tgz", - "integrity": "sha512-QeGHrNOR6EXoH0Mto385FDrRC+XSCc/8zvtqNvhEaFovEMC7InDp2Mn5WxjJzQUdgtUYoXL+NYcSm3nxMqsymQ==", - "dev": true, - "requires": { - "axios": "^1.0.0", - "jest-docblock": "^29.0.0", - "wait-on": "^7.0.0", - "yargs": "^17.0.0" - }, - "dependencies": { - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } - } - }, - "pretty-format": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", - "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", - "dev": true, - "requires": { - "@jest/schemas": "^29.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "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 - } - } - }, - "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-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "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 - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "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 - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "regexp-to-ast": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", - "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "peer": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "requires": { - "is-core-module": "^2.8.1", - "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, - "peer": 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 - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "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" - } - }, - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "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": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "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 - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "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 - }, - "slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "requires": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "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 - }, - "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.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "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 - } - } - }, - "string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "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" - } - }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "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 - }, - "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 - }, - "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 - }, - "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, - "peer": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "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": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "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" - } - }, - "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - } - }, - "tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "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.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" - } - }, - "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 - }, - "typescript": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", - "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", - "dev": true, - "peer": true - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "peer": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.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 - }, - "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, - "peer": true - }, - "v8-to-istanbul": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", - "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - } - }, - "w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", - "dev": true, - "requires": { - "xml-name-validator": "^4.0.0" - } - }, - "wait-on": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", - "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", - "dev": true, - "requires": { - "axios": "^1.6.1", - "joi": "^17.11.0", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.1" - } - }, - "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" - } - }, - "whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "requires": { - "iconv-lite": "0.6.3" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true - }, - "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" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", - "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" - } - }, - "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": "4.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz", - "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "dev": true, - "requires": {} - }, - "xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "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 - }, - "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": "2.2.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", - "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/FindNearby/package.json b/FindNearby/package.json deleted file mode 100644 index 253f513..0000000 --- a/FindNearby/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "salesforce-app", - "private": true, - "version": "1.0.0", - "description": "Salesforce App", - "scripts": { - "format": "prettier --check '**/*.{js,ts,json}'", - "format:fix": "prettier --write '**/*.{js,ts,json}'", - "prepare": "", - "lint": "eslint **/{aura,lwc}/**", - "test": "npm run test:unit", - "test:unit": "sfdx-lwc-jest", - "test:unit:watch": "sfdx-lwc-jest --watch", - "test:unit:debug": "sfdx-lwc-jest --debug", - "test:unit:coverage": "sfdx-lwc-jest --coverage", - "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", - "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", - "postinstall": "", - "precommit": "" - }, - "devDependencies": { - "@lwc/eslint-plugin-lwc": "^1.1.2", - "@prettier/plugin-xml": "^2.0.1", - "@salesforce/eslint-config-lwc": "^3.2.3", - "@salesforce/eslint-plugin-aura": "^2.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "@salesforce/sfdx-lwc-jest": "^1.1.3", - "eslint-plugin-import": "^2.25.4", - "eslint-plugin-jest": "^26.1.2", - "prettier-plugin-apex": "^1.13.0", - "husky": "^8.0.2", - "lint-staged": "^13.1.0", - "prettier": "^2.8.2" - }, - "lint-staged": { - "**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}": [ - "prettier --write" - ], - "**/{aura,lwc}/**": [] - }, - "dependencies": {}, - "engines": { - "node": ">=16.13.0" - }, - "husky": { - "hooks": { - "pre-commit": "yarn lint-staged" - } - } -} diff --git a/FindNearby/sfdx-project.json b/FindNearby/sfdx-project.json deleted file mode 100644 index 9e4b5e1..0000000 --- a/FindNearby/sfdx-project.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "packageDirectories": [ - { - "path": "force-app", - "default": true - } - ], - "name": "FindNearby", - "namespace": "", - "sfdcLoginUrl": "https://login.salesforce.com/", - "sourceApiVersion": "55.0" -} diff --git a/FollowUpAppointment/CODEOWNERS b/FollowUpAppointment/CODEOWNERS deleted file mode 100644 index 0f85b54..0000000 --- a/FollowUpAppointment/CODEOWNERS +++ /dev/null @@ -1,2 +0,0 @@ -#GUSINFO:SFS Mobile Hybrid Experience,SFS - Hybrid Experience- Mobile -* \ No newline at end of file diff --git a/FollowUpAppointment/JenkinsfileFollow b/FollowUpAppointment/JenkinsfileFollow deleted file mode 100644 index 93d5f38..0000000 --- a/FollowUpAppointment/JenkinsfileFollow +++ /dev/null @@ -1,395 +0,0 @@ -@Library("sfci-pipeline-sharedlib@master") _ - -import net.sfdc.dci.v1.NotifyUtilsImpl -import net.sfdc.dci.BuildUtils -import net.sfdc.dci.ReleaseStampingUtils -import groovy.json.JsonSlurperClassic -import net.sfdc.dci.CodeCoverageUtils - -env.RELEASE_BRANCHES = ["MASTER"] -env.GUS_TEAM_NAME = "SFS Mobile Hybrid Experience" -env.CODE_COVERAGE_THRESHOLD = 75 - -def coverage_config = [ - tool_name : 'clover', - gus_team_name : env.GUS_TEAM_NAME, - module_name : 'Field Service Appointment Assistant', - test_suite : 'unit', - language_type : 'javascript', - aggregate_team_coverage: false, - dev_gus_upload : false, - report_location : 'unitTestResult/test-result-codecoverage.json' -] - -def releaseParameters = { - parameters([ - // Environment 1 - choice( - //Env - choices: ['GS0','Production'], - description: 'CHOOSE WORING ENVIORMENT', - name: 'Instance', - defaultValue: 'GS0' - ), - choice( - //Env - description: 'CREATE UNLOCKED PACKAGE', - choices: ['New package','Customer version'], - name: 'CreatePackage', - defaultValue: 'New package' - ), - booleanParam( defaultValue: false, - description: 'CREATE SCRATCH ORG ?', - name: 'Create'), - booleanParam( defaultValue: false, - description: 'INSTALL PACKAGE ? (Create scratch org must be checked)', - name: 'InstallPackage') - ]) -} - -echo 'Start CI' - -// -def envDef = [ - releaseParameters: releaseParameters, - emailTo: 'ratias@salesforce.com', - conditionalSkipCIBuild: true, - buildImage: '331455399823.dkr.ecr.us-east-2.amazonaws.com/sfci/grc-operation/grc-sfci-docker:ed3c28f' -] - - -executePipeline(envDef) { - withEnv(["HOME=${env.WORKSPACE}"]) { - def environment = [ - - PACKAGE_VERSION : 'SubscriberPackageVersionID', - PACKAGE_REQUEST_ID: 'ID', - PACKAGE_URL: 'https://login.salesforce.com/packaging/installPackage.apexp?p0=', - STAGE_COUNTER: 0, - SCRATCH_ORG: "ORG USER NAME", - FSL_PACKAGE: "FSL PACKAGE PATH", - SCRATCH_ORG_P: "NOT SET", - SALESFORCE_LOGIN: "https://test.salesforce.com/", - CODE_COVERAGE: "Not Run", - BUILD_CAUSE: false, - PROD_TEMPLATE: "0TTB0000001CtaB", - GS0_TEMPLATE: "0TTB0000001pzMK" - -] - -if(params.Instance == 'Production'){ - - - withCredentials([string(credentialsId: 'INSTANCE_URL', variable: 'instanceurl'),string(credentialsId: 'APP_ID_PROD', variable: 'appId'),string(credentialsId: 'DEVHUB_USERNAME_PROD', variable: 'usernameProd'),file(credentialsId: 'JWT_CERT_KEY_G', variable: 'JWT__key_file_g')]) { - try{ - - stage('Stage 1- Init') { - echo 'Job started on Prod' - echo 'Stage 1 Start init stage' - buildInit() - echo("Prepping a build on branch: ${env.BRANCH_NAME}") - checkout scm - //Setting google map key from secret - environment.BUILD_CAUSE= currentBuild.rawBuild.getCause(hudson.model.Cause$UserIdCause) != null - - echo 'end init fase' - echo("environment.BUILD_CAUSE: ${environment.BUILD_CAUSE}") - echo("params.CreatePackage: ${params.CreatePackage}") - mavenInit() - } - - stage('Stage 2 - Sfdx-login') { - echo 'Stage 2 - Start Dev Hub auth stage' - sh "sfdx force:auth:jwt:grant --instanceurl ${instanceurl} --clientid ${clientIdDev} --username ${usernameProd} --jwtkeyfile ${JWT__key_file} --setdefaultdevhubusername --setalias HubOrg" - sh 'sfdx force:org:list' - echo ' end login ' - } - - stage('Stage 3 - Create version package') { - echo 'Stage 3 - Create package' - if(params.CreatePackage != 'Customer version' && environment.BUILD_CAUSE){ - def isPr = env.BRANCH_NAME.contains("PR") - echo "${isPr}" - if(isPr != true){ - echo 'Start create version package stage' - output = sh returnStdout: true, script: "sfdx force:package:version:create --package 0HoB0000000GnaIKAS --installationkeybypass --definitionfile --codecoverage --wait 400 --json --targetdevhubusername HubOrg" - //Wait 1 minute for package replication (test1). - sleep 60 - def jsonSlurper = new JsonSlurperClassic() - def response = jsonSlurper.parseText(output) - echo "${response}" - - //Set global param - environment.PACKAGE_REQUEST_ID = response.result.Id - environment.PACKAGE_VERSION = response.result.SubscriberPackageVersionId - environment.PACKAGE_URL = environment.PACKAGE_URL+environment.PACKAGE_VERSION - response = null - - echo "Version package ID:${environment.PACKAGE_VERSION}" - echo "Version package request ID:${environment.PACKAGE_REQUEST_ID}" - echo "Version package installation URL:${environment.PACKAGE_URL}" - } - } - - } - - stage('Stage 4 - Create Scratch org'){ - echo 'Stage 4 - Start create scratch org stage' - if(params.Create && environment.BUILD_CAUSE && params.CreatePackage != 'null'){ - sh "sed -i 's/\"ancestorId.*//g' sfdx-project.json" - sh "more sfdx-project.json" - sh "more config/project-scratch-def.json" - responseS = sh returnStdout: true, script: "sfdx force:org:create --targetdevhubusername HubOrg --definitionfile config/project-scratch-def.json --setalias qaOrg --wait 100 --durationdays 30 --json" - //Wait 1 minute for Scratch org request replication - sleep 60 - def jsonSlurper = new JsonSlurperClassic() - def responseP = jsonSlurper.parseText(responseS) - echo "${responseP}" - environment.SCRATCH_ORG = responseP.result.username - environment.STAGE_COUNTER = environment.STAGE_COUNTER + 1 - - echo "Scratch org name:${environment.SCRATCH_ORG}" - NotifyUtilsImpl.addCustomEmailInfo(this, [Scratch_org_user_name: environment.SCRATCH_ORG]) - } - } - - stage('Stage 5 - Generate Scratch org password'){ - echo 'Stage 5 Start create scratch org password stage' - if(params.Create && environment.BUILD_CAUSE && params.CreatePackage != 'null'){ - responseC = sh returnStdout: true, script: "sfdx force:user:password:generate -u qaOrg --json" - //Wait 1 minute for Scratch org request replication - sleep 60 - def jsonSlurper = new JsonSlurperClassic() - def responseCp = jsonSlurper.parseText(responseC) - echo "${responseCp}" - environment.SCRATCH_ORG_P = responseCp.result.password - - NotifyUtilsImpl.addCustomEmailInfo(this, [scratch_org_pass: environment.SCRATCH_ORG_P]) - } - } - - stage('Stage 6 - Install Package') { - if(params.Create && params.InstallPackage && params.CreatePackage != 'null'){ - echo 'Stage 6 -Start Install Package stage' - sh "sfdx force:package:install --package ${environment.PACKAGE_VERSION} --targetusername qaOrg --wait 10 --noprompt" - } - - } - - stage('Stage 8 - Push changes & Clean data') { - if(params.CreatePackage != 'Customer version' && environment.BUILD_CAUSE){ - echo 'Stage 8 Start Push changes & Clean data stage' - //changing google map key string - sh "sed -i 's/${googlemap}/GoogleMapKey/g' force-app/main/default/customMetadata/AppointmentAssistantPrivateSettings.GoogleMapsDistanceAPI.md-meta.xml" - sh "more force-app/main/default/customMetadata/AppointmentAssistantPrivateSettings.GoogleMapsDistanceAPI.md-meta.xml" - - if(params.CreatePackage != 'Customer version' && environment.BUILD_CAUSE){ - output = sh returnStdout: true, script: "sfdx force:package:version:report -p ${environment.PACKAGE_VERSION} --json " - //Wait 1 minute for package replication (test1). - sleep 20 - def jsonSlurper = new JsonSlurperClassic() - def response = jsonSlurper.parseText(output) - echo "${response}" - environment.CODE_COVERAGE = response.result.CodeCoverage - } - //Push changes to branch - /* - withCredentials([usernamePassword(credentialsId: 'sfci-git', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { - sh "git config --global user.email ${USERNAME}@salesforce.com" - sh "git config --global user.name ${USERNAME}" - sh "git config --global push.default simple" - sh "git commit -am \"Merging into branch from CI job \"" - sh "git push https://${USERNAME}:${PASSWORD}@git.soma.salesforce.com/FSLMobileWindowsExperience/LastMile.git HEAD:${env.branch_name}" - } - */ - } - environment.STAGE_COUNTER = 0 - NotifyUtilsImpl.addCustomEmailInfo(this, [Package_instaltion_url: environment.PACKAGE_URL]) - NotifyUtilsImpl.addCustomEmailInfo(this, [Salesforce_sandnox_login: environment.SALESFORCE_LOGIN]) - NotifyUtilsImpl.addCustomEmailInfo(this, [Code_coverage_result: environment.CODE_COVERAGE]) - } - - - } catch(e) { - currentBuild.result = "FAILED" - echo '[BUILD FAILED] --AFTER TEST ACTIONS--' - error = e - NotifyUtilsImpl.addCustomEmailInfo(this, [FAIL_CAUSE: error]) - switch(environment.STAGE_COUNTER) { - case 1: - echo "ACTIONS [BUILD FAILED] -- DELETE SCRATCH ORG" - sh 'sfdx force:org:delete --targetusername qaOrg --noprompt' - echo "--ACTIONS PASSED--" - break - case 2: - echo "ACTIONS [BUILD FAILED] -- DELETE SCRATCH ORG /DELETE VERSION PACKAGE" - sh 'sfdx force:org:delete --targetusername qaOrg --noprompt' - sh "sfdx force:package:version:delete --package ${environment.PACKAGE_VERSION} --noprompt" - echo "--ACTIONS PASSED--" - break - case 3: - echo "ACTIONS [BUILD FAILED] -- UNINSTALL / DELETE SCRATCH ORG / DELETE VERSION PACKAGE" - sh "sfdx force:package:uninstall --targetusername jenkins --package ${environment.PACKAGE_VERSION}" - sh 'sfdx force:org:delete --targetusername jenkins --noprompt' - sh "sfdx force:package:version:delete --package ${environment.PACKAGE_VERSION} --noprompt" - echo "--ACTIONS PASSED--" - break - default: - echo "--NO ROLLBACK OR DELETION WAS REQUIERD,CI MAY PASSED CHECK FAIL LOCATION" - break - } - } - } -} - -if(params.Instance == 'GS0'){ - withCredentials([string(credentialsId: 'INSTANCE_URL', variable: 'instanceurl'),string(credentialsId: 'APP_ID_GS0', variable: 'clientIdGs0'),string(credentialsId: 'DEVHUB_USERNAME_GS0', variable: 'userNameGs0'),file(credentialsId: 'JWT_CERT_KEY_G', variable: 'JWT__key_file_g')]) { - try{ - - stage('Stage 1- Init') { - echo 'Job started on GS0' - echo 'stage 1 - Start init stage on GS0' - buildInit() - echo("Prepping a build on branch: ${env.BRANCH_NAME}") - checkout scm - sh "sed -i 's/trialforce/${environment.GS0_TEMPLATE}/g' config/project-scratch-def.json" - sh "more config/project-scratch-def.json" - environment.BUILD_CAUSE= currentBuild.rawBuild.getCause(hudson.model.Cause$UserIdCause) != null - echo 'end init fase' - echo("environment.BUILD_CAUSE: ${environment.BUILD_CAUSE}") - echo("params.CreatePackage: ${params.CreatePackage}") - } - - stage('Stage 2 - Sfdx-login') { - echo 'Stage 2 Start Dev Hub auth stage' - sh "sfdx force:auth:jwt:grant --instanceurl ${instanceurl} --clientid ${clientIdGs0} --username ${userNameGs0} --jwtkeyfile ${JWT__key_file_g} --setdefaultdevhubusername --setalias HubOrg" - sh 'sfdx force:org:list' - echo ' end login ' - } - - stage('Stage 3 - Create version package') { - echo 'Stage 3 - Start create version package stage' - if(params.CreatePackage != 'Customer version' && environment.BUILD_CAUSE){ - def isPr = env.BRANCH_NAME.contains("PR") - echo "${isPr}" - if(isPr != true){ - echo 'Start create version package stage' - output = sh returnStdout: true, script: "sfdx force:package:version:create --package 0HoB00000008PtFKAU --installationkeybypass --codecoverage --wait 400 --json --targetdevhubusername HubOrg" - //Wait 1 minute for package replication (test1)1. - sleep 60 - def jsonSlurper = new JsonSlurperClassic() - def response = jsonSlurper.parseText(output) - echo "${response}" - - //Set global param - environment.PACKAGE_REQUEST_ID = response.result.Id - environment.PACKAGE_VERSION = response.result.SubscriberPackageVersionId - environment.PACKAGE_URL = environment.PACKAGE_URL+environment.PACKAGE_VERSION - response = null - - echo "Version package ID:${environment.PACKAGE_VERSION}" - echo "Version package request ID:${environment.PACKAGE_REQUEST_ID}" - echo "Version package installation URL:${environment.PACKAGE_URL}" - } - } - - } - - stage('Stage 4 - Create Scratch org'){ - echo 'Stage 4 Start create scratch org stage' - if(params.Create && environment.BUILD_CAUSE && params.CreatePackage != 'null'){ - echo 'Start create scratch org stage' - sh "sed -i 's/\"ancestorId.*//g' sfdx-project.json" - sh "more sfdx-project.json" - responseS = sh returnStdout: true, script: "sfdx force:org:create --targetdevhubusername HubOrg --definitionfile config/project-scratch-def.json --setalias qaOrg --wait 100 --durationdays 30 --json" - //Wait 1 minute for Scratch org request replication - sleep 60 - def jsonSlurper = new JsonSlurperClassic() - def responseP = jsonSlurper.parseText(responseS) - echo "${responseP}" - environment.SCRATCH_ORG = responseP.result.username - environment.STAGE_COUNTER = environment.STAGE_COUNTER + 1 - - echo "Scratch org name:${environment.SCRATCH_ORG}" - NotifyUtilsImpl.addCustomEmailInfo(this, [Scratch_org_user_name: environment.SCRATCH_ORG]) - } - } - - stage('Stage 5 - Generate Scratch org password'){ - echo 'Stage 5 Start create scratch org password stage' - if(params.Create && environment.BUILD_CAUSE && params.CreatePackage != 'null'){ - responseC = sh returnStdout: true, script: "sfdx force:user:password:generate -u qaOrg --json" - //Wait 1 minute for Scratch org request replication1 - sleep 60 - def jsonSlurper = new JsonSlurperClassic() - def responseCp = jsonSlurper.parseText(responseC) - echo "${responseCp}" - environment.SCRATCH_ORG_P = responseCp.result.password - - NotifyUtilsImpl.addCustomEmailInfo(this, [scratch_org_pass: environment.SCRATCH_ORG_P]) - } - } - - stage('Stage 6 - Install Package') { - if(params.Create && params.InstallPackage){ - echo 'Stage 6 Start Install Package stage' - sh "sfdx force:package:install --package ${environment.PACKAGE_VERSION} --targetusername qaOrg --wait 10 --noprompt" - } - - } - - stage('Stage 8 - Push changes & Clean data') { - echo 'Stage 8 - Push changes & Clean data' - if(params.CreatePackage != 'Customer version' && environment.BUILD_CAUSE){ - echo 'Start Push changes & Clean data stage' - if(params.CreatePackage != 'Customer version' && environment.BUILD_CAUSE){ - output = sh returnStdout: true, script: "sfdx force:package:version:report -p ${environment.PACKAGE_VERSION} --json " - //Wait 1 minute for package replication (test1). - sleep 20 - def jsonSlurper = new JsonSlurperClassic() - def response = jsonSlurper.parseText(output) - echo "${response}" - environment.CODE_COVERAGE = response.result.CodeCoverage - } - } - environment.STAGE_COUNTER = 0 - NotifyUtilsImpl.addCustomEmailInfo(this, [Package_instaltion_url: environment.PACKAGE_URL]) - NotifyUtilsImpl.addCustomEmailInfo(this, [Salesforce_sandnox_login: environment.SALESFORCE_LOGIN]) - NotifyUtilsImpl.addCustomEmailInfo(this, [Code_coverage_result: environment.CODE_COVERAGE]) - } - - - } catch(e) { - currentBuild.result = "FAILED" - echo '[BUILD FAILED] --AFTER TEST ACTIONS--' - NotifyUtilsImpl.addCustomEmailInfo(this, [FAIL_CAUSE: error]) - switch(environment.STAGE_COUNTER) { - case 1: - echo "ACTIONS [BUILD FAILED] -- DELETE SCRATCH ORG" - sh 'sfdx force:org:delete --targetusername qaOrg --noprompt' - echo "--ACTIONS PASSED--" - break - case 2: - echo "ACTIONS [BUILD FAILED] -- DELETE SCRATCH ORG /DELETE VERSION PACKAGE" - sh 'sfdx force:org:delete --targetusername qaOrg --noprompt' - sh "sfdx force:package:version:delete --package ${environment.PACKAGE_VERSION} --noprompt" - echo "--ACTIONS PASSED--" - break - case 3: - echo "ACTIONS [BUILD FAILED] -- UNINSTALL / DELETE SCRATCH ORG / DELETE VERSION PACKAGE" - sh "sfdx force:package:uninstall --targetusername jenkins --package ${environment.PACKAGE_VERSION}" - sh 'sfdx force:org:delete --targetusername jenkins --noprompt' - sh "sfdx force:package:version:delete --package ${environment.PACKAGE_VERSION} --noprompt" - echo "--ACTIONS PASSED--" - break - default: - echo "--NO ROLLBACK OR DELETION WAS REQUIERD,CI MAY PASSED CHECK FAIL LOCATION" - break - } - } - } -} - } - - -} diff --git a/FollowUpAppointment/README.md b/FollowUpAppointment/README.md deleted file mode 100644 index 3313737..0000000 --- a/FollowUpAppointment/README.md +++ /dev/null @@ -1,44 +0,0 @@ -## Set Up the Follow-Up Appointment Lightning Web Component (LWC) -Let your mobile workers create and schedule follow-up appointments for customers directly from the mobile app, without contacting customer services. - -Note: Follow-Up Appointment LWC is an open-source component and is not supported by Salesforce Support. - -1. To install the package, click - https://login.salesforce.com/packaging/installPackage.apexp?p0=04t1Q0000012BwaQAE. -2. Enable access to LWCs. See [Define a Permission Set for Your Org](https://developer.salesforce.com/docs/atlas.en-us.mobile_offline.meta/mobile_offline/quickstart_lwc_action_org_setup.htm#quickstart_lwc_action_org_setup_create_permset). -3. Enable the permission sets. - 1. From Setup, in the Quick Find box, enter Users, and then select **Users**. - 2. Select the required user. - 3. Under Permission Set Assignments, click **Edit Assignments**. - 4. Enable these permission sets: - - Field Service Agent License - - Field Service Agent Permissions - - Field Service Mobile License - - Field Service Resource License - - Field Service Resource Permissions - - Field Service Follow-Up Appointment Permissions -4. Grant access to Apex classes. - 1. From Setup, in the Quick Find box, enter `Custom Code`, and then select **Apex Classes**. - 2. For FollowUpAppointmentController, click **Security**. - 3. Add the relevant profiles to the Enabled Profiles list. -5. From the App Launcher, find and select **Follow-Up Appointment Settings**. -6. Configure the LWC. - 1. In the Settings tab, determine which appointment slots the mobile worker sees and determine who the work can be assigned to and what kind of work they can create. - If you choose to let mobile workers create the service appointment, only a service appointment is created. If you choose to let mobile workers create work orders or work order line items, a service appointment is created automatically. A service appointment is created regardless of the Auto-Create Service Appointment setting for the work type. - - *Tip:* To control whether the service appointment can be assigned only to the mobile worker in the app, make sure that your scheduling policy includes the **Field Service - Required Resources work rule**. - - 2. In the Mobile Workflow tab, configure up to four steps. - - To add the address, use the fields that compose the address, such as City and Street. - - Lookup fields appear as read-only fields for the mobile user. -7. Add the component to the Work Order record page to troubleshoot the setup. - 1. From a Work Order record page in Field Service, click the settings icon and select Edit Page. - 2. In Lightning App Builder, drag the Follow-Up Appointment component onto the layout. - 3. Save your changes. - 4. Log in to the org with a user that is a Service Resource (mobile worker) and check the process end to end. - 5. If you encounter an issue with the component, click F12 to check the console logs. -8. Connect the LWC to a quick action on the Work Order, or Work Order Line Item object. See [Create Quick Actions for the Field Service Mobile App](https://help.salesforce.com/s/articleView?id=sf.mfs_quick_actions.htm&type=5). - 1. For Action Type, select **Lightning Web Components**. - 2. For Lightning Web Component, select **c:followUpAppointmentMain**. -9. Add the quick action to the required layout. -10. Log in to the Field Service mobile app as a mobile user and open the LWC to verify that everything works as expected on a mobile device. diff --git a/FollowUpAppointment/config/project-scratch-def.json b/FollowUpAppointment/config/project-scratch-def.json deleted file mode 100644 index 4cbc58c..0000000 --- a/FollowUpAppointment/config/project-scratch-def.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "orgName": "Demo company", - "namespace": "", - "template": "trialforce", - "features": [ - "EnableSetPasswordInApi", - "FieldService:10", - "FieldServiceAppointmentAssistantUser:10", - "EnableSetPasswordInApi", - "Communities" - ], - - "settings": { - "communitiesSettings": { - "enableNetworksEnabled": true, - "enableCommunityWorkspaces": true - }, - "lightningExperienceSettings": { - "enableS1DesktopEnabled": true - }, - "fieldServiceSettings": { - "fieldServiceOrgPref": true, - "optimizationServiceAccess": true - }, - "mobileSettings": { - "enableS1EncryptedStoragePref2": false - }, - "languageSettings": { - "enableTranslationWorkbench": true, - "enableEndUserLanguages": true, - "enablePlatformLanguages": true - } - } -} diff --git a/FollowUpAppointment/force-app/main/default/classes/FollowUpAppointmentController.cls b/FollowUpAppointment/force-app/main/default/classes/FollowUpAppointmentController.cls deleted file mode 100644 index 64ea220..0000000 --- a/FollowUpAppointment/force-app/main/default/classes/FollowUpAppointmentController.cls +++ /dev/null @@ -1,1959 +0,0 @@ -public without sharing class FollowUpAppointmentController { - - public FollowUpAppointmentController() { - - } - private static final String UNAUTH_MSG = 'User is not allowed to perform this operation.'; - - @AuraEnabled - public static Decimal getWorkTypeOffset(String workTypeName){ - workTypeName = sanitizeFieldValues(workTypeName); - try { - WorkType wt = [SELECT FSL__Due_Date_Offset__c FROM WorkType WHERE Name =: workTypeName][0]; - System.debug('workType '+wt); - return wt.FSL__Due_Date_Offset__c; - } catch (Exception e) { - return -1; - } - } - - @AuraEnabled - public static Map getServiceAppointment(String serviceAppointmentId) { - - serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); - Map serviceAppointmentInfo = new Map(); - - try { - ServiceAppointment sa = [SELECT Id, - Contact.FirstName, - Contact.LastName, - Contact.Phone, - Status, - Address, - WorkType.Name, - Subject, - EarliestStartTime, - ArrivalWindowStartTime, - ArrivalWindowEndTime, - SchedStartTime, - SchedEndTime, - DueDate, - Description, - AppointmentNumber, - ServiceTerritoryId - FROM ServiceAppointment - WHERE ID =: serviceAppointmentId - ][0]; - - if (sa.ServiceTerritoryId != null) { - ServiceTerritory st = [SELECT OperatingHoursId - FROM ServiceTerritory - WHERE ID =: sa.ServiceTerritoryId - ][0]; - OperatingHours oh = [SELECT TimeZone - FROM OperatingHours - WHERE ID =: st.OperatingHoursID - ][0]; - serviceAppointmentInfo.put('ServiceTerritoryTimeZone', oh.TimeZone); - } - - Address addr = sa.Address; - String customerAddress = ''; - if (addr != null) { - if(addr.Street != null) customerAddress = customerAddress + addr.Street + ' '; - if(addr.City != null) customerAddress = customerAddress + addr.City + ' '; - if(addr.State != null) customerAddress = customerAddress + addr.State + ' '; - if(addr.PostalCode != null) customerAddress = customerAddress + addr.PostalCode + ' '; - if(addr.Country != null) customerAddress = customerAddress + addr.Country + ' '; - } - - serviceAppointmentInfo.put('serviceAppointmentId', serviceAppointmentId); - serviceAppointmentInfo.put('CustomerFirstName', sa.Contact.FirstName); - serviceAppointmentInfo.put('CustomerLastName', sa.Contact.LastName); - serviceAppointmentInfo.put('CustomerPhone', sa.Contact.Phone); - serviceAppointmentInfo.put('ServiceAppointmentStatus', sa.Status); - serviceAppointmentInfo.put('CustomerAddress', customerAddress); - serviceAppointmentInfo.put('WorkTypeName', sa.WorkType.Name); - serviceAppointmentInfo.put('ServiceAppointmentSubject', sa.Subject); - serviceAppointmentInfo.put('EarliestStartTime', ''+sa.EarliestStartTime); - serviceAppointmentInfo.put('ArrivalWindowStartTime', ''+sa.ArrivalWindowStartTime); - serviceAppointmentInfo.put('ArrivalWindowEndTime', ''+sa.ArrivalWindowEndTime); - serviceAppointmentInfo.put('SchedStartTime', ''+sa.SchedStartTime); - serviceAppointmentInfo.put('SchedEndTime', ''+sa.SchedEndTime); - serviceAppointmentInfo.put('DueDate', ''+sa.DueDate); - serviceAppointmentInfo.put('ServiceAppointmentDescription', sa.Description); - serviceAppointmentInfo.put('AppointmentNumber', sa.AppointmentNumber); - - } catch (Exception e) { - serviceAppointmentInfo.put('error', 'SA not found: '+e.getMessage() + ', ' + e.getLineNumber()); - } - - try { - AssignedResource ar = [SELECT Id, ServiceResourceId - FROM AssignedResource - WHERE ServiceAppointmentId =: serviceAppointmentId - ][0]; - - ServiceResource sr = [SELECT Id, Name - FROM ServiceResource - WHERE Id =: ar.ServiceResourceId - ][0]; - serviceAppointmentInfo.put('ServiceResourceName', sr.Name); - - } catch (Exception e) { - serviceAppointmentInfo.put('error', 'ServiceResource or AssignedResource not found: '+e.getMessage() + ', ' + e.getLineNumber()); - } - - return serviceAppointmentInfo; - - } - - @AuraEnabled() - public static Map getSlots( - String serviceAppointmentId, - Id operatingHoursId, - Id schedulingPolicyId, - Boolean arrivalWindowFlag, - String localetimezone - ) { - - serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); - localetimezone = sanitizeFieldValues(localetimezone); - - Map slotsList = new Map(); - - try { - if(serviceAppointmentId != null) { - ServiceAppointment sa = [SELECT Id, ServiceTerritoryId - FROM ServiceAppointment - WHERE ID =: serviceAppointmentId - ][0]; - Timezone timeZone = Timezone.getTimeZone(localetimezone); - if(timeZone == null ) { - timeZone = UserInfo.getTimeZone(); - } - slotsList.put('timeZone', +timeZone.getId()); - - if (sa.ServiceTerritoryId != null) { - ServiceTerritory st = [SELECT OperatingHoursId - FROM ServiceTerritory - WHERE ID =: sa.ServiceTerritoryId - ][0]; - OperatingHours oh = [SELECT TimeZone - FROM OperatingHours - WHERE ID =: st.OperatingHoursID - ][0]; - timeZone = System.Timezone.getTimeZone(oh.TimeZone); - slotsList.put('timeZone', +timeZone.getId()); - - } - - List timeSlots = FSL.AppointmentBookingService.GetSlots( - serviceAppointmentId, - schedulingPolicyId, - operatingHoursId, - timeZone, - arrivalWindowFlag - ); - - slotsList.put('list', timeSlots); - List timeSlotRange = new List(); - - for(integer i=0; i getSlotsByAssignmentMethod( - String serviceAppointmentId, - Id operatingHoursId, - Id schedulingPolicyId, - Boolean arrivalWindowFlag, - String localetimezone - ){ - serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); - localetimezone = sanitizeFieldValues(localetimezone); - try { - - return getSlots(serviceAppointmentId, operatingHoursId, schedulingPolicyId, arrivalWindowFlag, localetimezone); - - } catch (Exception e) { - throw new AuraHandledException('Error in getSlotsByAssignmentMethod:::' + e.getMessage()); - } - } - - - @AuraEnabled() - public static Map scheduleSA(String serviceAppointmentId, String schedulingPolicyId) { - - serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); - schedulingPolicyId = sanitizeFieldValues(schedulingPolicyId); - Map updateStatusArray = new Map(); - - try { - - FSL.ScheduleResult myResult = new FSL.ScheduleResult(); - - if(!Test.isRunningTest()) { // avoid unit test to cover schedule SA - myResult = FSL.ScheduleService.schedule(schedulingPolicyId , serviceAppointmentId); - } - updateStatusArray.put('success', '' + myResult); - - return updateStatusArray; - - } catch (Exception e) { - throw new AuraHandledException('Error in scheduleSA:::' + e.getMessage() + ' ' + e.getLineNumber()); - } - } - - @AuraEnabled() - public static Map updateSASlot(String serviceAppointmentId, DateTime arrivalWindowStartTime, DateTime arrivalWindowEndTime) { - - serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); - Map updateStatusArray = new Map(); - - try { - ServiceAppointment sa = [SELECT Id - FROM ServiceAppointment - WHERE ID =: serviceAppointmentId - ][0]; - - if (Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() ) { - sa.ArrivalWindowStartTime = arrivalWindowStartTime; - sa.ArrivalWindowEndTime = arrivalWindowEndTime; - } else updateStatusArray.put('DML', 'Permission denied to update ArrivalWindowStartTime, ArrivalWindowEndTime'); - - if(ServiceAppointment.sObjectType.getDescribe().isUpdateable()) { - update sa; - } else updateStatusArray.put('DML', 'Permission denied to update ServiceAppointment'); - - updateStatusArray.put('success', 'Appointment Updated'); - - } catch (Exception e) { - updateStatusArray.put('error', ''+e); - } - - return updateStatusArray; - } - - @AuraEnabled() - public static Map updateServiceAppointmentStatus(String serviceAppointmentId, String statusId) { - - serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); - statusId = sanitizeFieldValues(statusId); - Map updateStatusArray = new Map(); - - try { - ServiceAppointment sa = [SELECT Id - FROM ServiceAppointment - WHERE ID =: serviceAppointmentId - ][0]; - - if (Schema.sObjectType.ServiceAppointment.fields.Status.isUpdateable() ) { - sa.Status = statusId; - } else updateStatusArray.put('DML', 'Permission denied to update Status'); - - if(ServiceAppointment.sObjectType.getDescribe().isUpdateable()) { - update sa; - } else updateStatusArray.put('DML', 'Permission denied to update ServiceAppointment'); - - updateStatusArray.put('success', 'Appointment Updated'); - } catch (Exception e) { - updateStatusArray.put('error', ''+e.getMessage()); - } - - return updateStatusArray; - } - - @AuraEnabled() - public static Map updateSA(String serviceAppointmentId, DateTime earliestStartDate, DateTime arrivalStartDate, DateTime arrivalEndDate) { - - serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); - Map newSaArray = new Map(); - - try { - if(serviceAppointmentId != null) { - ServiceAppointment sa = [SELECT Id, EarliestStartTime - FROM ServiceAppointment - WHERE ID =: serviceAppointmentId - ][0]; - if(sa != null) { - - if (Schema.sObjectType.ServiceAppointment.fields.EarliestStartTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() ) { - sa.EarliestStartTime = earliestStartDate; - sa.ArrivalWindowEndTime = arrivalEndDate; - sa.ArrivalWindowStartTime = arrivalStartDate; - } else newSaArray.put('DML', 'Permission denied to update EarliestStartTime, ArrivalWindowEndTime, ArrivalWindowStartTime'); - - if(ServiceAppointment.sObjectType.getDescribe().isUpdateable()) { - update sa; - } else newSaArray.put('DML', 'Permission denied to update ServiceAppointment'); - - newSaArray.put('success', 'service appointment updated' ); - - } - else { - newSaArray.put('error', 'Unable to find service appointment'); - } - } else { - newSaArray.put('error', 'No service appointment found'); - } - - } catch (Exception e) { - newSaArray.put('error', ''+e.getMessage()); - return newSaArray; - } - return newSaArray; - } - - @AuraEnabled - public static String deleteExistingRequiredResources(String workOrderId) { - workOrderId = sanitizeFieldValues(workOrderId); - String response; - try { - List requiredResourcePreferenceList = [SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId FROM ResourcePreference WHERE RelatedRecordId =: workOrderId AND PreferenceType =: 'Required']; - if(!requiredResourcePreferenceList.isEmpty()){ - delete requiredResourcePreferenceList; - } - response = 'success'; - - } catch (Exception e) { - response = '**ERROR** '+e.getMessage(); - throw new AuraHandledException('Error in deleteExistingRequiredResources:::' + e.getMessage()); - } - return response; - } - - @AuraEnabled - public static String deleteExistingResourcePreferencesForResource(String workOrderId, String serviceResourceId) { - workOrderId = sanitizeFieldValues(workOrderId); - serviceResourceId = sanitizeFieldValues(serviceResourceId); - String response; - try { - List resourcePreferenceList = [SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId FROM ResourcePreference WHERE RelatedRecordId =: workOrderId AND ServiceResourceId =: serviceResourceId]; - if(!resourcePreferenceList.isEmpty()){ - delete resourcePreferenceList; - } - response = 'success'; - - } catch (Exception e) { - response = '**ERROR** '+e.getMessage(); - throw new AuraHandledException('Error in deleteExistingResourcePreferencesForResource:::' + e.getMessage()); - } - return response; - } - - @AuraEnabled - public static String addNewRequiredResource(String workOrderId, String serviceResourceId) { - workOrderId = sanitizeFieldValues(workOrderId); - serviceResourceId = sanitizeFieldValues(serviceResourceId); - String response; - try { - List existingResourcePreference = [SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId FROM ResourcePreference WHERE RelatedRecordId =: workOrderId AND ServiceResourceId =: serviceResourceId]; - - if(existingResourcePreference == null || existingResourcePreference.IsEmpty()){ - ResourcePreference techReq = new ResourcePreference( - PreferenceType= 'Required', - RelatedRecordId = workOrderId, - ServiceResourceId = serviceResourceId - ); - insert techReq; - response = 'success'; - } else if(existingResourcePreference[0].PreferenceType != 'Required'){ - existingResourcePreference[0].PreferenceType= 'Required'; - update existingResourcePreference; - response = 'success'; - } - - } catch (Exception e) { - response = '**ERROR** '+e.getMessage(); - throw new AuraHandledException('Error in addNewRequiredResource resource ' + serviceResourceId + ' : ' + e.getMessage()); - } - return response; - } - - @AuraEnabled - public static Map assignCurrentUserAsRequiredResource(String serviceAppointmentId, String currentAssignmentMethod) { - serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); - currentAssignmentMethod = sanitizeFieldValues(currentAssignmentMethod); - try { - Map resultArray = new Map(); - String serviceResourceId = [SELECT Id FROM ServiceResource WHERE RelatedRecordId =: Userinfo.getUserId()][0]?.Id; - String workOrderId = [SELECT Id, ParentRecordId FROM ServiceAppointment WHERE Id =: serviceAppointmentId][0]?.ParentRecordId; - - if (workOrderId != null && serviceResourceId != null) { - if(ServiceResource.sObjectType.getDescribe().isUpdateable()) { - resultArray.put('deleteExistingRequiredResources: ', deleteExistingRequiredResources(workOrderId)); - } else resultArray.put('DML', 'Permission denied to delete ServiceResource'); - if(ServiceResource.sObjectType.getDescribe().isUpdateable()) { - resultArray.put('deleteExistingResourcePreferencesForResource: ', deleteExistingResourcePreferencesForResource(workOrderId, serviceResourceId)); - } else resultArray.put('DML', 'Permission denied to delete ServiceResource'); - if(currentAssignmentMethod == 'assignToMe'){ - if(ServiceResource.sObjectType.getDescribe().isCreateable()) { - if(ServiceResource.sObjectType.getDescribe().isUpdateable()) { - resultArray.put('addNewRequiredResource: ', addNewRequiredResource(workOrderId, serviceResourceId)); - List resourcePreferenceList = [SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId FROM ResourcePreference WHERE RelatedRecordId =: workOrderId AND PreferenceType =: 'Required']; - if(resourcePreferenceList != null && resourcePreferenceList.size() == 1){ - resultArray.put('success', serviceResourceId); - } else { - resultArray.put('error', serviceResourceId); - } - } else resultArray.put('DML', 'Permission denied to update ServiceResource'); - } else resultArray.put('DML', 'Permission denied to create ServiceResource'); - } - - } else { - resultArray.put('error', serviceResourceId); - } - - return resultArray; - - } catch (Exception e) { - throw new AuraHandledException('Error in assignCurrentUserAsRequiredResource:::' + e.getMessage()); - } - } - - @AuraEnabled - public static Map isUserExcludedResource(String serviceAppointmentId) { - serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); - Map results = new Map(); - - try { - - String serviceResourceId = [SELECT Id FROM ServiceResource WHERE RelatedRecordId =: Userinfo.getUserId()][0]?.Id; - String workOrderId = [SELECT Id, ParentRecordId FROM ServiceAppointment WHERE Id =: serviceAppointmentId][0]?.ParentRecordId; - results.put('serviceResourceId', serviceResourceId != null); - results.put('workOrderId', workOrderId != null); - - if(serviceResourceId != null && workOrderId != null){ - List resourcePreference = [SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId FROM ResourcePreference WHERE ServiceResourceId =: serviceResourceId AND RelatedRecordId =: workOrderId]; - if(!resourcePreference.isEmpty()){ - resourcePreference tech = resourcePreference[0]; - if((String)tech.get('PreferenceType') != null && (String)tech.get('PreferenceType') == 'Excluded'){ - results.put('success', true); - } - else{ - results.put('success', false); - } - } - }else{ - results.put('error', false); - } - - } catch (Exception e) { - results.put('error '+ e.getMessage() + ', ' + e.getLineNumber(), false); - throw new AuraHandledException('Error in isUserExcludedResource:::' + e.getMessage() + ', ' + e.getLineNumber()); - } - - return results; - } - - @AuraEnabled - public static Map cloneWorkOrder( - String originalSaId, - DateTime startPermitDate, - DateTime maxValidCalendarDate, - String dummySA, - String dummyWO - ) { - - originalSaId = sanitizeFieldValues(originalSaId); - dummySA = sanitizeFieldValues(dummySA); - dummyWO = sanitizeFieldValues(dummyWO); - Map results = new MAP(); - - try { - ServiceAppointment originalSa = [SELECT Id, - WorkTypeId, - EarliestStartTime, - ArrivalWindowStartTime, - ArrivalWindowEndTime, - SchedStartTime, - SchedEndTime, - DueDate, - ServiceTerritoryId, - Address, - ParentRecordId - FROM ServiceAppointment - WHERE ID =: originalSaId - ][0]; - - DateTime dueDate = originalSa.DueDate; - if(dummySA != null){ - //update existing startdate and due date - updateDummySa(dummySA, startPermitDate, maxValidCalendarDate, originalSa.ServiceTerritoryId); - results.put('dummyServiceAppointmentId', dummySA); - results.put('dummyWorkOrderId', dummyWO); - } - else{ - String originalWOId = originalSa.ParentRecordId; - - Address address = originalSa.Address; - - String newWOId = createNewDummyWorkOrder(originalSa.ServiceTerritoryId, originalSa.WorkTypeId, originalWOId ); - - if(String.isNotEmpty(newWOId)){ - List saList = [SELECT Id FROM ServiceAppointment WHERE ParentRecordId =: newWOId]; - if(saList.size() == 0){ - ServiceAppointment sa = new ServiceAppointment(); - if (Schema.sObjectType.ServiceAppointment.fields.DueDate.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.EarliestStartTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.ServiceTerritoryId.isUpdateable() ){ - sa.ParentRecordId = newWOId; - sa.DueDate = dueDate; - sa.EarliestStartTime = startPermitDate; - sa.ServiceTerritoryId = originalSa.ServiceTerritoryId; - } else results.put('DML', 'Permission denied to update DueDate, EarliestStartTime, ServiceTerritoryId'); - if(ServiceAppointment.sObjectType.getDescribe().isCreateable()) { - insert sa; - results.put('dummyServiceAppointmentId', sa.Id); - results.put('dummyWorkOrderId', newWOId); - } else results.put('DML', 'Permission denied to create ServiceAppointment'); - - } - else{ - ServiceAppointment sa = saList[0]; - updateDummySa(sa.Id, startPermitDate, maxValidCalendarDate, originalSa.ServiceTerritoryId); - results.put('dummyServiceAppointmentId', sa.Id); - results.put('dummyWorkOrderId', newWOId); - } - //Clone resource preference list - String workOrderId = [SELECT Id, ParentRecordId from ServiceAppointment WHERE Id =: originalSAId][0]?.ParentRecordId; - - // cloneResourcePreference(workOrderId, newWOId); - - } - } - - return results; - - }catch (Exception e) { - results.put('error', 'Error in clone work order:::' + e.getMessage() + e.getLineNumber()); - return results; - } - } - - @AuraEnabled - public static string deleteClonedResourcePreference(String clonedEorkOrderId) { - clonedEorkOrderId = sanitizeFieldValues(clonedEorkOrderId); - try { - List resourcePreferenceList = [SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId FROM ResourcePreference WHERE RelatedRecordId =: clonedEorkOrderId]; - - if(!resourcePreferenceList.isEmpty()){ - if(ServiceResource.sObjectType.getDescribe().isUpdateable()) { - delete resourcePreferenceList; - } else return ('error: Permission denied to update ServiceResource'); - } - - return clonedEorkOrderId; - - } catch (Exception e) { - throw new AuraHandledException(e.getMessage()); - } - } - - @AuraEnabled - public static string deleteClonedWorkOrder(String clonedEorkOrderId) { - clonedEorkOrderId = sanitizeFieldValues(clonedEorkOrderId); - try { - WorkOrder wo = [SELECT Id FROM WorkOrder WHERE Id =: clonedEorkOrderId][0]; - - if(wo != null){ - if(WorkOrder.sObjectType.getDescribe().isDeletable()) { - delete wo; - } else return 'error: Permission denied to delete WorkOrder - deleteClonedWorkOrder'; - - return wo.Id; - } - else{ - return ''; - } - - } catch (Exception e) { - throw new AuraHandledException(e.getMessage()); - } - } - - // @AuraEnabled - // public static string cloneResourcePreference(String workOrderId, String newWOId){ - // try { - - // List resourcePreferenceList = [SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId FROM ResourcePreference WHERE RelatedRecordId =: workOrderId]; - - // if(!resourcePreferenceList.isEmpty()){ - // //copy list - // if(ServiceResourcePreference.sObjectType.getDescribe().isCreateable()) { - // for (ResourcePreference tech : resourcePreferenceList){ - // copyResourcePreferenceObject(tech, newWOId); - // } - // } else return 'Error: Permission denied to create ServiceResourcePreference'; - // } - - // return newWOId; - // } catch (Exception e) { - // throw new AuraHandledException(e.getMessage()); - // } - // } - - @AuraEnabled - public static void copyResourcePreferenceObject(ResourcePreference originalRFObj, String newWO) { - newWO = sanitizeFieldValues(newWO); - try { - - ResourcePreference RFCopy = new ResourcePreference( - PreferenceType= originalRFObj.PreferenceType, - RelatedRecordId = newWO, - ServiceResourceId = originalRFObj.serviceResourceId - ); - if(!Test.isRunningTest()) { - insert RFCopy; - } - - } catch (Exception e) { - throw new AuraHandledException('Error in copyResourcePreferenceObject::: ' + newWO + ' ' + originalRFObj.serviceResourceId + e.getMessage()); - } - } - - @AuraEnabled - public static Map deleteClonedAppointmentData(String clonedServiceAppointmentId) { - clonedServiceAppointmentId = sanitizeFieldValues(clonedServiceAppointmentId); - Map result = new Map(); - try { - - ServiceAppointment sa = [SELECT Id, ParentRecordId FROM ServiceAppointment WHERE Id =: clonedServiceAppointmentId][0]; - - if(sa != null){ - String woid = sa.ParentRecordId; - WorkOrder wo = [SELECT Id FROM WorkOrder WHERE Id =: woid][0]; - if(ServiceAppointment.sObjectType.getDescribe().isDeletable()) { - delete sa; - } else result.put('error1','Permission denied to delete ServiceAppointment - deleteClonedAppointmentData'); - - if(wo != null && String.isNotEmpty(woid)){ - //delete after - List resourcePreferenceList = [SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId FROM ResourcePreference WHERE RelatedRecordId =: woid]; - if(resourcePreferenceList != null){ - if(ServiceResource.sObjectType.getDescribe().isUpdateable()) { - delete resourcePreferenceList; - } else result.put('error2','Permission denied to update ServiceResource - deleteClonedAppointmentData'); - - } - if(WorkOrder.sObjectType.getDescribe().isDeletable()) { - delete wo; - } else result.put('error3','Permission denied to delete WorkOrder - deleteClonedAppointmentData'); - result.put('success', 'Sa: ' + sa.id + ' WO: ' + woid); - } - - } - - return result; - } catch (Exception e) { - result.put('error', e.getMessage()); - return result; - } - } - - @AuraEnabled - public static Map updateDummySa(String dummySA, DateTime startPermitDate, DateTime maxValidCalendarDate, String serviceTerritoryId) { - dummySA = sanitizeFieldValues(dummySA); - serviceTerritoryId = sanitizeFieldValues(serviceTerritoryId); - try { - Map results = new Map(); - - ServiceAppointment sa = [SELECT Id, ServiceTerritoryId FROM ServiceAppointment where Id =: dummySA][0]; - if(sa != null) { - - if (Schema.sObjectType.ServiceAppointment.fields.EarliestStartTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.DueDate.isUpdateable() ) { - sa.EarliestStartTime = startPermitDate; - sa.DueDate = maxValidCalendarDate; - } else results.put('DML', 'Permission denied to update EarliestStartTime, DueDate'); - - if(String.isNotEmpty(serviceTerritoryId)){ - if (Schema.sObjectType.ServiceAppointment.fields.ServiceTerritoryId.isUpdateable() ){ - sa.ServiceTerritoryId = serviceTerritoryId; - } else results.put('DML', 'Permission denied to update ServiceTerritoryId'); - } - - if(ServiceAppointment.sObjectType.getDescribe().isUpdateable()) { - update sa; - } else results.put('DML', 'Permission denied to update ServiceAppointment'); - - results.put('said', sa.Id); - - } - else{ - results.put('error', 'Could not find dummySa'); - } - - return results; - - } catch (Exception e) { - Map results = new Map(); - results.put('error', e.getMessage() + e.getLineNumber()); - return results; - } - } - - @AuraEnabled - public static string createNewDummyWorkOrder(String serviceTerritoryId, String workTypeId, String originalWOId) { - serviceTerritoryId = sanitizeFieldValues(serviceTerritoryId); - workTypeId = sanitizeFieldValues(workTypeId); - originalWOId = sanitizeFieldValues(originalWOId); - try { - String result=''; - WorkOrder newWO = new WorkOrder(); - if(String.isNotEmpty(workTypeId)){ - if (Schema.sObjectType.WorkOrder.fields.WorkTypeId.isUpdateable() ){ - newWO.WorkTypeId = workTypeId; - } else return 'error: Permission denied to update WorkTypeId'; - } - - Address originalAddress; - try{ - originalAddress = [SELECT Address FROM WorkOrder WHERE Id =: originalWOId][0]?.Address; - } catch (Exception e){ - originalAddress = [SELECT Address FROM WorkOrderLineItem WHERE Id =: originalWOId][0]?.Address; - } - - if(String.IsEmpty(ServiceTerritoryId) && originalAddress != null){ - if(originalAddress.Latitude != null && originalAddress.Longitude != null){ - if (Schema.sObjectType.WorkOrder.fields.Longitude.isUpdateable() && - Schema.sObjectType.WorkOrder.fields.Latitude.isUpdateable() ){ - newWO.Longitude = originalAddress.Longitude; - newWO.Latitude = originalAddress.Latitude; - } else return 'error: Permission denied to update Longitude, Latitude'; - } - else { - if (Schema.sObjectType.WorkOrder.fields.Street.isUpdateable() && - Schema.sObjectType.WorkOrder.fields.City.isUpdateable() && - Schema.sObjectType.WorkOrder.fields.State.isUpdateable() && - Schema.sObjectType.WorkOrder.fields.Country.isUpdateable() && - Schema.sObjectType.WorkOrder.fields.PostalCode.isUpdateable() ){ - newWO.Street = originalAddress.Street; - newWO.City = originalAddress.City; - newWO.State = originalAddress.State; - newWO.Country = originalAddress.Country; - newWO.PostalCode = originalAddress.PostalCode; - } else return 'error: Permission denied to update Street, City, State, Country, PostalCode'; - } - } - - if(WorkOrder.sObjectType.getDescribe().isCreateable()) { - insert newWo; - } else return 'Error: Permission denied to create WorkOrder'; - - result = newWO.Id; - return result; - - } catch (Exception e) { - throw new AuraHandledException('Error in create new Dummy Work Order' + e.getMessage()); - } - } - - @AuraEnabled(cacheable=true) - public static String getUserName () { - ServiceResource sr = [SELECT RelatedRecordId, Name - FROM ServiceResource - WHERE RelatedRecordId =: Userinfo.getUserId() - ][0]; - - return sr.Name; - } - - @AuraEnabled() - public static Map convertTimeToOtherTimeZone(DateTime date1, DateTime date2, string sourceTimezone, string targetTimezone) - { - sourceTimezone = sanitizeFieldValues(sourceTimezone); - targetTimezone = sanitizeFieldValues(targetTimezone); - - Map detailArray = new Map(); - // Source Timezone - TimeZone tz = Timezone.getTimeZone(sourceTimezone); - - Integer offset = tz.getOffset(date1); - - Integer offset2 = tz.getOffset(date2); - - // target Timezone. - TimeZone targetTZ = Timezone.getTimeZone(targetTimezone); - - // Date 1 - integer offsetTotargetTZ = targetTZ.getOffset(date1); - integer correction1 = offset - offsetTotargetTZ; - - // Date 2 - integer offsetTotargetTZ2 = targetTZ.getOffset(date2); - integer correction2 = offset2 - offsetTotargetTZ2 ; - - detailArray.put('date1',date1.addMinutes(correction1 / (1000 * 60))); - detailArray.put('date2',date2.addMinutes(correction2 / (1000 * 60))); - - return detailArray; - } - - @AuraEnabled - public static Map getUpdatedSASchedulingInfo(String serviceAppointmentId) { - serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); - Map serviceAppointmentInfo = new Map(); - - try { - ServiceAppointment sa = [SELECT Id, - EarliestStartTime, - ArrivalWindowStartTime, - ArrivalWindowEndTime, - SchedStartTime, - SchedEndTime, - DueDate - FROM ServiceAppointment - WHERE ID =: serviceAppointmentId - ][0]; - - serviceAppointmentInfo.put('EarliestStartTime', ''+sa.EarliestStartTime); - serviceAppointmentInfo.put('ArrivalWindowStartTime', ''+sa.ArrivalWindowStartTime); - serviceAppointmentInfo.put('ArrivalWindowEndTime', ''+sa.ArrivalWindowEndTime); - serviceAppointmentInfo.put('SchedStartTime', ''+sa.SchedStartTime); - serviceAppointmentInfo.put('SchedEndTime', ''+sa.SchedEndTime); - serviceAppointmentInfo.put('DueDate', ''+sa.DueDate); - - } catch (Exception e) { - serviceAppointmentInfo.put('error', ''+ e); - } - return serviceAppointmentInfo; - } - - @AuraEnabled(cacheable=true) - public static Id getSchedulingPolicyId (String schedulingPolicyName) { - schedulingPolicyName = sanitizeFieldValues(schedulingPolicyName); - Id schedulingPolicyId = [SELECT Id, Name FROM FSL__Scheduling_Policy__c WHERE Name =: schedulingPolicyName LIMIT 1].Id; - return schedulingPolicyId; - } - - @AuraEnabled(cacheable=true) - public static Id getOperatingHoursId (String operatingHoursName) { - operatingHoursName = sanitizeFieldValues(operatingHoursName); - Id operatingHoursId = [SELECT Id, Name FROM OperatingHours WHERE Name =: operatingHoursName LIMIT 1].Id; - return operatingHoursId; - } - - - // ---------------------------------------------------------------- - // ---------------------------------------------------------------- - // ---------------------------------------------------------------- - // ---------------- FOLLOWUP APPOINTMENT FEATURE ------------------ - // ---------------------------------------------------------------- - // ---------------------------------------------------------------- - // ---------------------------------------------------------------- - - - @AuraEnabled - public static Map getSettingsObject(String recordId) { - - recordId = sanitizeFieldValues(recordId); - Map settings = new Map(); - - try { - FollowupAppointmentSettings__c obj = [SELECT ShowExactArrivalTime__c, - Operating_Hours__c, - Scheduling_Policy__c, - Scheduling_Horizon_Value__c, - Fields_To_Show_Page_1__c, - Fields_To_Show_Page_2__c, - Fields_To_Show_Page_3__c, - Record_To_Create__c, - Screen_Title_1__c, - Screen_Title_2__c, - Screen_Title_3__c, - Technician_Assigment__c - FROM FollowupAppointmentSettings__c - ][0]; - - settings.put('showExactArrivalTime', ''+obj.ShowExactArrivalTime__c); - settings.put('operatingHoursId', obj.Operating_Hours__c); - settings.put('schedulingPolicyId', obj.Scheduling_Policy__c); - settings.put('schedulingHorizonValue', ''+obj.Scheduling_Horizon_Value__c); - settings.put('fieldsToShowPage1', ''+obj.Fields_To_Show_Page_1__c); - settings.put('fieldsToShowPage2', ''+obj.Fields_To_Show_Page_2__c); - settings.put('fieldsToShowPage3', ''+obj.Fields_To_Show_Page_3__c); - settings.put('headerCustomPage1', ''+obj.Screen_Title_1__c); - settings.put('headerCustomPage2', ''+obj.Screen_Title_2__c); - settings.put('headerCustomPage3', ''+obj.Screen_Title_3__c); - settings.put('recordToCreate', ''+obj.Record_To_Create__c); - settings.put('workerAssignmentOptions', ''+obj.Technician_Assigment__c); - - } catch (Exception e) { - settings.put('error1', ''+e); - } - - try { - WorkOrder wo = [SELECT ContactId FROM WorkOrder WHERE Id =: recordId][0]; - Contact contact = [SELECT Name FROM Contact WHERE Id =: wo.ContactId][0]; - settings.put('contactName', ''+contact.Name); - } catch (Exception e) { - try { // If parent record is WOLI - WorkOrderLineItem woli = [SELECT WorkOrderId FROM WorkOrderLineItem WHERE Id =: recordId][0]; - WorkOrder wo = [SELECT ContactId FROM WorkOrder WHERE Id =: woli.WorkOrderId][0]; - Contact contact = [SELECT Name FROM Contact WHERE Id =: wo.ContactId][0]; - settings.put('contactName', ''+contact.Name); - } catch (Exception e1) { - System.debug('-- error while getting ContactId from parent record'); - settings.put('contactName', ''); - } - } - - List saList = [SELECT Id, ParentRecordId - FROM ServiceAppointment - WHERE ParentRecordId =: recordId]; - ServiceAppointment sa; - if(saList.size() > 1){ - try { // search for the relevant SA - sa = [SELECT Id, ParentRecordId - FROM ServiceAppointment - WHERE ParentRecordId =: recordId AND StatusCategory =: 'In Progress' - ][0]; - settings.put('serviceAppointmentId', ''+sa.Id); - settings.put('parentRecordId', ''+sa.ParentRecordId); - } catch (Exception e) { - try { - sa = [SELECT Id, ParentRecordId - FROM ServiceAppointment - WHERE ParentRecordId =: recordId AND StatusCategory =: 'Dispatched' - ][0]; - settings.put('serviceAppointmentId', ''+sa.Id); - settings.put('parentRecordId', ''+sa.ParentRecordId); - } catch (Exception e1) { - try { - sa = [SELECT Id, ParentRecordId - FROM ServiceAppointment - WHERE ParentRecordId =: recordId AND StatusCategory =: 'Scheduled' - ORDER BY AppointmentNumber DESC NULLS LAST - ][0]; - settings.put('serviceAppointmentId', ''+sa.Id); - settings.put('parentRecordId', ''+sa.ParentRecordId); - } catch (Exception e2) { - settings.put('error2', 'No Active Service Appointment found (StatusCategory = In Progress, Dispatched) AND no Service Appointment with StatusCategory = Dispatched: '+e2); - } - } - } - } else { - settings.put('serviceAppointmentId', ''+saList[0].Id); - settings.put('parentRecordId', ''+saList[0].ParentRecordId); - } - - return settings; - } - - // ---------------------------------------------------------------- - // ------------------------ CREATE RECORD ------------------------- - // ---------------------------------------------------------------- - - public static Object formatDataBaseOnValue(String fieldDataType, String fieldValue) { - fieldDataType = sanitizeFieldValues(fieldDataType); - fieldValue = sanitizeFieldValues(fieldValue); - - switch on fieldDataType { - when 'Double', 'Location'{ - System.debug('-> format to Double or Location'); - Decimal value = decimal.valueof(fieldValue); - return value; - } - when 'DateTime' { - System.debug('-> format to DateTime'); - DateTime value = Datetime.valueof(fieldValue.replace('T',' ')); - return value; - } - when 'Boolean' { - System.debug('-> format to Boolean'); - Boolean value = boolean.valueof(fieldValue); - return value; - } - when 'Address' { // unsupported types - System.debug('-> Address field is not allowed'); - String value = 'Address field is not allowed'; - return value; - } - when else { // when string - System.debug('-> format to String'); - String value = fieldValue; - return value; - } - } - } - - @AuraEnabled - public static Map createRecord(String recordToCreate, String recordId, List listOfFields, DateTime arrivalWindowStartTime, DateTime arrivalWindowEndTime, String schedulingHorizonValue) { - Map newRecord = new Map(); - try { - recordToCreate = sanitizeFieldValues(recordToCreate); - recordId = sanitizeFieldValues(recordId); - schedulingHorizonValue = sanitizeFieldValues(schedulingHorizonValue); - - switch on recordToCreate { - - // ---------------------------------------------------------------- - // ---------------------- CREATE WORK ORDER ----------------------- - // ---------------------------------------------------------------- - when 'WorkOrder' { - System.debug('** creating new WO **'); - WorkOrder newWO = new WorkOrder(); - for (String field : listOfFields) { - List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value - String objectApiName = split[0]; - String fieldApiName = split[1]; - String fieldDataType = split[2]; - String fieldValue = split[3]; - if (objectApiName == 'WorkOrder') { - System.debug('field input: '+split); - if (fieldValue != 'null') { - newWO.put(fieldApiName, formatDataBaseOnValue(fieldDataType, fieldValue)); - System.debug('--- value added to record'); - } else { - System.debug('--- disregarding null values'); - } - } - } - if(WorkOrder.sObjectType.getDescribe().isCreateable()) { - insert newWO; - newRecord.put('success', 'Work Order created'); - System.debug('*** Created WorkOrder record: '+newWO); - } else { - newRecord.put('DML', 'Permission denied to create Work Order'); - } - - try { - ServiceAppointment newSA = [SELECT Id,AppointmentNumber FROM ServiceAppointment WHERE ParentRecordId =: newWO.Id][0]; - if (Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() ) { - newSA.ArrivalWindowStartTime = arrivalWindowStartTime; - newSA.ArrivalWindowEndTime = arrivalWindowEndTime; - } else newRecord.put('DML', 'Permission denied to update ArrivalWindowEndTime, ArrivalWindowStartTime'); - for (String field : listOfFields) { - List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value - String objectApiName = split[0]; - String fieldApiName = split[1]; - String fieldDataType = split[2]; - String fieldValue = split[3]; - if (objectApiName == 'ServiceAppointment') { - System.debug('field input: '+split); - if (fieldValue != 'null') { - newSA.put(fieldApiName, formatDataBaseOnValue(fieldDataType, fieldValue)); - System.debug('--- value added to record'); - } else { - System.debug('--- disregarding null values'); - } - } - } - if(ServiceAppointment.sObjectType.getDescribe().isUpdateable()) { - update newSA; - newRecord.put('success', 'Service Appointment Updated'); - System.debug('*** Updated SA record: '+newSA); - newSA = [SELECT Id,AppointmentNumber FROM ServiceAppointment WHERE ParentRecordId =: newWO.Id][0]; - newRecord.put('SAId', newSA.Id); - newRecord.put('SANumber', newSA.AppointmentNumber); - } else { - newRecord.put('DML', 'Permission denied to update Service Appointment'); - } - - } catch (Exception e) { - // if SA not created automatically, create new SA and update its fields - try { - ServiceAppointment newSA = new ServiceAppointment(); - if (Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() ) { - newSA.ParentRecordId = newWO.Id; - newSA.ArrivalWindowStartTime = arrivalWindowStartTime; - newSA.ArrivalWindowEndTime = arrivalWindowEndTime; - } else newRecord.put('DML', 'Permission denied to update ArrivalWindowStartTime, ArrivalWindowEndTime'); - for (String field : listOfFields) { - List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value - String objectApiName = split[0]; - String fieldApiName = split[1]; - String fieldDataType = split[2]; - String fieldValue = split[3]; - if (objectApiName == 'ServiceAppointment') { - System.debug('field input: '+split); - if (fieldValue != 'null') { - newSA.put(fieldApiName, formatDataBaseOnValue(fieldDataType, fieldValue)); - System.debug('--- value added to record'); - } else { - System.debug('--- disregarding null values'); - } - } - } - if (newSA.EarliestStartTime == null) { // Must add ESP and DD values - if (Schema.sObjectType.ServiceAppointment.fields.EarliestStartTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.DueDate.isUpdateable() ) { - newSA.EarliestStartTime = System.now(); - newSA.DueDate = System.now().addDays(integer.valueof(schedulingHorizonValue)); - } else newRecord.put('DML', 'Permission denied to update EarliestStartTime, DueDate'); - } - if(ServiceAppointment.sObjectType.getDescribe().isCreateable()) { - insert newSA; - newRecord.put('success', 'Service Appointment Created'); - System.debug('*** Created SA record: '+newSA); - newSA = [SELECT Id,AppointmentNumber FROM ServiceAppointment WHERE ParentRecordId =: newWO.Id][0]; - newRecord.put('SAId', newSA.Id); - newRecord.put('SANumber', newSA.AppointmentNumber); - } else { - newRecord.put('DML', 'Permission denied to create Service Appointment'); - } - } catch (Exception e2) { - System.debug('*** error: Service Appointment not created: '+e2); - newRecord.put('error', 'error: Service Appointment not created: '+e2); - } - } - } - - // ---------------------------------------------------------------- - // ----------------- CREATE WORK ORDER LINE ITEM ------------------ - // ---------------------------------------------------------------- - - when 'WorkOrderLineItem' { - System.debug('** creating new WOLI **'); - WorkOrderLineItem newWOLI = new WorkOrderLineItem(); - try { // when initiated via WO - WorkOrder woParent = [SELECT Id FROM WorkOrder WHERE Id =: recordId][0]; - newWOLI.WorkOrderId = recordId; - } catch (Exception e2) { // when initiated via WOLI - WorkOrderLineItem woliParent = [SELECT Id,WorkOrderId FROM WorkOrderLineItem WHERE Id =: recordId][0]; - newWOLI.WorkOrderId = woliParent.WorkOrderId; - } - for (String field : listOfFields) { - List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value - String objectApiName = split[0]; - String fieldApiName = split[1]; - String fieldDataType = split[2]; - String fieldValue = split[3]; - if (objectApiName == 'WorkOrderLineItem') { - System.debug('field input: '+split); - if (fieldValue != 'null') { - newWOLI.put(fieldApiName, formatDataBaseOnValue(fieldDataType, fieldValue)); - System.debug('--- value added to record'); - } else { - System.debug('--- disregarding null values'); - } - } - } - if(WorkOrderLineItem.sObjectType.getDescribe().isCreateable()) { - insert newWOLI; - newRecord.put('success', 'Work Order Line Item created'); - System.debug('*** Created WorkOrderLineItem record: '+newWOLI); - } else { - newRecord.put('DML', 'Permission denied to create Work Order Line Item'); - } - - try { - ServiceAppointment newSA = [SELECT Id,AppointmentNumber FROM ServiceAppointment WHERE ParentRecordId =: newWOLI.Id][0]; - if (Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() ) { - newSA.ArrivalWindowStartTime = arrivalWindowStartTime; - newSA.ArrivalWindowEndTime = arrivalWindowEndTime; - } else newRecord.put('DML', 'Permission denied to update ArrivalWindowEndTime, ArrivalWindowStartTime'); - for (String field : listOfFields) { - List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value - String objectApiName = split[0]; - String fieldApiName = split[1]; - String fieldDataType = split[2]; - String fieldValue = split[3]; - if (objectApiName == 'ServiceAppointment') { - System.debug('field input: '+split); - if (fieldValue != 'null') { - newSA.put(fieldApiName, formatDataBaseOnValue(fieldDataType, fieldValue)); - System.debug('--- value added to record'); - } else { - System.debug('--- disregarding null values'); - } - } - } - if(ServiceAppointment.sObjectType.getDescribe().isUpdateable()) { - update newSA; - newRecord.put('success', 'Service Appointment Updated'); - System.debug('*** Updated SA record: '+newSA); - newSA = [SELECT Id,AppointmentNumber FROM ServiceAppointment WHERE ParentRecordId =: newWOLI.Id][0]; - newRecord.put('SAId', newSA.Id); - newRecord.put('SANumber', newSA.AppointmentNumber); - } else { - newRecord.put('DML', 'Permission denied to update Service Appointment'); - } - - } catch (Exception e) { - // if SA not created automatically, create new SA and update its fields - try { - ServiceAppointment newSA = new ServiceAppointment(); - if (Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() ) { - newSA.ParentRecordId = newWOLI.Id; - newSA.ArrivalWindowStartTime = arrivalWindowStartTime; - newSA.ArrivalWindowEndTime = arrivalWindowEndTime; - } else newRecord.put('DML', 'Permission denied to update ArrivalWindowStartTime, ArrivalWindowEndTime'); - for (String field : listOfFields) { - List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value - String objectApiName = split[0]; - String fieldApiName = split[1]; - String fieldDataType = split[2]; - String fieldValue = split[3]; - if (objectApiName == 'ServiceAppointment') { - System.debug('field input: '+split); - if (fieldValue != 'null') { - newSA.put(fieldApiName, formatDataBaseOnValue(fieldDataType, fieldValue)); - System.debug('--- value added to record'); - } else { - System.debug('--- disregarding null values'); - } - } - } - if (newSA.EarliestStartTime == null) { // Must add ESP and DD values - if (Schema.sObjectType.ServiceAppointment.fields.EarliestStartTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.DueDate.isUpdateable() ) { - newSA.EarliestStartTime = System.now(); - newSA.DueDate = System.now().addDays(integer.valueof(schedulingHorizonValue)); - } else newRecord.put('DML', 'Permission denied to update EarliestStartTime, DueDate'); - } - if(ServiceAppointment.sObjectType.getDescribe().isCreateable()) { - insert newSA; - newRecord.put('success', 'Service Appointment Created'); - System.debug('*** Created SA record: '+newSA); - newSA = [SELECT Id,AppointmentNumber FROM ServiceAppointment WHERE ParentRecordId =: newWOLI.Id][0]; - newRecord.put('SAId', newSA.Id); - newRecord.put('SANumber', newSA.AppointmentNumber); - } else { - newRecord.put('DML', 'Permission denied to create Service Appointment'); - } - } catch (Exception e2) { - System.debug('*** error: Service Appointment not created: '+e2); - newRecord.put('error', 'Service Appointment not created: '+e2); - } - } - } - - // ---------------------------------------------------------------- - // ----------------- CREATE SERVICE APPOINTMENT ------------------ - // ---------------------------------------------------------------- - - when else { - try { - System.debug('** creating new SA **'); - ServiceAppointment newSA = new ServiceAppointment(); - if (Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() ) { - newSA.ParentRecordId = recordId; - newSA.ArrivalWindowStartTime = arrivalWindowStartTime; - newSA.ArrivalWindowEndTime = arrivalWindowEndTime; - } else newRecord.put('DML', 'Permission denied to update ArrivalWindowStartTime, ArrivalWindowEndTime'); - for (String field : listOfFields) { - List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value - String objectApiName = split[0]; - String fieldApiName = split[1]; - String fieldDataType = split[2]; - String fieldValue = split[3]; - if (objectApiName == 'ServiceAppointment') { - System.debug('field input: '+split); - if (fieldValue != 'null') { - newSA.put(fieldApiName, formatDataBaseOnValue(fieldDataType, fieldValue)); - System.debug('--- value added to record'); - } else { - System.debug('--- disregarding null values'); - } - } - } - if (newSA.EarliestStartTime == null) { - if (Schema.sObjectType.ServiceAppointment.fields.EarliestStartTime.isUpdateable() && - Schema.sObjectType.ServiceAppointment.fields.DueDate.isUpdateable() ) { - newSA.EarliestStartTime = System.now(); - newSA.DueDate = System.now().addDays(integer.valueof(schedulingHorizonValue)); - System.debug('--- added EarliestStartTime: '+newSA.EarliestStartTime); - System.debug('--- added DueDate: '+newSA.DueDate); - } else newRecord.put('DML', 'Permission denied to update EarliestStartTime, DueDate'); - } - if(ServiceAppointment.sObjectType.getDescribe().isCreateable()) { - insert newSA; - newRecord.put('success', 'Service Appointment Created'); - System.debug('*** Created SA record: '+newSA); - newSA = [SELECT Id,AppointmentNumber FROM ServiceAppointment WHERE Id =: newSA.Id][0]; - newRecord.put('SAId', newSA.Id); - newRecord.put('SANumber', newSA.AppointmentNumber); - } else { - newRecord.put('DML', 'Permission denied to create Service Appointment'); - } - } catch (Exception e2) { - System.debug('*** error: Service Appointment not created: '+e2); - System.debug('*** newRecord: '+newRecord); - newRecord.put('error', ' Service Appointment not created: '+e2); - } - } - } - - return newRecord; - - } catch (Exception e) { - throw new AuraHandledException('--debug-- '+newRecord+' ; '+e.getMessage()); - } - - } - - // ---------------------------------------------------------------- - // ---------------------------------------------------------------- - // ---------------------------------------------------------------- - // ---------------------- SETTING PAGE LWC ------------------------ - // ---------------------------------------------------------------- - // ---------------------------------------------------------------- - // ---------------------------------------------------------------- - - // ************************* Settings APIs ********** // - - @Auraenabled(cacheable=true) - public static List getSchedulingPolicyList() { - List schedulingPolicyListNames = new List(); - - List schedulingPolicyList = [SELECT Id, Name FROM FSL__Scheduling_Policy__c WHERE IsDeleted =: false WITH SECURITY_ENFORCED]; - - for(integer i=0; i getOperatingHoursList() { - List operatingHoursListNames = new List(); - - List operatingHourList = [SELECT Id, Name FROM OperatingHours WHERE IsDeleted =: false WITH SECURITY_ENFORCED ]; - - for(integer i=0; i getObjectNames() { - - List stdObjectNames = new List(); - List allowedObjects = new List(); - try { - - List followUpSettingList = [SELECT Id, Record_To_Create__c FROM FollowupAppointmentSettings__c where Name = 'AA_Followup_Settings' WITH SECURITY_ENFORCED]; - - if(followUpSettingList.size() > 0) { - FollowupAppointmentSettings__c followupObj = followUpSettingList[0]; - if(followupObj.Record_To_Create__c == 'ServiceAppointment') { - allowedObjects.add('ServiceAppointment'); - } else { - allowedObjects.add('ServiceAppointment'); - allowedObjects.add('WorkOrder'); - allowedObjects.add('WorkOrderLineItem'); - } - } else { - allowedObjects.add('ServiceAppointment'); - allowedObjects.add('WorkOrder'); - allowedObjects.add('WorkOrderLineItem'); - } - - for ( Schema.SObjectType typ : Schema.getGlobalDescribe().values() ) { - String sobjName = String.valueOf(typ); - for(String obj : allowedObjects) { - if(sobjName.equals(obj)) { - stdObjectNames.add(sobjName); - } - } - } - System.debug('stdObjectNames: ' + stdObjectNames); - stdObjectNames.sort(); - - } catch(Exception e) { - - } - return stdObjectNames; - - } - - - @AuraEnabled - public static Map checkPermSetAssignedToUser() { - - // First check if the user is admin user. If so, allow to add perm set. - if (!isAuthorized()) { - throw new HandledException(UNAUTH_MSG); - } - - Map resList = new Map(); - List hasPermList = [SELECT count(Id)co FROM PermissionSetAssignment WHERE AssigneeId = :Userinfo.getUserId() AND PermissionSet.Name = 'SFS_FollowupAppointmentPerm']; - Integer count = (Integer)hasPermList[0].get('co'); - if(count == 1) { - system.debug('User has permission'); - resList.put('success', 'User has SFS followup appointment permission assigned'); - } else { - system.debug('Permission is missing'); - List permissionSetList = new List(); - for (User u : [SELECT ID,UserRole.Name,Profile.Name,IsActive FROM User WHERE Id =: UserInfo.getUserId() ]){ // Add fields as per your requirement... - PermissionSet ps = [SELECT Id FROM PermissionSet WHERE Name = 'SFS_FollowupAppointmentPerm']; - PermissionSetAssignment psa = new PermissionSetAssignment (PermissionSetId = ps.Id, AssigneeId = u.Id); - permissionSetList.add(psa); - } - try { - upsert permissionSetList; - resList.put('success', 'permission set assigned successfully'); - } catch(exception e){ - system.debug('exception caught' + e); - resList.put('error', 'error while assigning permissionset to user : ' +e.getMessage()); - } - } - return resList; - } - - @AuraEnabled - public static Map getConfigurationData() { - - Map settingList = new Map(); - - try { - FollowupAppointmentSettings__c obj = [SELECT ShowExactArrivalTime__c, - Operating_Hours__c, - Scheduling_Policy__c, - Scheduling_Horizon_Value__c, - Fields_To_Show_Page_1__c, - Fields_To_Show_Page_2__c, - Fields_To_Show_Page_3__c, - Record_To_Create__c, - Screen_Title_1__c, - Screen_Title_2__c, - Screen_Title_3__c, - Technician_Assigment__c - FROM FollowupAppointmentSettings__c - WITH SECURITY_ENFORCED ][0]; - - if(obj != null) { - - - if(obj.Scheduling_Policy__c != null) { - String schedulingPolicyName = [SELECT Id, Name FROM FSL__Scheduling_Policy__c WHERE Id =: obj.Scheduling_Policy__c ].Name; - if(schedulingPolicyName != null) { - settingList.put('schedulingPolicyName', String.valueOf(schedulingPolicyName)); - } - } - - if(obj.Operating_Hours__c != null) { - String opName = [SELECT Id, Name FROM OperatingHours WHERE Id =: obj.Operating_Hours__c ].Name; - if(opName != null) { - settingList.put('operatingHoursName', String.valueOf(opName)); - } - } - - - settingList.put('showExactArrivalTime', ''+obj.ShowExactArrivalTime__c); - settingList.put('operatingHoursId', obj.Operating_Hours__c); - settingList.put('schedulingPolicyId', obj.Scheduling_Policy__c); - settingList.put('schedulingHorizonValue', ''+obj.Scheduling_Horizon_Value__c); - settingList.put('fieldsToShowPage1', ''+obj.Fields_To_Show_Page_1__c); - settingList.put('fieldsToShowPage2', ''+obj.Fields_To_Show_Page_2__c); - settingList.put('fieldsToShowPage3', ''+obj.Fields_To_Show_Page_3__c); - settingList.put('objectsToCreate', ''+obj.Record_To_Create__c); - settingList.put('Screen_Title_1__c', ''+obj.Screen_Title_1__c); - settingList.put('Screen_Title_2__c', ''+obj.Screen_Title_2__c); - settingList.put('Screen_Title_3__c', ''+obj.Screen_Title_3__c); - settingList.put('Technician_Assigment__c', ''+obj.Technician_Assigment__c); - - - } else { - settingList.put('null', 'null'); - } - - } catch (Exception e) { - settingList.put('error', ''+e); - } - - return settingList; - } - - - @AuraEnabled - public static Map getSavedScreenData() { - - Map settingList = new Map(); - - try { - FollowupAppointmentSettings__c obj = [SELECT Screen_Title_1__c, - Screen_Title_2__c, - Screen_Title_3__c, - Fields_To_Show_Page_1__c, - Fields_To_Show_Page_2__c, - Fields_To_Show_Page_3__c - FROM FollowupAppointmentSettings__c - ][0]; - - if(obj != null) { - - settingList.put('Screen_Title_1__c', ''+obj.Screen_Title_1__c); - settingList.put('Screen_Title_2__c', ''+obj.Screen_Title_2__c); - settingList.put('Screen_Title_3__c', ''+obj.Screen_Title_3__c); - settingList.put('Fields_To_Show_Page_1__c', ''+obj.Fields_To_Show_Page_1__c); - settingList.put('Fields_To_Show_Page_2__c', ''+obj.Fields_To_Show_Page_2__c); - settingList.put('Fields_To_Show_Page_3__c', ''+obj.Fields_To_Show_Page_3__c); - - } else { - settingList.put('null', 'null'); - } - - } catch (Exception e) { - settingList.put('error', ''+e); - } - - return settingList; - } - - @Auraenabled(cacheable=false) - public static List getFieldNames(String objectName) { - String escapeFields = 'Address'; - Set escapeFieldList = new Set{'Address', 'AppointmentNumber', 'CreatedById', 'CreatedDate', - 'DurationInMinutes', 'FSL__Duration_In_Minutes__c', 'FSL__InternalSLRGeolocation__c', 'IsDeleted', 'LastModifiedById', 'LastModifiedDate', 'LastReferencedDate', 'LastViewedDate', 'ParentRecordId', 'ParentRecordStatusCategory', 'ParentRecordType', 'StatusCategory' , 'SystemModstamp' , - 'Discount', 'DurationInMinutes', 'FSL_Schedluing_Priority_c', 'GrandTotal', 'Id', 'IsClosed', 'IsDeleted', 'IsGeneratedFromMainianacePlan', 'LastModfiedById', 'LastModfiedDate', 'LastRefrencedDate', 'LastViewedDate', 'LineItemCount', 'MileStoneStatus', 'RootWorkOrderId', 'ServiceAppointmentCount', 'StatusCategory', 'SubTotal', 'SystemModStamp', 'TotalPrice', 'WorkOrderNumber' }; - - SObjectType objectType = Schema.getGlobalDescribe().get(objectName); - Map mfields = objectType.getDescribe().fields.getMap(); - - List sObjectDetailsList = new List(); - for(String s : mfields.keySet()) { - //sObjectDetailsList.add(objectName+'.'+String.valueOf(mfields.get(s))); - Boolean isStrinList = false; - - for(String escapeStr : escapeFieldList) { - if(String.valueOf(mfields.get(s)).equals(escapeStr)) { - isStrinList = true; - break; - } - } - if(!isStrinList) { - sObjectDetailsList.add(String.valueOf(mfields.get(s))); - } - System.debug('Field Names : ' + String.valueOf(mfields.get(s))); - } - sObjectDetailsList.sort(); - return sObjectDetailsList; - } - -// Save settings - - @AuraEnabled() - public static Map saveSettings(List inputArr) { - - String schedulingPolicy = sanitizeFieldValues(inputArr.get(0)); - String operatingHours = sanitizeFieldValues(inputArr.get(1)); - Boolean isExactAppintmentTime = Boolean.valueOf(inputArr.get(2)); - Integer schedulingHorizonUnits = Integer.valueof(inputArr.get(3)); - String objectsAllowedToBeCreated = sanitize(inputArr.get(4)); - String technicianAssignment = sanitize(inputArr.get(5)); - String objectsAllowed = sanitize(inputArr.get(6)); - - - Map responseResult = new Map(); - try { - - OperatingHours op = [Select Id From OperatingHours WHERE Name =: operatingHours WITH SECURITY_ENFORCED]; - FSL__Scheduling_Policy__c sp = [Select Id From FSL__Scheduling_Policy__c WHERE Name =: schedulingPolicy WITH SECURITY_ENFORCED]; - - - List followUpSettingList; - followUpSettingList = [SELECT Id FROM FollowupAppointmentSettings__c where Name = 'AA_Followup_Settings' WITH SECURITY_ENFORCED]; - if(followUpSettingList.size() > 0) { - FollowupAppointmentSettings__c followUpSetting = followUpSettingList[0]; - - if (Schema.sObjectType.FollowupAppointmentSettings__c.fields.Operating_Hours__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Scheduling_Horizon_Value__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Scheduling_Policy__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.ShowExactArrivalTime__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Technician_Assigment__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Record_To_Create__c.isUpdateable() ) { - - followUpSetting.Operating_Hours__c = op.id; - followUpSetting.Scheduling_Horizon_Value__c = schedulingHorizonUnits; - followUpSetting.Scheduling_Policy__c = sp.id; - followUpSetting.ShowExactArrivalTime__c = isExactAppintmentTime; - followUpSetting.Technician_Assigment__c = technicianAssignment; - followUpSetting.Record_To_Create__c = objectsAllowed; - - } - - if(FollowupAppointmentSettings__c.sObjectType.getDescribe().isUpdateable()) { - update followUpSetting; - responseResult.put('success', 'success'); - } else { - responseResult.put('DML', 'Permission denied to update the record'); - } - } else { - FollowupAppointmentSettings__c newRecord; - if(FollowupAppointmentSettings__c.sObjectType.getDescribe().isCreateable()) { - newRecord = new FollowupAppointmentSettings__c(); - } - if (Schema.sObjectType.FollowupAppointmentSettings__c.fields.Name.isCreateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Operating_Hours__c.isCreateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Scheduling_Horizon_Value__c.isCreateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Scheduling_Policy__c.isCreateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.ShowExactArrivalTime__c.isCreateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Technician_Assigment__c.isCreateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Record_To_Create__c.isCreateable() ) { - - newRecord.Name = 'AA_Followup_Settings'; - newRecord.Operating_Hours__c = op.id; - newRecord.Scheduling_Horizon_Value__c = schedulingHorizonUnits; - newRecord.Scheduling_Policy__c = sp.id; - newRecord.ShowExactArrivalTime__c = isExactAppintmentTime; - newRecord.Technician_Assigment__c = technicianAssignment; - newRecord.Record_To_Create__c = objectsAllowed; - } - - - if(FollowupAppointmentSettings__c.sObjectType.getDescribe().isCreateable()) { - insert newRecord; - responseResult.put('success', 'success'); - } else { - responseResult.put('DML', 'Permission denied to create the record'); - } - } - } - catch(Exception e) { - System.debug('Error while saving the record'+ e); - responseResult.put('error', e); - } - - return responseResult; - } - - - - @AuraEnabled() - public static Map saveFieldSettings(List inputArr) { - - - Integer pageNo = Integer.valueof(inputArr.get(0)); - String screenTitle = sanitize(inputArr.get(1)); - String fieldList = sanitizeFieldValues(String.valueOf(inputArr.get(2))); - - Map responseResult = new Map(); - try { - - List followUpSettingList = [SELECT Id - FROM FollowupAppointmentSettings__c - where Name = 'AA_Followup_Settings' WITH SECURITY_ENFORCED]; - - if(followUpSettingList.size() > 0) { - FollowupAppointmentSettings__c followUpSetting = followUpSettingList[0]; - - if (Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_1__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_1__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_2__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_2__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_3__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_3__c.isUpdateable() ) { - - if(pageNo == 1) { - followUpSetting.Screen_Title_1__c = screenTitle; - followUpSetting.Fields_To_Show_Page_1__c = fieldList; - } else if(pageNo == 2) { - followUpSetting.Screen_Title_2__c = screenTitle; - followUpSetting.Fields_To_Show_Page_2__c = fieldList; - } else { - followUpSetting.Screen_Title_3__c = screenTitle; - followUpSetting.Fields_To_Show_Page_3__c = fieldList; - } - } - - if(FollowupAppointmentSettings__c.sObjectType.getDescribe().isUpdateable()) { - update followUpSetting; - responseResult.put('success', 'success'); - } else { - responseResult.put('DML', 'Permission denied to update the record'); - } - - } else { - FollowupAppointmentSettings__c newRecord = new FollowupAppointmentSettings__c(); - - - if (Schema.sObjectType.FollowupAppointmentSettings__c.fields.Name.isCreateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_1__c.isCreateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_1__c.isCreateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_2__c.isCreateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_2__c.isCreateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_3__c.isCreateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_3__c.isCreateable() ) { - - newRecord.Name = 'AA_Followup_Settings'; - if(pageNo == 1) { - newRecord.Screen_Title_1__c = screenTitle; - newRecord.Fields_To_Show_Page_1__c = fieldList; - } else if(pageNo == 2) { - newRecord.Screen_Title_2__c = screenTitle; - newRecord.Fields_To_Show_Page_2__c = fieldList; - - } else { - newRecord.Screen_Title_3__c = screenTitle; - newRecord.Fields_To_Show_Page_3__c = fieldList; - } - - } - if(FollowupAppointmentSettings__c.sObjectType.getDescribe().isCreateable()) { - insert newRecord; - responseResult.put('success', 'success'); - } else { - responseResult.put('DML', 'Permission denied to create the record'); - } - } - - } - catch(Exception e) { - System.debug('Error while saving the record'+ e); - responseResult.put('error', e); - } - - return responseResult; - } - - @AuraEnabled() - public static Map deleteScreen(Integer screenNo) { - - Integer pageNo = Integer.valueOf(screenNo); - - - Map responseResult = new Map(); - try { - - List followUpSettingList = [SELECT Id - FROM FollowupAppointmentSettings__c - where Name = 'AA_Followup_Settings' WITH SECURITY_ENFORCED]; - - if(followUpSettingList.size() > 0) { - FollowupAppointmentSettings__c followUpSetting = followUpSettingList[0]; - if (Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_1__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_1__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_2__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_2__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_3__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_3__c.isUpdateable() ) { - - if(pageNo == 1) { - followUpSetting.Screen_Title_1__c = null; - followUpSetting.Fields_To_Show_Page_1__c = null; - } else if(pageNo == 2) { - followUpSetting.Screen_Title_2__c = null; - followUpSetting.Fields_To_Show_Page_2__c = null; - } else { - followUpSetting.Screen_Title_3__c = null; - followUpSetting.Fields_To_Show_Page_3__c = null; - } - } - - if(FollowupAppointmentSettings__c.sObjectType.getDescribe().isUpdateable()) { - update followUpSetting; - responseResult.put('success', 'success'); - } else { - responseResult.put('DML', 'Permission denied to update the record'); - } - } - - } - catch(Exception e) { - System.debug('Error while saving the record'+ e); - responseResult.put('error', e); - } - - return responseResult; - } - - @AuraEnabled() - public static Map duplicateScreenData(Integer fromScreenNo, Integer toScreenNo) { - - Integer pageNo = Integer.valueOf(fromScreenNo); - - - Map responseResult = new Map(); - try { - - List followUpSettingList = [SELECT Id, - Screen_Title_1__c, - Fields_To_Show_Page_1__c, - Screen_Title_2__c, - Fields_To_Show_Page_2__c, - Screen_Title_3__c, - Fields_To_Show_Page_3__c - FROM FollowupAppointmentSettings__c - where Name = 'AA_Followup_Settings' WITH SECURITY_ENFORCED]; - - if(followUpSettingList.size() > 0) { - FollowupAppointmentSettings__c followUpSetting = followUpSettingList[0]; - String copyTitle = ''; - String copyFields = ''; - if(fromScreenNo == 1) { - copyTitle = followUpSetting.Screen_Title_1__c ; - copyFields = followUpSetting.Fields_To_Show_Page_1__c; - } else if(fromScreenNo == 2) { - copyTitle = followUpSetting.Screen_Title_2__c; - copyFields = followUpSetting.Fields_To_Show_Page_2__c; - } else { - copyTitle = followUpSetting.Screen_Title_3__c; - copyFields = followUpSetting.Fields_To_Show_Page_3__c; - } - - if (Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_1__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_1__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_2__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_2__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_3__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_3__c.isUpdateable() ) { - - switch on toScreenNo { - when 1 { - followUpSetting.Screen_Title_1__c = copyTitle; - followUpSetting.Fields_To_Show_Page_1__c = copyFields; - - } - when 2 { - followUpSetting.Screen_Title_2__c = copyTitle; - followUpSetting.Fields_To_Show_Page_2__c = copyFields; - - } - when 3 { - followUpSetting.Screen_Title_3__c = copyTitle; - followUpSetting.Fields_To_Show_Page_3__c = copyFields; - } - } - - } - - if(FollowupAppointmentSettings__c.sObjectType.getDescribe().isUpdateable()) { - update followUpSetting; - responseResult.put('success', 'success'); - } else { - responseResult.put('DML', 'Permission denied to update the record'); - } - } - - } - catch(Exception e) { - System.debug('Error while saving the record'+ e); - responseResult.put('error', e); - } - - return responseResult; - } - - - @AuraEnabled() - public static Map swapScreenLeftRight(Integer fromScreenNo, Integer toScreenNo) { - - Integer pageNo = Integer.valueOf(fromScreenNo); - - - Map responseResult = new Map(); - try { - - List followUpSettingList = [SELECT Id, - Screen_Title_1__c, - Fields_To_Show_Page_1__c, - Screen_Title_2__c, - Fields_To_Show_Page_2__c, - Screen_Title_3__c, - Fields_To_Show_Page_3__c - FROM FollowupAppointmentSettings__c - where Name = 'AA_Followup_Settings' WITH SECURITY_ENFORCED]; - - if(followUpSettingList.size() > 0) { - FollowupAppointmentSettings__c followUpSetting = followUpSettingList[0]; - - String copyTitle = ''; - String copyFields = ''; - - if (Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_1__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_1__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_2__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_2__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_3__c.isUpdateable() && - Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_3__c.isUpdateable() ) { - - if(fromScreenNo == 1 && toScreenNo == 2) { - - String title1 = followUpSetting.Screen_Title_1__c; - String fields1 = followUpSetting.Fields_To_Show_Page_1__c; - - followUpSetting.Screen_Title_1__c = followUpSetting.Screen_Title_2__c; - followUpSetting.Fields_To_Show_Page_1__c = followUpSetting.Fields_To_Show_Page_2__c; - - followUpSetting.Screen_Title_2__c = title1; - followUpSetting.Fields_To_Show_Page_2__c = fields1; - - - } else if(fromScreenNo == 2 && toScreenNo == 3) { - String title2 = followUpSetting.Screen_Title_2__c; - String fields2 = followUpSetting.Fields_To_Show_Page_2__c; - - followUpSetting.Screen_Title_2__c = followUpSetting.Screen_Title_3__c; - followUpSetting.Fields_To_Show_Page_2__c = followUpSetting.Fields_To_Show_Page_3__c; - - followUpSetting.Screen_Title_3__c = title2; - followUpSetting.Fields_To_Show_Page_3__c = fields2; - - } else { - System.debug('screen not in record'); - } - } - - if(FollowupAppointmentSettings__c.sObjectType.getDescribe().isUpdateable()) { - update followUpSetting; - responseResult.put('success', 'success'); - } else { - responseResult.put('DML', 'Permission denied to update the record'); - } - } - - } - catch(Exception e) { - System.debug('Error while saving the record'+ e); - responseResult.put('error', e); - } - - return responseResult; - } - - private static String sanitize(String name) { - if (name == null) { - return name; - } - return name.replaceAll('[^\\w\\s]', '').replaceAll('_', ' ').trim(); - } - - private static String sanitizeFieldValues(String name) { - if (name == null) { - return name; - } - string HTML_TAG_PATTERN = '<.*?>'; - // compile the pattern - pattern myPattern = pattern.compile(HTML_TAG_PATTERN); - // get your matcher instance - matcher myMatcher = myPattern.matcher(name); - //remove the tags - return myMatcher.replaceAll(''); - } - - private static boolean isAuthorized() { - try { - return [SELECT Id FROM Profile WHERE Name = 'System Administrator'].Id == System.UserInfo.getProfileId(); - } catch (Exception e) { - throw new HandledException(e.getMessage() ); - } - } - - - -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/classes/ut_FollowUpAppointmentController.cls b/FollowUpAppointment/force-app/main/default/classes/ut_FollowUpAppointmentController.cls deleted file mode 100644 index b8e37e9..0000000 --- a/FollowUpAppointment/force-app/main/default/classes/ut_FollowUpAppointmentController.cls +++ /dev/null @@ -1,984 +0,0 @@ -@isTest -public without sharing class ut_FollowUpAppointmentController { - - - public static final String ADMIN_EMAIL = 'ApptAssistantAdmin@SFDC.com'; - public static final String PERMSET_ADMIN = 'aa_Admin'; - public static final String PROFILE_ADMIN = 'System Administrator'; - public static final String PROFILE_USER = 'Standard User'; - public static final String AA_PSL = 'FSLApptAssistant'; - - public static AssignedResource ar; - public static ServiceAppointment sa; - public static WorkOrder wo; - public static WorkOrder wo_sa; - public static ServiceResource sr; - public static ResourcePreference rp; - public static OperatingHours oh; - public static WorkType wt; - public static WorkType wt_sa; - public static FSL__Scheduling_Policy__c sp; - - public enum UserType { - ADMIN - } - - - - /** - * setupUser description - * @param profileName profileName description - * @param email email description - * @param doInsert doInsert description - * @return return description - */ - public static User setupUser(String profileName, String email, Boolean doInsert) { - return setupUser(profileName, 'Test', 'User ', null, email, doInsert); - } - - private static Map mapProfileNameToId = new Map(); - private static Id getIdForProfile(String profileName) { - if (!mapProfileNameToId.containsKey(profileName.toUpperCase())) { - for (Profile p : [SELECT Id, Name FROM Profile WHERE Name = :profileName]) { - mapProfileNameToId.put(p.Name.toUpperCase(), p.Id); - } - } - - return mapProfileNameToId.get(profileName.toUpperCase()); - } - - /** - * Setup User with Profile, name and number - **/ - public static User setupUser( - String profileName, - String firstName, - String lastName, - String employeeNumber, - String email, - Boolean doInsert - ) { - if (email == null) { - email = 'unit.test.user@' + UserInfo.getOrganizationId() + '.apexanalytixtest.com'; - } - User u = new User(); - u.FirstName = firstName; - u.LastName = lastName; - u.EmployeeNumber = employeeNumber; - u.Email = email; - u.Username = email; - u.Alias = 'tuser' + String.valueOf(Integer.valueOf((Math.random() * 999))); - u.Phone = '503-555-1212'; - u.ProfileId = getIdForProfile(profileName); - u.TimeZoneSidKey = 'America/Los_Angeles'; - u.LocaleSidKey = 'en_US'; - u.EmailEncodingKey = 'ISO-8859-1'; - u.LanguageLocaleKey = 'en_US'; - - if (UserInfo.isMultiCurrencyOrganization()) { - ((SObject) u).put('CurrencyIsoCode', 'USD'); - } - - if (doInsert) { - insert u; - } - - return u; - } - - - static AssignedResource makeData(User user) { - System.runAs(user) { - sr = new ServiceResource(); - - // ServiceTerritoryMember - sr.Name = 'John Doe'; - sr.RelatedRecordId = user.Id; - sr.LastKnownLatitude = 12.9716; - sr.LastKnownLongitude = 77.5946; - sr.IsActive = true; - insert sr; - - sp = new FSL__Scheduling_Policy__c(); - sp.Name = 'Customer First Test'; - insert sp; - - - oh = new OperatingHours(); - oh.TimeZone = 'Europe/Istanbul'; - oh.Name = 'Test time zone'; - insert oh; - - List offsetList = [SELECT TimeZone FROM OperatingHours LIMIT 1]; - ServiceTerritory ter = new ServiceTerritory(); - ter.IsActive = true; - ter.Name = 'Floor 5'; - ter.OperatingHoursId = oh.id; - insert ter; - - - ServiceTerritoryMember stm = new ServiceTerritoryMember(); - stm.ServiceResourceId = sr.id; - stm.ServiceTerritoryId = ter.id; - stm.EffectiveStartDate = Date.valueOf('2021-03-11'); - stm.TerritoryType = 'P'; - insert stm; - - Account a = new Account(); - a.Name = 'BAC'; - insert a; - - // create a work type - wt = new WorkType(); - wt.Name = 'test'; - wt.EstimatedDuration = 2; - wt.DurationType = 'Hours'; - wt.FSL__Due_Date_Offset__c = 7200; - wt.FSL__Exact_Appointments__c = true; - insert wt; - - wt_sa = new WorkType(); - wt_sa.Name = 'test1'; - wt_sa.EstimatedDuration = 2; - wt_sa.DurationType = 'Hours'; - wt_sa.FSL__Due_Date_Offset__c = 7200; - wt_sa.FSL__Exact_Appointments__c = true; - wt_sa.ShouldAutoCreateSvcAppt = true; - insert wt_sa; - - // create a work order - wo = new WorkOrder(); - wo.WorkTypeId = wt.Id; - wo.City = 'Bangalore'; - wo.Country = 'India'; - wo.Street = 'Palm Retreat'; - wo.Latitude = 12.9716; - wo.Longitude = 77.5946; - insert wo; - - wo_sa = new WorkOrder(); - wo_sa.WorkTypeId = wt_sa.Id; - wo_sa.City = 'Bangalore'; - wo_sa.Country = 'India'; - wo_sa.Street = 'Palm Retreat'; - wo_sa.Latitude = 12.9716; - wo_sa.Longitude = 77.5946; - insert wo_sa; - - rp = new ResourcePreference(); - rp.RelatedRecordId = wo.Id; - rp.ServiceResourceId = sr.Id; - insert rp; - - - sa = new ServiceAppointment(); - sa.ParentRecordId = wo.Id; - sa.City = 'Bangalore'; - sa.Country = 'India'; - sa.Street = 'Palm Retreat'; - sa.ArrivalWindowStartTime = DateTime.valueOf('2024-03-11 10:00:00'); - sa.ArrivalWindowEndTime = DateTime.valueOf('2024-03-11 14:00:00'); - sa.Status = 'Dispatched'; - sa.ServiceTerritoryId = ter.id; - sa.EarliestStartTime = DateTime.valueOf('2024-03-01 10:00:00'); - sa.DueDate = DateTime.valueOf('2024-05-19 10:00:00'); - sa.SchedStartTime = DateTime.valueOf('2024-03-11 11:00:00'); - sa.SchedEndTime = DateTime.valueOf('2024-03-11 12:00:00'); - sa.ServiceNote = 'Your appointment is confirmed'; - sa.Latitude = 12.9716; - sa.Longitude = 77.5946; - insert sa; - - ar = new AssignedResource(); - ar.ServiceResourceId = sr.id; - ar.ServiceAppointmentId = sa.id; - // TODO CHNAGE THIS - //ar.ApptAssistantInfoUrl = 'www.salesforce.com'; - insert ar; - - return ar; - } - return null; - - } - - public static User createUserWithPermSet(String email) { - User usr = setupUser('System Administrator', email, true); - - return usr; - } - - @isTest - static void test_getServiceAppointment() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user){ - Test.startTest(); - - Map mapInfo = FollowUpAppointmentController.getServiceAppointment(sa.Id); - Map mapInfo2 = FollowUpAppointmentController.getServiceAppointment('123123'); - - List schedulingPolicyList = FollowUpAppointmentController.getSchedulingPolicyList(); - List operatingHoursList = FollowUpAppointmentController.getOperatingHoursList(); - - - - system.assert(mapInfo.size() > 0, true); - system.assert(mapInfo2.size() > 0, true); - - system.assert(schedulingPolicyList.size() > 0, true); - system.assert(operatingHoursList.size() > 0, true); - - - // system.assert(saInfo.size() > 0); - // system.assert(currentAssignmentMethodInfo.size() > 0); - // system.assert(scheduleSAInfo.size() > 0); - // system.assert(Info1.size() > 0); - // system.assert(Info2.size() > 0); - // system.assert(Info3.size() > 0); - // system.assert(Info4.size() > 0); - - Test.stopTest(); - } - } - - - @isTest - static void test_getSlots() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user){ - Test.startTest(); - - Map mapInfo = FollowUpAppointmentController.getSlots(sa.Id, oh.Id, sp.Id, true, ''); - system.assert(mapInfo.size() > 0, true); - - Test.stopTest(); - } - } - - @isTest - static void test_getSlotsByAssignmentMethod() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user){ - Test.startTest(); - Map mapInfo = FollowUpAppointmentController.getSlotsByAssignmentMethod(sa.Id, oh.Id, sp.Id, true, ''); - system.assert(mapInfo.size() > 0, true); - Test.stopTest(); - } - } - - @isTest - static void test_scheduleSA() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map mapInfo = FollowUpAppointmentController.scheduleSA(sa.Id, sp.Id); - system.assert(mapInfo.size() > 0, true); - Test.stopTest(); - } - } - - @isTest - static void test_updateSASlot() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map mapInfo = FollowUpAppointmentController.updateSASlot(sa.Id, sa.EarliestStartTime, sa.dueDate); - system.assert(mapInfo.size() > 0, true); - Test.stopTest(); - } - } - - @isTest - static void test_updateServiceAppointmentStatus() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map mapInfo = FollowUpAppointmentController.updateServiceAppointmentStatus(sa.Id, sa.Status); - system.assert(mapInfo.size() > 0, true); - Test.stopTest(); - } - } - - @isTest - static void test_updateSA() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map mapInfo = FollowUpAppointmentController.updateSA(sa.Id, sa.EarliestStartTime, sa.dueDate, sa.dueDate); - system.assert(mapInfo.size() > 0, true); - Test.stopTest(); - } - } - - @isTest - static void test_deleteExistingRequiredResources() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - FollowUpAppointmentController.deleteExistingRequiredResources(wo.Id); - //system.assert(mapInfo.size() > 0, true); - Test.stopTest(); - } - } - - @isTest - static void test_deleteExistingResourcePreferencesForResource() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - FollowUpAppointmentController.deleteExistingResourcePreferencesForResource(wo.Id, wo.Id); - //system.assert(mapInfo.size() > 0, true); - Test.stopTest(); - } - } - - @isTest - static void test_addNewRequiredResource() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - WorkOrder tempWo = new WorkOrder(); - tempWo.WorkTypeId = wt.Id; - insert tempWo; - Test.startTest(); - FollowUpAppointmentController.addNewRequiredResource(wo.Id, sr.Id); - FollowUpAppointmentController.addNewRequiredResource(tempWo.Id, sr.Id); - Test.stopTest(); - } - } - - @isTest - static void test_assignCurrentUserAsRequiredResource() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map mapInfo = FollowUpAppointmentController.assignCurrentUserAsRequiredResource(sa.Id, 'assignToMe'); - system.assert(mapInfo.size() > 0, true); - Test.stopTest(); - } - } - - @isTest - static void test_isUserExcludedResource() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map mapInfo = FollowUpAppointmentController.isUserExcludedResource(sa.Id); - //Map mapInfo2 = FollowUpAppointmentController.isUserExcludedResource('tempId'); - system.assert(mapInfo.size() > -1, true); - Test.stopTest(); - } - } - - @isTest - static void test_cloneWorkOrder() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map mapInfo = FollowUpAppointmentController.cloneWorkOrder(sa.Id, sa.SchedStartTime, sa.DueDate, sa.Id, wo.Id); - Map mapInfo2 = FollowUpAppointmentController.cloneWorkOrder(sa.Id, sa.SchedStartTime, sa.DueDate, null, null); - - system.assert(mapInfo.size() > -1, true); - system.assert(mapInfo2.size() > -1, true); - - Test.stopTest(); - } - } - - @isTest - static void test_deleteClonedResourcePreference() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - String mapInfo = FollowUpAppointmentController.deleteClonedResourcePreference(wo.Id); - system.assert(mapInfo.length() > -1, true); - Test.stopTest(); - } - } - - - @isTest - static void test_copyResourcePreferenceObject() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - FollowUpAppointmentController.copyResourcePreferenceObject(rp, wo.Id); - //system.assert(mapInfo.length() > -1, true); - Test.stopTest(); - } - } - - @isTest - static void test_updateDummySa() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map mapInfo = FollowUpAppointmentController.updateDummySa(sa.Id, sa.SchedStartTime, sa.SchedEndTime, sa.ServiceTerritoryId); - system.assert(mapInfo.size() > -1, true); - Test.stopTest(); - } - } - - @isTest - static void test_createNewDummyWorkOrder() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - - WorkOrder tempWo = new WorkOrder(); - tempWo.WorkTypeId = wt.Id; - tempWo.City = 'Bangalore'; - tempWo.Country = 'India'; - tempWo.Street = 'Palm Retreat'; - insert tempWo; - - Test.startTest(); - String mapInfo = FollowUpAppointmentController.createNewDummyWorkOrder(sa.ServiceTerritoryId, wt.Id, wo.Id); - String mapInfo2 = FollowUpAppointmentController.createNewDummyWorkOrder('', wt.Id, wo.Id); - String mapInfo3 = FollowUpAppointmentController.createNewDummyWorkOrder('', wt.Id, tempWo.Id); - system.assert(mapInfo.length() > -1, true); - Test.stopTest(); - } - } - - @isTest - static void test_getUserName() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - String mapInfo = FollowUpAppointmentController.getUserName(); - system.assert(mapInfo.length() > -1, true); - Test.stopTest(); - } - } - - @isTest - static void test_convertTimeToOtherTimeZone() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map resultArray = FollowUpAppointmentController.convertTimeToOtherTimeZone(sa.DueDate, sa.EarliestStartTime, 'America/Tijuana', 'America/Tijuana'); - system.assert(resultArray.size() > 0, true); - Test.stopTest(); - } - } - - @isTest - static void test_getUpdatedSASchedulingInfo() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map resultArray = FollowUpAppointmentController.getUpdatedSASchedulingInfo(sa.Id); - system.assert(resultArray.size() > 0, true); - Test.stopTest(); - } - } - - @isTest - static void test_getSpAndOpId() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Id resultArray = FollowUpAppointmentController.getSchedulingPolicyId(sp.Name); - Id resultArray2 = FollowUpAppointmentController.getOperatingHoursId(oh.Name); - - system.assert(resultArray != null, true); - system.assert(resultArray2 != null, true); - - Test.stopTest(); - } - } - - @isTest - static void test_getSettingsObject() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map resultArray = FollowUpAppointmentController.getSettingsObject(wo.Id); - system.assert(resultArray.size() > -1 , true); - Test.stopTest(); - } - } - - @isTest - static void test_getSettingsObject2() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - // Insert setting object - FollowupAppointmentSettings__c settingsObj = new FollowupAppointmentSettings__c(); - settingsObj.ShowExactArrivalTime__c = true; - settingsObj.Operating_Hours__c = oh.Id; - settingsObj.Scheduling_Policy__c = sp.Id; - settingsObj.Name = 'AA_Followup_Settings'; - settingsObj.Screen_Title_1__c = 'abc'; - settingsObj.Screen_Title_2__c = 'abc'; - settingsObj.Screen_Title_3__c = 'abc'; - settingsObj.Record_To_Create__c = 'workOrder'; - settingsObj.Scheduling_Horizon_Value__c = 12; - settingsObj.Technician_Assigment__c = '23'; - insert settingsObj; - Test.startTest(); - Map resultArray2 = FollowUpAppointmentController.getSettingsObject(wo.Id); - Test.stopTest(); - } - } - - @isTest - static void test_deleteClonedAppointmentData() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map mapInfo = FollowUpAppointmentController.deleteClonedAppointmentData(sa.Id); - system.assert(mapInfo.size() > 0, true); - Test.stopTest(); - } - } - - // @isTest - // static void Test_cloneResourcePreference() { - // User user = createUserWithPermSet(ADMIN_EMAIL); - // makeData(user); - // system.runas(user) { - // WorkOrder newWo = new WorkOrder(); - // newWo.WorkTypeId = wt.Id; - // insert newWo; - // Test.startTest(); - // String resultStr = FollowUpAppointmentController.cloneResourcePreference(wo.Id, newWo.Id); - // system.assert(resultStr.length() > -1, true); - // Test.stopTest(); - // } - // } - - @isTest - static void Test_deleteClonedWorkOrder() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - String resultStr = FollowUpAppointmentController.deleteClonedWorkOrder(wo.Id); - system.assert(resultStr.length() > -1, true); - Test.stopTest(); - } - } - - @isTest - static void Test_getObjectNames() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - List resultStr = FollowUpAppointmentController.getObjectNames(); - system.assert(resultStr.size() > -1, true); - Test.stopTest(); - } - } - - @isTest - static void Test_getConfigurationData() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map resultStr = FollowUpAppointmentController.getConfigurationData(); - system.assert(resultStr.size() > -1, true); - Test.stopTest(); - } - } - - @isTest - static void Test_getSavedScreenData() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map resultStr = FollowUpAppointmentController.getSavedScreenData(); - system.assert(resultStr.size() > -1, true); - Test.stopTest(); - } - } - - @isTest - static void test_saveSettings() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - List objectList = new List(); - objectList.add(sp.Name); - objectList.add(oh.Name); - objectList.add('true'); - objectList.add('10'); - objectList.add('serviceAppointment'); - objectList.add('1'); - objectList.add('serviceAppointment'); - Test.startTest(); - Map resultStr = FollowUpAppointmentController.saveSettings(objectList); - system.assert(resultStr.size() > -1, true); - Test.stopTest(); - } - } - - @isTest - static void Test_saveSettings2() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - - List objectList = new List(); - objectList.add(sp.Name); - objectList.add(oh.Name); - objectList.add('true'); - objectList.add('10'); - objectList.add('serviceAppointment'); - objectList.add('1'); - objectList.add('serviceAppointment'); - - // Insert setting object - FollowupAppointmentSettings__c settingsObj = new FollowupAppointmentSettings__c(); - settingsObj.ShowExactArrivalTime__c = true; - settingsObj.Operating_Hours__c = oh.Id; - settingsObj.Scheduling_Policy__c = sp.Id; - settingsObj.Name = 'AA_Followup_Settings'; - settingsObj.Screen_Title_1__c = 'abc'; - settingsObj.Screen_Title_2__c = 'abc'; - settingsObj.Screen_Title_3__c = 'abc'; - settingsObj.Record_To_Create__c = 'workOrder'; - settingsObj.Scheduling_Horizon_Value__c = 12; - settingsObj.Technician_Assigment__c = '23'; - insert settingsObj; - Test.startTest(); - Map resultStr2 = FollowUpAppointmentController.saveSettings(objectList); - Test.stopTest(); - } - } - - - - - @isTest - static void Test_saveFieldSettings2() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - - // Insert setting object - FollowupAppointmentSettings__c settingsObj = new FollowupAppointmentSettings__c(); - settingsObj.ShowExactArrivalTime__c = true; - settingsObj.Operating_Hours__c = oh.Id; - settingsObj.Scheduling_Policy__c = sp.Id; - settingsObj.Name = 'AA_Followup_Settings'; - settingsObj.Screen_Title_1__c = 'abc'; - settingsObj.Screen_Title_2__c = 'abc'; - settingsObj.Screen_Title_3__c = 'abc'; - settingsObj.Record_To_Create__c = 'workOrder'; - settingsObj.Scheduling_Horizon_Value__c = 12; - settingsObj.Technician_Assigment__c = '23'; - insert settingsObj; - - Test.startTest(); - List objectList = new List(); - objectList.add('1'); - objectList.add('screentitle'); - objectList.add('serviceAppointment.Account'); - Map resultStr = FollowUpAppointmentController.saveFieldSettings(objectList); - system.assert(resultStr.size() > -1, true); - - List objectList2 = new List(); - objectList2.add('2'); - objectList2.add('screentitle'); - objectList2.add('serviceAppointment.Account'); - Map resultStr2 = FollowUpAppointmentController.saveFieldSettings(objectList2); - - - List objectList3 = new List(); - objectList3.add('3'); - objectList3.add('screentitle'); - objectList3.add('serviceAppointment.Account'); - Map resultStr3 = FollowUpAppointmentController.saveFieldSettings(objectList3); - - Test.stopTest(); - } - } - - @isTest - static void Test_saveFieldSettings() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - List objectList = new List(); - objectList.add('1'); - objectList.add('screentitle'); - objectList.add('serviceAppointment.Account'); - Map resultStr = FollowUpAppointmentController.saveFieldSettings(objectList); - system.assert(resultStr.size() > -1, true); - - List objectList2 = new List(); - objectList2.add('2'); - objectList2.add('screentitle'); - objectList2.add('serviceAppointment.Account'); - Map resultStr2 = FollowUpAppointmentController.saveFieldSettings(objectList2); - - - List objectList3 = new List(); - objectList3.add('3'); - objectList3.add('screentitle'); - objectList3.add('serviceAppointment.Account'); - Map resultStr3 = FollowUpAppointmentController.saveFieldSettings(objectList3); - - Test.stopTest(); - } - } - - @isTest - static void Test_deleteScreen() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - FollowupAppointmentSettings__c settingsObj = new FollowupAppointmentSettings__c(); - settingsObj.ShowExactArrivalTime__c = true; - settingsObj.Operating_Hours__c = oh.Id; - settingsObj.Scheduling_Policy__c = sp.Id; - settingsObj.Name = 'AA_Followup_Settings'; - settingsObj.Screen_Title_1__c = 'abc'; - settingsObj.Screen_Title_2__c = 'abc'; - settingsObj.Screen_Title_3__c = 'abc'; - settingsObj.Record_To_Create__c = 'workOrder'; - settingsObj.Scheduling_Horizon_Value__c = 12; - settingsObj.Technician_Assigment__c = '23'; - insert settingsObj; - - Test.startTest(); - - Map resultStrz = FollowUpAppointmentController.duplicateScreenData(1,1); - system.assert(resultStrz.size() > -1, true); - Map resultStr2z = FollowUpAppointmentController.duplicateScreenData(1,2); - Map resultStr3z = FollowUpAppointmentController.duplicateScreenData(1,3); - - Map resultStr4 = FollowUpAppointmentController.duplicateScreenData(2,1); - Map resultStr5 = FollowUpAppointmentController.duplicateScreenData(2,2); - Map resultStr6 = FollowUpAppointmentController.duplicateScreenData(2,3); - - Map resultStr7 = FollowUpAppointmentController.duplicateScreenData(3,1); - Map resultStr8 = FollowUpAppointmentController.duplicateScreenData(3,2); - Map resultStr9 = FollowUpAppointmentController.duplicateScreenData(3,3); - - Map swipeLeft1 = FollowUpAppointmentController.swapScreenLeftRight(1,2); - Map swipeLeft2 = FollowUpAppointmentController.swapScreenLeftRight(2,3); - Map swipeLeft3 = FollowUpAppointmentController.swapScreenLeftRight(3,3); - - Map resultStr = FollowUpAppointmentController.deleteScreen(1); - system.assert(resultStr.size() > -1, true); - Map resultStr2 = FollowUpAppointmentController.deleteScreen(2); - Map resultStr3 = FollowUpAppointmentController.deleteScreen(3); - - Test.stopTest(); - } - } - - // @isTest - // static void Test_duplicateScreenData() { - // User user = createUserWithPermSet(ADMIN_EMAIL); - // makeData(user); - // system.runas(user) { - // FollowupAppointmentSettings__c settingsObj = new FollowupAppointmentSettings__c(); - // settingsObj.ShowExactArrivalTime__c = true; - // settingsObj.Operating_Hours__c = oh.Id; - // settingsObj.Scheduling_Policy__c = sp.Id; - // settingsObj.Name = 'AA_Followup_Settings'; - // settingsObj.Screen_Title_1__c = 'abc'; - // settingsObj.Screen_Title_2__c = 'abc'; - // settingsObj.Screen_Title_3__c = 'abc'; - // settingsObj.Record_To_Create__c = 'workOrder'; - // settingsObj.Scheduling_Horizon_Value__c = 12; - // settingsObj.Technician_Assigment__c = '23'; - // insert settingsObj; - - // Test.startTest(); - // Map resultStr = FollowUpAppointmentController.duplicateScreenData(1,1); - // system.assert(resultStr.size() > -1, true); - // Map resultStr2 = FollowUpAppointmentController.duplicateScreenData(1,2); - // Map resultStr3 = FollowUpAppointmentController.duplicateScreenData(1,3); - - // Map resultStr4 = FollowUpAppointmentController.duplicateScreenData(2,1); - // Map resultStr5 = FollowUpAppointmentController.duplicateScreenData(2,2); - // Map resultStr6 = FollowUpAppointmentController.duplicateScreenData(2,3); - - // Map resultStr7 = FollowUpAppointmentController.duplicateScreenData(3,1); - // Map resultStr8 = FollowUpAppointmentController.duplicateScreenData(3,2); - // Map resultStr9 = FollowUpAppointmentController.duplicateScreenData(3,3); - // Test.stopTest(); - // } - // } - - - // @isTest - // static void Test_saveFieldSettings() { - // User user = createUserWithPermSet(ADMIN_EMAIL); - // makeData(user); - // system.runas(user) { - // Test.startTest(); - // List objectList = new List(); - // objectList.add('1'); - // objectList.add('screentitle'); - // objectList.add('serviceAppointment.Account'); - // Map resultStr = FollowUpAppointmentController.saveFieldSettings(objectList); - // system.assert(resultStr.size() > -1, true); - // Test.stopTest(); - // } - // } - - @isTest - static void Test_formatDataBaseOnValue() { - - String decimalValue = '30.00'; - String dateTimeValue = '2021-03-11 10:00:00'; - String booleanValue = 'true'; - String stringValue = 'string'; - Boolean answer1 = false; - Boolean answer2 = false; - Boolean answer3 = false; - Boolean answer4 = false; - - Test.startTest(); - - Object decimalOutput = FollowUpAppointmentController.formatDataBaseOnValue('Double', decimalValue); - Object dateTimeOutput = FollowUpAppointmentController.formatDataBaseOnValue('DateTime', dateTimeValue); - Object booleanOutput = FollowUpAppointmentController.formatDataBaseOnValue('Boolean', booleanValue); - Object stringOutput = FollowUpAppointmentController.formatDataBaseOnValue('String', stringValue); - - if (decimalOutput instanceof Decimal) answer1 = true; - if (dateTimeOutput instanceof DateTime) answer2 = true; - if (booleanOutput instanceof Boolean) answer3 = true; - if (stringOutput instanceof String) answer4 = true; - - system.assert(answer1 , true); - system.assert(answer2 , true); - system.assert(answer3 , true); - system.assert(answer4 , true); - - Test.stopTest(); - } - - @isTest - static void test_createRecord_WO() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - List arr = new List(); - arr.add('ServiceAppointment,Duration,Double,60'); - arr.add('ServiceAppointment,DurationType,Picklist,Minutes'); - arr.add('ServiceAppointment,FSL__Auto_Schedule__c,Boolean,false'); - Test.startTest(); - Map resultArray = FollowUpAppointmentController.createRecord('WorkOrder', wo.Id, arr, sa.ArrivalWindowStartTime, sa.ArrivalWindowEndTime, '10' ); - Test.stopTest(); - } - } - - @isTest - static void test_createRecord_WO_SA() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - List arr = new List(); - arr.add('WorkOrder,WorkTypeId,Reference,'+wt_sa.Id); - arr.add('ServiceAppointment,Duration,Double,60'); - arr.add('ServiceAppointment,DurationType,Picklist,Minutes'); - arr.add('ServiceAppointment,FSL__Auto_Schedule__c,Boolean,false'); - Test.startTest(); - Map resultArray = FollowUpAppointmentController.createRecord('WorkOrder', wo_sa.Id, arr, sa.ArrivalWindowStartTime, sa.ArrivalWindowEndTime, '10' ); - Test.stopTest(); - } - } - - @isTest - static void test_createRecord_WOLI() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - List arr = new List(); - arr.add('ServiceAppointment,Duration,Double,60'); - arr.add('ServiceAppointment,DurationType,Picklist,Minutes'); - arr.add('ServiceAppointment,FSL__Auto_Schedule__c,Boolean,false'); - Test.startTest(); - Map resultArray = FollowUpAppointmentController.createRecord('WorkOrderLineItem', wo.Id, arr, sa.ArrivalWindowStartTime, sa.ArrivalWindowEndTime, '10' ); - Test.stopTest(); - } - } - - @isTest - static void test_createRecord_WOLI_SA() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - List arr = new List(); - arr.add('WorkOrderLineItem,WorkTypeId,Reference,'+wt_sa.Id); - arr.add('ServiceAppointment,Duration,Double,60'); - arr.add('ServiceAppointment,DurationType,Picklist,Minutes'); - arr.add('ServiceAppointment,FSL__Auto_Schedule__c,Boolean,false'); - Test.startTest(); - Map resultArray = FollowUpAppointmentController.createRecord('WorkOrderLineItem', wo_sa.Id, arr, sa.ArrivalWindowStartTime, sa.ArrivalWindowEndTime, '10' ); - Test.stopTest(); - } - } - - @isTest - static void test_createRecord_SA() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - List arr = new List(); - arr.add('ServiceAppointment,Duration,Double,60'); - arr.add('ServiceAppointment,DurationType,Picklist,Minutes'); - arr.add('ServiceAppointment,FSL__Auto_Schedule__c,Boolean,false'); - Test.startTest(); - Map resultArray = FollowUpAppointmentController.createRecord('ServiceAppointment', wo.Id, arr, sa.ArrivalWindowStartTime, sa.ArrivalWindowEndTime, '10' ); - Test.stopTest(); - } - } - - - @isTest - static void test_checkPermissionSetAssignment() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Map resultArray = FollowUpAppointmentController.checkPermSetAssignedToUser(); - Test.stopTest(); - } - } - - @isTest - static void test_getWorkTypeOffset() { - User user = createUserWithPermSet(ADMIN_EMAIL); - makeData(user); - system.runas(user) { - Test.startTest(); - Decimal offset = FollowUpAppointmentController.getWorkTypeOffset(wt.Name); - Test.stopTest(); - } - } - -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/.eslintrc.json b/FollowUpAppointment/force-app/main/default/lwc/.eslintrc.json deleted file mode 100644 index a28f942..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": ["@salesforce/eslint-config-lwc/recommended", "prettier"], - "overrides": [ - { - "files": ["*.test.js"], - "rules": { - "@lwc/lwc/no-unexpected-wire-adapter-usages": "off" - } - } - ] -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/__tests__/followUpAppointmentCustomToastNotifications.test.js b/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/__tests__/followUpAppointmentCustomToastNotifications.test.js deleted file mode 100644 index e027c9e..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/__tests__/followUpAppointmentCustomToastNotifications.test.js +++ /dev/null @@ -1,88 +0,0 @@ -import { createElement } from 'lwc'; -import FollowUpAppointmentCustomToastNotifications from 'c/followUpAppointmentCustomToastNotifications'; - -let element; -describe('c-follow-up-appointment-custom-toast-notifications', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - beforeEach(() => { - element = createElement('c-follow-up-appointment-custom-toast-notifications', { - is: FollowUpAppointmentCustomToastNotifications, - }); - - element.timeout = 3000; - element.sticky = true; - element.toastId = 0; - element.closeModal = jest.fn(); - element.handleClose = jest.fn(); - element.showToast = jest.fn(); - - //document.body.appendChild(element); - }); - - it('TODO: test case generated by CLI command, please fill in test logic', () => { - // Arrange - element = createElement('c-follow-up-appointment-custom-toast-notifications', { - is: FollowUpAppointmentCustomToastNotifications, - }); - - // Act - document.body.appendChild(element); - - // Assert - // const div = element.shadowRoot.querySelector('div'); - expect(1).toBe(1); - }); - - it('Call close modal', async () => { - //element.toastList = element.toastList2; - - let t = [ - { - type: 'success', - headerMessage: 'success', - message: 'message', - id: 1, - iconName: 'utility:success', - headerClass: 'slds-notify slds-notify_toast slds-theme_success', - }, - { - type: 'success', - headerMessage: 'success', - message: 'message', - id: 3, - iconName: 'utility:success', - headerClass: 'slds-notify slds-notify_toast slds-theme_success', - }, - ]; - element.toastList = [...t]; - element.sticky = true; - document.body.appendChild(element); - - return Promise.resolve().then(() => { - const action = element.shadowRoot.querySelector('lightning-button-icon'); - action.click(); - expect(action.handleClose).toHaveBeenCalledWith(evt2); - // const spy = jest.spyOn(element, "handleClose"); - // console.log(spy); - // element.dispatchEvent(new CustomEvent("click")); - // expect(spy).toBeCalledTimes(0); - }); - }); - - it('should call moveCardDown when edit clicked', async () => { - element.showToast(); - - const methodNameFake = jest.spyOn(element, 'showToast'); - // const wrapper = mount(); - expect(methodNameFake).toHaveBeenCalledTimes(1); - // return Promise.resolve().then(() => { - // expect(element.toastId).toBe(0); - // }); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/__tests__/followUpAppointmentMain.test.js b/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/__tests__/followUpAppointmentMain.test.js deleted file mode 100644 index dfd6121..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/__tests__/followUpAppointmentMain.test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { createElement } from 'lwc'; -import SettingsContainer from 'c/settingsContainer'; - -describe('c-settings-container', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('TODO: test case generated by CLI command, please fill in test logic', () => { - // Arrange - const element = createElement('c-settings-container', { - is: SettingsContainer, - }); - - // Act - document.body.appendChild(element); - - // Assert - // const div = element.shadowRoot.querySelector('div'); - expect(1).toBe(1); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.css b/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.css deleted file mode 100644 index bb6c76f..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.css +++ /dev/null @@ -1,108 +0,0 @@ -.mainContainer { - margin-top: 60px; - background: #FFFFFF; -} -.mainTitle { - font-style: normal; - font-weight: 400; - font-size: 18px; - line-height: 21px; - color: #181818; - margin-top: -3px; -} -.stepsTitle { - font-style: normal; - font-weight: 400; - font-size: 14px; - line-height: 18px; - color: #444444; -} -.headerDiv { - position: fixed; - top: 0; - left: 0; - border-top: 1px solid #e1e1e1; - padding: 16px; - height: 66px; - width: 100%; - background: linear-gradient(0deg, #F3F3F3, #F3F3F3), - linear-gradient(0deg, #F3F3F3, #F3F3F3); - z-index: 100; -} -.backButton { - height: 35px; - display: flex; - width: 34px; - align-items: center; - margin-left: 0; - justify-items: center; -} -.customPageDiv { - padding: 16px 11px 86px 11px; -} -.nextButton { - width: 100%; - height: 100%; - font-size: 1rem; - border-radius: 12px; - font-style: normal; - font-weight: 600; - font-size: 16px; - line-height: 22px; - background-color: #0176d3; - --slds-c-button-brand-color-background-hover: #0176d3; -} -.nextButtonDiv { - position: fixed; - bottom: 0; - left: 0; - border-top: 1px solid #e1e1e1; - padding: 16px; - height: 80px; - width: 100%; - background-color: #fff; - z-index: 98; -} -.empty-slots-container{ - background-color: white; - display: flex; - flex-direction: column; - align-items: center; - padding: 200px 16px; - margin-top: 10px; -} -.endPageMainTitle { - margin-top: 20px; - font-style: normal; - font-weight: 600; - font-size: 16px; - line-height: 22px; -} -.endPageSecondTitle { - margin-top: 20px; - font-style: normal; - font-weight: 400; - font-size: 16px; - line-height: 22px; - width: 250px; - text-align: center; -} -/* CSS Overrides */ -.spinner{ - position: relative; - display: inline-block; - text-align: center; -} -.slds-spinner { - position: fixed; -} -.slds-spinner_container { - position: fixed; -} -.slds-faux-input, -.slds-input, -.slds-select_container .slds-select, -.slds-textarea { - border: 2px solid #C9C9C9; - border-radius: 12px; -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.html b/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.html deleted file mode 100644 index 9e29414..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.html +++ /dev/null @@ -1,152 +0,0 @@ - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.js b/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.js deleted file mode 100644 index 9c0f105..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.js +++ /dev/null @@ -1,318 +0,0 @@ -/* eslint-disable no-unused-expressions */ -/* eslint-disable @lwc/lwc/no-inner-html */ -/* eslint-disable @lwc/lwc/no-api-reassignments */ -import { LightningElement, api, wire, track } from 'lwc'; -import getSettingsObject from '@salesforce/apex/FollowUpAppointmentController.getSettingsObject'; -import createRecord from '@salesforce/apex/FollowUpAppointmentController.createRecord'; -import { getRecord } from 'lightning/uiRecordApi'; - -import ID_FIELD from '@salesforce/schema/ServiceAppointment.Id'; -import WORK_TYPE_FIELD from '@salesforce/schema/ServiceAppointment.WorkTypeId'; -import SCHED_END_FIELD from '@salesforce/schema/ServiceAppointment.SchedEndTime'; -import SCHED_START_FIELD from '@salesforce/schema/ServiceAppointment.SchedStartTime'; -import APPOINTMENT_NUMBER_FIELD from '@salesforce/schema/ServiceAppointment.AppointmentNumber'; -import DURATION from '@salesforce/schema/ServiceAppointment.Duration'; -import overrideCSS from './overrideCSS'; -import customLabels from './labels'; - -export default class followUpAppointmentMain extends LightningElement { - // ----------------------------------- slot lwc ----------------------------------------------- - recommendedScore = 80; - _serviceAppointmentId; - - useDefaultFields = true; - currentAppointmentDefaultFieldNames = [ - ID_FIELD, - WORK_TYPE_FIELD, - SCHED_END_FIELD, - SCHED_START_FIELD, - APPOINTMENT_NUMBER_FIELD, - DURATION, - ]; - // ----------------------------------- variables --------------------------------------------- - - LABELS = customLabels; - @track record; - @track fieldsToRecordFormPage1 = []; - @track fieldsToRecordFormPage2 = []; - @track fieldsToRecordFormPage3 = []; - hideNoSetupError = true; - hideCustomPage1 = true; - hideCustomPage2 = true; - hideCustomPage3 = true; - hideCustomPage4 = true; - pagesArray = []; - hideEndPage = true; - hideHeader = false; - hideNextButton = false; - hideBackButton = true; - getFieldsDefaultValues = false; - headerCustomPage1; - headerCustomPage2; - headerCustomPage3; - headerSlotsPage = this.LABELS.FollowUpAppointments_SlotsPageTitle; - listOfFields = []; - settings; - recordToCreate; - @api workerAssignmentOptions; - currentStepNumber = 1; - maxStepNumber = 1; - @api operatingHoursId; - @api schedulingPolicyId; - @api schedulingHorizonValue; - @api schedulingHorizonUnits; - @api showExactArrivalTime; - @api showDataSpinner = false; - numberOfFieldsLoaded = 0; - newRecordId; - @api newRecordNumber; - - @api maxDaysToGetAppointmentSlots = 10; - - // ------------------------------------------------------------------------------------------ - // ------------------------------ getter/setter --------------------------------------------- - // ------------------------------------------------------------------------------------------ - - @api get recordId() { - return this.recordIdRealValue; - } - set recordId(recordId) { - this.record = undefined; - this.recordIdRealValue = recordId; - } - - @wire(getRecord, { recordId: '$recordId', layoutTypes: ['Full'], modes: ['View'] }) - wiredRecord({ data, error }) { - if (data) { - this.record = data; - this.recordId = data.id; - this.recordName = data.apiName; - } else { - this.record = null; - console.log('Error while get record is : ' + error); - } - } - - get objectApiName() { - return (this.record && this.record.apiName) || null; - } - - // ------------------------------------------------------------------------------------------ - // -------------------------------- functions ----------------------------------------------- - // ------------------------------------------------------------------------------------------ - - connectedCallback() { - const myStyle = document.createElement('style'); - myStyle.innerHTML = overrideCSS; - document.head.appendChild(myStyle); - - this.lockScrolling(); - getSettingsObject({ recordId: this.recordId }) - .then((settings) => { - if (settings.error || settings.error2) { - let error = settings.error ? settings.error : settings.error2; - console.log('Error while retrieving settings object: ' + error); - this.allowScrolling(); - } else { - console.log('Got settings object successfully'); - this.settings = settings; - - this.operatingHoursId = settings.operatingHoursId; - this.schedulingPolicyId = settings.schedulingPolicyId; - this.schedulingHorizonValue = settings.schedulingHorizonValue; - this.showExactArrivalTime = settings.showExactArrivalTime === 'true'; - this.headerCustomPage1 = settings.headerCustomPage1; - this.headerCustomPage2 = settings.headerCustomPage2; - this.headerCustomPage3 = settings.headerCustomPage3; - this.workerAssignmentOptions = settings.workerAssignmentOptions; - - if ( - this.settings.fieldsToShowPage1 === 'null' && - this.settings.fieldsToShowPage2 === 'null' && - this.settings.fieldsToShowPage3 === 'null' - ) { - this.allowScrolling(); - this.hideNoSetupError = false; - this.hideHeader = true; - this.hideNextButton = true; - this.hideBackButton = true; - console.log('*** We couldn’t launch this action. Ask your admin for help. ***'); - } else { - for (let index = 1; index < 4; index++) { - if (this.settings['fieldsToShowPage' + index] !== 'null') { - this.pagesArray.push(index); - this.settings['fieldsToShowPage' + index].split(';').forEach((field) => { - if (field.split(',')[0] !== '') { - this.listOfFields.push(field); - switch (field.split(',')[0]) { - case 'WorkOrder': - this['fieldsToRecordFormPage' + index].push({ - objectApiName: field.split(',')[0], - fieldApiName: field.split(',')[1], - recordId: this.recordId, - }); - break; - case 'WorkOrderLineItem': - this['fieldsToRecordFormPage' + index].push({ - objectApiName: field.split(',')[0], - fieldApiName: field.split(',')[1], - recordId: this.recordId, - }); - break; - case 'ServiceAppointment': - this['fieldsToRecordFormPage' + index].push({ - objectApiName: field.split(',')[0], - fieldApiName: field.split(',')[1], - recordId: settings.serviceAppointmentId, - }); - break; - default: { - break; - } - } - } - }); - } - } - this.pagesArray.push(4); - this.maxStepNumber = this.pagesArray.length; - this['hideCustomPage' + this.pagesArray[this.currentStepNumber - 1]] = false; - } - } - }) - .catch((error) => { - console.log('Error while retrieving settings object - ', error); - this.allowScrolling(); - }); - } - - sleep(ms) { - // eslint-disable-next-line @lwc/lwc/no-async-operation - return new Promise((resolve) => setTimeout(resolve, ms)); - } - - callCreateRecordClass(arrivalWindowStartTime, arrivalWindowEndTime) { - var querySelector = this.template.querySelectorAll('lightning-input-field'); - console.log('-- List of fields to update the new records'); - querySelector.forEach((field) => { - var index = this.listOfFields.findIndex((i) => - i.includes(field.parentElement.objectApiName + ',' + field.fieldName + ',') - ); - this.listOfFields[index] = this.listOfFields[index] + ',' + field.value; - console.log('-- ', this.listOfFields[index]); - }); - - createRecord({ - recordToCreate: this.settings.recordToCreate, - recordId: this.recordId, - listOfFields: this.listOfFields, - arrivalWindowStartTime: arrivalWindowStartTime, - arrivalWindowEndTime: arrivalWindowEndTime, - schedulingHorizonValue: this.schedulingHorizonValue, - }) - .then((newRecord) => { - if (newRecord.error || newRecord.DML) { - console.log('-- Error : ', newRecord.error); - console.log('-- DML : ', newRecord.DML); - } else if (newRecord.success) { - this.newRecordId = newRecord.SAId; - this.newRecordNumber = newRecord.SANumber; - console.log('-- newRecordId : ', this.newRecordId); - console.log('-- newRecordNumber : ', this.newRecordNumber); - this.scheduleSAMethod(this.newRecordId); - } - }) - .catch((error) => { - console.log('-- error while creating record : ' + JSON.stringify(error)); - console.log('-- error : ', error); - this.allowScrolling(); - }); - } - - scheduleSAMethod(newRecordId) { - try { - this.template - .querySelector('c-mobile-appointment-booking-landing') - .scheduleSAMethod(newRecordId); - } catch (error) { - console.log('Error while scheduling SA : ' + error.message); - } finally { - this.allowScrolling(); - } - } - - allowScrolling() { - document.body.style.overflow = 'auto'; - this.showDataSpinner = false; - } - lockScrolling() { - document.body.style.overflow = 'hidden'; - this.showDataSpinner = true; - } - - // --------------------------------------------------------------------------------------------------------------- - // --------------------------------------------- handle ---------------------------------------------------------- - // --------------------------------------------------------------------------------------------------------------- - - handleButtonClick(event) { - let index = this.currentStepNumber - 1; - switch (event.target.name) { - case 'nextButton': - this['hideCustomPage' + this.pagesArray[index]] = true; - this['hideCustomPage' + this.pagesArray[index + 1]] = false; - this.currentStepNumber = this.currentStepNumber + 1; - break; - case 'backButton': - this['hideCustomPage' + this.pagesArray[index]] = true; - this['hideCustomPage' + this.pagesArray[index - 1]] = false; - this.currentStepNumber = this.currentStepNumber - 1; - break; - default: { - break; - } - } - switch (this.currentStepNumber) { - case 1: - this.hideNextButton = false; - this.hideBackButton = true; - break; - case this.maxStepNumber: - this.hideNextButton = true; - this.hideBackButton = false; - break; - default: - this.hideNextButton = false; - this.hideBackButton = false; - break; - } - } - - handleSelectedSlot(event) { - var selectedSlotStart = event.detail.arrivalWindowStartTime; - var selectedSlotEnd = event.detail.arrivalWindowEndTime; - this.callCreateRecordClass(selectedSlotStart, selectedSlotEnd); - } - - handleScheduleCloseWindow() { - this.hideCustomPage1 = true; - this.hideCustomPage2 = true; - this.hideCustomPage3 = true; - this.hideCustomPage4 = true; - this.hideEndPage = false; - this.hideHeader = true; - this.hideNextButton = true; - this.hideBackButton = true; - } - - handleFieldsAreLoaded() { - // checks if all fields have been added to the DOM - this.numberOfFieldsLoaded = this.numberOfFieldsLoaded + 1; - let numberOfFields = - this.fieldsToRecordFormPage1.length + - this.fieldsToRecordFormPage2.length + - this.fieldsToRecordFormPage3.length; - if (numberOfFields === this.numberOfFieldsLoaded) { - this.allowScrolling(); - } - } -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/labels.js b/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/labels.js deleted file mode 100644 index 6e70089..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/labels.js +++ /dev/null @@ -1,19 +0,0 @@ -import FollowUpAppointments_StepTitle1 from '@salesforce/label/c.FollowUpAppointments_StepTitle1'; -import FollowUpAppointments_StepTitle2 from '@salesforce/label/c.FollowUpAppointments_StepTitle2'; -import FollowUpAppointments_NextButtonText from '@salesforce/label/c.FollowUpAppointments_NextButtonText'; -import FollowUpAppointments_EndPageApprovalText1 from '@salesforce/label/c.FollowUpAppointments_EndPageApprovalText1'; -import FollowUpAppointments_EndPageApprovalText2 from '@salesforce/label/c.FollowUpAppointments_EndPageApprovalText2'; -import FollowUpAppointments_SlotsPageTitle from '@salesforce/label/c.FollowUpAppointments_SlotsPageTitle'; -import FollowUpAppointments_NoSetupError from '@salesforce/label/c.FollowUpAppointments_NoSetupError'; - -const customLabels = { - FollowUpAppointments_StepTitle1, - FollowUpAppointments_StepTitle2, - FollowUpAppointments_NextButtonText, - FollowUpAppointments_EndPageApprovalText1, - FollowUpAppointments_EndPageApprovalText2, - FollowUpAppointments_SlotsPageTitle, - FollowUpAppointments_NoSetupError, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/__tests__/followUpAppointmentSettingsContainer.test.js b/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/__tests__/followUpAppointmentSettingsContainer.test.js deleted file mode 100644 index bfad18d..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/__tests__/followUpAppointmentSettingsContainer.test.js +++ /dev/null @@ -1,63 +0,0 @@ -import { createElement } from 'lwc'; -import followUpAppointmentSettingsContainer from 'c/followUpAppointmentSettingsContainer'; - -let element; -describe('c-follow-up-appointment-settings-container', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - beforeEach(() => { - element = createElement('c-follow-up-appointment-settings-container', { - is: followUpAppointmentSettingsContainer, - }); - - element.showDeleteDialogBox = true; - element.handleSaveEvent = jest.fn(); - element.handleCancelEvent = jest.fn(); - document.body.appendChild(element); - }); - - it('should show correct info', () => { - const fieldServiceLabel = element.shadowRoot.querySelector('.fieldservicelabel'); - expect(fieldServiceLabel.textContent).toBe('c.FollowUpAppointments_field_service_title'); - - const mainTitleElement = element.shadowRoot.querySelector('.followupmaintitle'); - expect(mainTitleElement.textContent).toBe('c.FollowUpAppointments_setting_page_title'); - - const pageTitle = element.shadowRoot.querySelector('.pageTitle'); - expect(pageTitle.textContent).toBe('c.FollowUpAppointments_setting_sub_title'); - - const pageDescription = element.shadowRoot.querySelector('.pageDescription'); - expect(pageDescription.textContent).toBe('c.FollowUpAppointments_setting_description_text'); - }); - - it('test on save button', async () => { - console.log('Element is : ' + element.shadowRoot); - const action = element.shadowRoot.querySelector('[data-id="saveBtn"]'); - console.log('Action is : ' + action); - const spy = jest.spyOn(element, 'handleSaveEvent'); - console.log(spy); - action.dispatchEvent(new CustomEvent('click')); - - return Promise.resolve().then(() => { - expect(spy).toBeCalledTimes(0); - }); - }); - - it('test on cancel button event', async () => { - console.log('Element is : ' + element.shadowRoot); - const action = element.shadowRoot.querySelector('[data-id="cancelBtn"]'); - console.log('Action is : ' + action); - const spy = jest.spyOn(element, 'handleCancelEvent'); - console.log(spy); - action.dispatchEvent(new CustomEvent('click')); - - return Promise.resolve().then(() => { - expect(spy).toBeCalledTimes(0); - }); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.css b/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.css deleted file mode 100644 index eefffd6..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.css +++ /dev/null @@ -1,134 +0,0 @@ -.header-icon { - margin-right: 12px; -} - -.comboBox { - margin-top: 25px; - width: 346px; - margin-left: 24px; -} - -.comboBoxBackGround { - background-color: #FFFFFF; -} - -.pageTitle { - font-style: normal; - font-weight: 400; - font-size: 16px; - line-height: 24px; - margin-left: 24px; - color: #181818; - margin-top: 16px; -} - -.pageDescription { - font-style: normal; - font-weight: 400; - font-size: 13px; - line-height: 20px; - height: 20px; - color: #444444; - margin-left: 24px; - margin-top: 8px; -} - -.lightningCardMain { - padding: 0px; - margin: 0px; - padding-top: 0px; - --slds-c-card-header-spacing-block-end: 0px; - --slds-c-card-header-spacing-block-start: 0px; - /* Removes SF Card body padding/margin top/bottom only */ - --slds-c-card-body-spacing-block-start: 0px; - --slds-c-card-body-spacing-block-end: 0px; -} - -.lightningTabMain { - padding-left: 0px; - --slds-c-card-header-spacing-block-end: 0px; - --slds-c-card-header-spacing-block-start: 0px; - /* Removes SF Card body padding/margin top/bottom only */ - --slds-c-card-body-spacing-block-start: 0px; - --slds-c-card-body-spacing-block-end: 0px; - padding-bottom: 0px; -} - -.footerLayout { - height: 56px; - background-color: #F3F3F3; - padding-right: 100px; - margin-top: 24px; - margin-bottom: 0px; -} - -.saveButton { - margin-top: 11px; -} - -.assignmentPermissionLayout { - margin-top: 10px; - margin-left: 24px; -} - -.permissionText { - margin-top: 25px; - margin-left: 24px; - font-style: normal; - font-size: 16px; - line-height: 24px; - height: 24px; - color: #181818; -} - -.permissionSubText { - margin-top: 8px; - margin-left: 24px; - font-style: normal; - font-size: 13px; - line-height: 20px; - color: #444444; -} - -.mobileWorkerText { - margin-top: 25px; - margin-left: 24px; - font-style: normal; - font-size: 12px; - line-height: 18px; -} - -.horizonUnitsInputField { - margin-top: 25px; - margin-left: 24px; - width: 346px; -} - -.horizonInputField { - width: 100%; -} - -.daysText { - margin-top: 30px; - margin-left: 7px; -} - -.modal { - /* Enable scroll if needed */ - /* Black w/ opacity */ - -webkit-animation-name: fadeIn; - /* Fade in the background */ - -webkit-animation-duration: 1.2s; -} - - -/* Modal Content */ - -.modal-content { - position: fixed; - bottom: 0; - background-color: #fefefe; - -webkit-animation-name: slideIn; - -webkit-animation-duration: 1s; - border-radius: 16px 16px 0px 0px !important; -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.js b/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.js deleted file mode 100644 index a760b47..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.js +++ /dev/null @@ -1,419 +0,0 @@ -/* eslint-disable @lwc/lwc/no-api-reassignments */ -/* eslint-disable no-unused-expressions */ -import { LightningElement, track, api } from 'lwc'; -import getSchedulingPolicyList from '@salesforce/apex/FollowUpAppointmentController.getSchedulingPolicyList'; -import getOperatingHoursList from '@salesforce/apex/FollowUpAppointmentController.getOperatingHoursList'; -import saveSettings from '@salesforce/apex/FollowUpAppointmentController.saveSettings'; -import getConfigurationData from '@salesforce/apex/FollowUpAppointmentController.getConfigurationData'; -import checkPermSetAssignedToUser from '@salesforce/apex/FollowUpAppointmentController.checkPermSetAssignedToUser'; - -import customLabels from './labels'; - -export default class followUpAppointmentSettingsContainer extends LightningElement { - @track objectList = []; - LABELS = customLabels; - @track operatingHourList = []; - @track slotDisplayOptions = []; - @api technicianAssigmentSelected = ''; - showDialogBox = false; - @track showWOSAoption = false; - @track showWOLISAoption = false; - @api reloadChildComponent = false; - @api hasUnsavedChanges = false; - - arrival_window = this.LABELS.FollowUpAppointments_arriwal_window_title; - exact_appointment_time = this.LABELS.FollowUpAppointments_exact_appointment_time_title; - - @api schedulingPolicySelected; - @api operatingHoursSelected; - @api appointmentSlotOptionSelected; - @api schedulingHorizonUnits; - dataLoaded; - - @api savedOH; - @api savedSP; - @api savedAppointmentSlotSelected; - @api savedSchedulingHorizonUnits; - @api savedTechnicianAssignment; - @api savedObjectCreation; - - isCreateWorkOrderEnabled = false; - isCreateWorkOrderLineItemEnabled = false; - isCreateSAenabled = false; - disableSaveButton = true; - - connectedCallback() { - this.callAPEX(); - } - - callAPEX() { - console.log('Apex method called '); - - /** - * GET scheduling Policy - */ - this.dataLoaded = false; - this.objectList = []; - getSchedulingPolicyList() - .then((data) => { - if (data.error) { - throw new Error(data.error); - } else { - for (let i = 0; i < data.length; i++) { - this.objectList = [...this.objectList, { value: data[i], label: data[i] }]; - } - this.dataLoaded = true; - } - }) - .catch((error) => { - console.error('Error while getting scheduling policy : ' + error); - }); - - this.operatingHourList = []; - getOperatingHoursList() - .then((data) => { - if (data.error) { - throw new Error(data.error); - } else { - for (let i = 0; i < data.length; i++) { - this.operatingHourList = [ - ...this.operatingHourList, - { value: data[i], label: data[i] }, - ]; - } - this.dataLoaded = true; - } - }) - .catch((error) => { - console.log('Error while getting scheduling policy : ' + error); - }); - - this.slotDisplayOptions = []; - this.slotDisplayOptions = [ - ...this.slotDisplayOptions, - { value: this.arrival_window, label: this.arrival_window }, - ]; - this.slotDisplayOptions = [ - ...this.slotDisplayOptions, - { value: this.exact_appointment_time, label: this.exact_appointment_time }, - ]; - - /** - * Function to reload the settings from followup custom object - */ - - checkPermSetAssignedToUser() - .then((data) => { - if (data.error) { - console.error('Error while assigning permission set ' + data.error); - } else { - // if permission is assigned , get the configuration data. - this.loadConfigurationDetails(); - } - }) - .catch((error) => { - console.log('Error while retrieving settings object - ', error); - }); - } - - loadConfigurationDetails() { - this.dataLoaded = false; - getConfigurationData() - .then((settings) => { - if (settings.error) { - console.error('Error while retrieving settings object ' + settings.error); - this.validateSaveButton(); - } else if (settings.null) { - // No record found - this.disableSaveButton = true; - console.error('Got settings object successfully, No record found in SDB'); - } else { - console.log('Got settings object successfully'); - - this.operatingHoursSelected = this.savedOH = settings.operatingHoursName; - this.schedulingPolicySelected = this.savedSP = settings.schedulingPolicyName; - this.schedulingHorizonUnits = this.savedSchedulingHorizonUnits = - settings.schedulingHorizonValue; - console.log('Show exact arrival time is : ' + settings.showExactArrivalTime); - - if (settings.showExactArrivalTime === 'true') { - this.appointmentSlotOptionSelected = this.exact_appointment_time; - } else { - this.appointmentSlotOptionSelected = this.arrival_window; - } - this.savedAppointmentSlotSelected = this.appointmentSlotOptionSelected; - - // assignment permission - this.technicianAssigmentSelected = this.savedTechnicianAssignment = - settings.Technician_Assigment__c; - - const myArray = settings.objectsToCreate.split(','); - this.objectCreationAllowed = this.savedObjectCreation = myArray[0]; - console.log('1st array object is : ' + this.objectCreationAllowed); - myArray[0] === 'workOrder' ? (this.showWOSAoption = true) : (this.showWOSAoption = false); - myArray[0] === 'workOrderLineItem' - ? (this.showWOLISAoption = true) - : (this.showWOLISAoption = false); - - if (myArray.length > 1 && myArray[1].length > 0) { - myArray[0] === 'workOrder' - ? (this.isSAWOselected = true) - : (this.isSAWOLIselected = true); - } - this.validateSaveButton(); - this.dataLoaded = true; - } - }) - .catch((error) => { - console.log('Error while retrieving settings object - ', error); - }); - } - - get assignmentPermissionOptions() { - return [ - { - label: this.LABELS.FollowUpAppointments_MobileWorkerAsignTo_themselves_or_anyWorker, - value: '1', - }, - { - label: this.LABELS.FollowUpAppointments_MobileWorkerAsignTo_any_worker, - value: '2', - }, - { - label: this.LABELS.FollowUpAppointments_MobileWorkerAsignTo_themselves, - value: '3', - }, - ]; - } - - get workOrderOption() { - return [ - { - label: this.LABELS.FollowUpAppointments_objectName_WorkOrder, - value: 'WorkOrder', - }, - ]; - } - - get serviceAppointmentOption() { - return [ - { - label: this.LABELS.FollowUpAppointments_objectName_ServiceAppointment, - value: 'ServiceAppointment', - }, - ]; - } - - get workOrderLineItemOption() { - return [ - { - label: this.LABELS.FollowUpAppointments_objectName_WorkOrderLineItem, - value: 'WorkOrderLineItem', - }, - ]; - } - - onAssignementPermissionChange(event) { - this.selectedAssigmentPermission = event.target.value; - this.savedTechnicianAssignment !== this.selectedAssigmentPermission - ? (this.hasUnsavedChanges = true) - : (this.hasUnsavedChanges = false); - this.technicianAssigmentSelected = event.target.value; - this.validateSaveButton(); - } - - // onCreateObjectPerChange(event) { - // var value = event.target.value; - // console.log("Selected check box is : "+value); - // if(value === "WorkOrder") { - // this.isCreateWorkOrderEnabled = event.target.checked; - // } else if(value === "WorkOrderLineItem") { - // this.isCreateWorkOrderLineItemEnabled = event.target.checked; - // } else if(value === "ServiceAppointment") { - // this.isCreateSAenabled = event.target.checked; - // } - // } - - objectCreationAllowed = ''; - onMobileUserObjectSelected(event) { - const option = event.target.value; - console.log('OnMobile user object selected : ' + option); - this.objectCreationAllowed = option; - this.savedObjectCreation !== this.objectCreationAllowed - ? (this.hasUnsavedChanges = true) - : (this.hasUnsavedChanges = false); - this.validateSaveButton(); - } - - isSAWOselected = false; - isSAWOLIselected = false; - handleSAforWO(event) { - this.isSAWOselected = event.target.checked; - } - handleSAforWOLI(event) { - this.isSAWOLIselected = event.target.checked; - } - - @api handleSaveEvent() { - console.log('Save event executed'); - - let arr = []; - arr.push(this.schedulingPolicySelected); // 0 - arr.push(this.operatingHoursSelected); // 1 - if (this.appointmentSlotOptionSelected === this.exact_appointment_time) { - arr.push(true); // 2 - } else { - arr.push(false); //2 - } - - arr.push(this.schedulingHorizonUnits); // 3 - - let objectAllowedToBeCreated = ''; - - this.objectCreationAllowed === 'ServiceAppointment' - ? (objectAllowedToBeCreated = objectAllowedToBeCreated + 'ServiceAppointment') - : objectAllowedToBeCreated; - - if (this.objectCreationAllowed === 'WorkOrder') { - objectAllowedToBeCreated = objectAllowedToBeCreated + 'WorkOrder'; - } - if (this.objectCreationAllowed === 'WorkOrderLineItem') { - objectAllowedToBeCreated = objectAllowedToBeCreated + 'WorkOrderLineItem'; - } - - arr.push(objectAllowedToBeCreated); // 4 - arr.push(this.technicianAssigmentSelected); //5 - - // create object perm for technician - - arr.push(objectAllowedToBeCreated); //6 - - saveSettings({ inputArr: arr }) - .then((data) => { - if (data.error) { - console.error('Got error while saving the data : ' + data); - throw new Error(data.error); - } else { - console.log('saved successfully'); - this.showToastMessages( - this.LABELS.FollowUpAppointments_settingPage_save_message, - this.successVariant - ); - this.reloadChildComponent = true; - this.hasUnsavedChanges = false; - this.disableSaveButton = true; - this.callAPEX(); // call this function to ensure all variables are loaded again after save - } - }) - .catch((error) => { - console.log('Error while getting scheduling policy : ' + error); - this.showToastMessages( - this.LABELS.FollowUpAppointments_settingPage_error_message + ' : ' + error.message, - this.errorVariant - ); - }); - } - - /** - * - * Reload the screen when cancel event is called - */ - @api handleCancelEvent() { - this.callAPEX(); - } - - handleTabChangeEvent() { - if (this.hasUnsavedChanges) { - this.showToastMessages( - this.LABELS.FollowUpAppointments_settingPage_warning_message, - this.warningVariant - ); - } - this.reloadChildComponent - ? (this.reloadChildComponent = false) - : (this.reloadChildComponent = true); - console.log('Lightning tab value changed'); - } - - handleSchedulingPolicyChange(event) { - this.schedulingPolicySelected = event.detail.value; - this.savedSP !== this.schedulingPolicySelected - ? (this.hasUnsavedChanges = true) - : (this.hasUnsavedChanges = false); - this.validateSaveButton(); - } - - handleOperatingHoursChange(event) { - this.operatingHoursSelected = event.detail.value; - this.savedOH !== this.operatingHoursSelected - ? (this.hasUnsavedChanges = true) - : (this.hasUnsavedChanges = false); - this.validateSaveButton(); - } - - handleAppointmentSlotSelectionChange(event) { - this.appointmentSlotOptionSelected = event.detail.value; - this.savedAppointmentSlotSelected !== this.appointmentSlotOptionSelected - ? (this.hasUnsavedChanges = true) - : (this.hasUnsavedChanges = false); - this.validateSaveButton(); - } - - onSchedulingHorizonValueChange(event) { - this.schedulingHorizonUnits = event.detail.value; - let nameCmp = this.template.querySelector('.horizonInputField'); - - // check if the entered value is numeric - let regexPattern = /^-?[0-9]+$/; - let result = regexPattern.test(this.schedulingHorizonUnits); - if (event.detail.value && result) { - nameCmp.setCustomValidity(''); - } else { - nameCmp.setCustomValidity('Enter a number.'); - } - this.savedSchedulingHorizonUnits !== this.schedulingHorizonUnits - ? (this.hasUnsavedChanges = true) - : (this.hasUnsavedChanges = false); - this.validateSaveButton(); - } - - @api successVariant = 'success'; - @api errorVariant = 'error'; - @api warningVariant = 'warning'; - - showToastMessages(message, variant) { - this.template - .querySelector('c-follow-up-appointment-custom-toast-notifications') - .showToast(variant, message); - } - - closeDialog() { - this.showDialogBox = false; - } - - validateSaveButton() { - if ( - this.schedulingPolicySelected && - this.operatingHoursSelected && - this.appointmentSlotOptionSelected && - this.objectCreationAllowed && - this.technicianAssigmentSelected && - this.schedulingHorizonUnits - ) { - if ( - this.schedulingPolicySelected === this.savedSP && - this.operatingHoursSelected === this.savedOH && - this.appointmentSlotOptionSelected === this.savedAppointmentSlotSelected && - this.objectCreationAllowed === this.savedObjectCreation && - this.technicianAssigmentSelected === this.savedTechnicianAssignment && - this.schedulingHorizonUnits === this.savedSchedulingHorizonUnits - ) { - this.disableSaveButton = true; - } else { - this.disableSaveButton = false; - } - } else { - this.disableSaveButton = true; - } - } -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/labels.js b/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/labels.js deleted file mode 100644 index 197c75c..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/labels.js +++ /dev/null @@ -1,67 +0,0 @@ -import FollowUpAppointments_SchedulingPolicyTitle from '@salesforce/label/c.FollowUpAppointments_SchedulingPolicyTitle'; -import FollowUpAppointments_field_service_title from '@salesforce/label/c.FollowUpAppointments_field_service_title'; -import FollowUpAppointments_OperatingHoursTitle from '@salesforce/label/c.FollowUpAppointments_OperatingHoursTitle'; -import FollowUpAppointments_ShowAppointmentSlotsTitle from '@salesforce/label/c.FollowUpAppointments_ShowAppointmentSlotsTitle'; -import FollowUpAppointments_SchedulingHorizonUnitsTitle from '@salesforce/label/c.FollowUpAppointments_SchedulingHorizonUnitsTitle'; -import FollowUpAppointments_DaysTitle from '@salesforce/label/c.FollowUpAppointments_DaysTitle'; -import FollowUpAppointments_Permissions from '@salesforce/label/c.FollowUpAppointments_Permissions'; -import FollowUpAppointments_AssignmentPermission from '@salesforce/label/c.FollowUpAppointments_AssignmentPermission'; -import FollowUpAppointments_MobileWorkerAsignTo_themselves_or_anyWorker from '@salesforce/label/c.FollowUpAppointments_MobileWorkerAsignTo_themselves_or_anyWorker'; -import FollowUpAppointments_MobileWorkerAsignTo_themselves from '@salesforce/label/c.FollowUpAppointments_MobileWorkerAsignTo_themselves'; -import FollowUpAppointments_MobileWorkerAsignTo_any_worker from '@salesforce/label/c.FollowUpAppointments_MobileWorkerAsignTo_any_worker'; -import FollowUpAppointments_Allow_tech_to_create_object_title from '@salesforce/label/c.FollowUpAppointments_Allow_tech_to_create_object_title'; -import FollowUpAppointments_objectName_ServiceAppointment from '@salesforce/label/c.FollowUpAppointments_objectName_ServiceAppointment'; -import FollowUpAppointments_objectName_WorkOrder from '@salesforce/label/c.FollowUpAppointments_objectName_WorkOrder'; -import FollowUpAppointments_objectName_WorkOrderLineItem from '@salesforce/label/c.FollowUpAppointments_objectName_WorkOrderLineItem'; - -import FollowUpAppointments_arriwal_window_title from '@salesforce/label/c.FollowUpAppointments_arriwal_window_title'; -import FollowUpAppointments_exact_appointment_time_title from '@salesforce/label/c.FollowUpAppointments_exact_appointment_time_title'; - -import FollowUpAppointments_setting_sub_title from '@salesforce/label/c.FollowUpAppointments_setting_sub_title'; -import FollowUpAppointments_setting_description_text from '@salesforce/label/c.FollowUpAppointments_setting_description_text'; - -import FollowUpAppointments_placeHolder_select_an_option from '@salesforce/label/c.FollowUpAppointments_placeHolder_select_an_option'; -import FollowUpAppointments_placeHolder_enter_number from '@salesforce/label/c.FollowUpAppointments_placeHolder_enter_number'; - -import FollowUpAppointments_settingPage_save_message from '@salesforce/label/c.FollowUpAppointments_settingPage_save_message'; -import FollowUpAppointments_settingPage_error_message from '@salesforce/label/c.FollowUpAppointments_settingPage_error_message'; - -import FollowUpAppointments_setting_page_title from '@salesforce/label/c.FollowUpAppointments_setting_page_title'; -import FollowUpAppointments_Permissions_subtext from '@salesforce/label/c.FollowUpAppointments_Permissions_subtext'; - -import FollowUpAppointments_setting_page_save_button_label from '@salesforce/label/c.FollowUpAppointments_setting_page_save_button_label'; -import FollowUpAppointments_setting_page_cancel_button_label from '@salesforce/label/c.FollowUpAppointments_setting_page_cancel_button_label'; -import FollowUpAppointments_settingPage_warning_message from '@salesforce/label/c.FollowUpAppointments_settingPage_warning_message'; - -const customLabels = { - FollowUpAppointments_field_service_title, - FollowUpAppointments_SchedulingPolicyTitle, - FollowUpAppointments_setting_sub_title, - FollowUpAppointments_setting_description_text, - FollowUpAppointments_OperatingHoursTitle, - FollowUpAppointments_ShowAppointmentSlotsTitle, - FollowUpAppointments_SchedulingHorizonUnitsTitle, - FollowUpAppointments_DaysTitle, - FollowUpAppointments_Permissions, - FollowUpAppointments_AssignmentPermission, - FollowUpAppointments_MobileWorkerAsignTo_themselves_or_anyWorker, - FollowUpAppointments_MobileWorkerAsignTo_themselves, - FollowUpAppointments_MobileWorkerAsignTo_any_worker, - FollowUpAppointments_Allow_tech_to_create_object_title, - FollowUpAppointments_objectName_ServiceAppointment, - FollowUpAppointments_objectName_WorkOrder, - FollowUpAppointments_objectName_WorkOrderLineItem, - FollowUpAppointments_arriwal_window_title, - FollowUpAppointments_exact_appointment_time_title, - FollowUpAppointments_placeHolder_select_an_option, - FollowUpAppointments_placeHolder_enter_number, - FollowUpAppointments_settingPage_error_message, - FollowUpAppointments_settingPage_save_message, - FollowUpAppointments_setting_page_title, - FollowUpAppointments_Permissions_subtext, - FollowUpAppointments_setting_page_save_button_label, - FollowUpAppointments_setting_page_cancel_button_label, - FollowUpAppointments_settingPage_warning_message, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/jsconfig.json b/FollowUpAppointment/force-app/main/default/lwc/jsconfig.json deleted file mode 100644 index a72666d..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/jsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "experimentalDecorators": true - }, - "include": ["**/*", "../../../../.sfdx/typings/lwc/**/*.d.ts"], - "paths": { - "c/*": ["*"] - }, - "typeAcquisition": { - "include": ["jest"] - } -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/__tests__/mobileAppointmentBookingCalendar.test.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/__tests__/mobileAppointmentBookingCalendar.test.js deleted file mode 100644 index 512b654..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/__tests__/mobileAppointmentBookingCalendar.test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { createElement } from 'lwc'; -import AaRebookingCalendar from 'c/aaRebookingCalendar'; - -describe('c-mobile-appointment-booking-calendar', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('TODO: test case generated by CLI command, please fill in test logic', () => { - // Arrange - const element = createElement('c-mobile-appointment-booking-calendar', { - is: AaRebookingCalendar, - }); - - // Act - document.body.appendChild(element); - - // Assert - // const div = element.shadowRoot.querySelector('div'); - expect(1).toBe(1); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/labels.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/labels.js deleted file mode 100644 index e57ab9b..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/labels.js +++ /dev/null @@ -1,49 +0,0 @@ -import FollowUpAppointments_MonthName_January from '@salesforce/label/c.FollowUpAppointments_MonthName_January'; -import FollowUpAppointments_MonthName_February from '@salesforce/label/c.FollowUpAppointments_MonthName_February'; -import FollowUpAppointments_MonthName_March from '@salesforce/label/c.FollowUpAppointments_MonthName_March'; -import FollowUpAppointments_MonthName_April from '@salesforce/label/c.FollowUpAppointments_MonthName_April'; -import FollowUpAppointments_MonthName_May from '@salesforce/label/c.FollowUpAppointments_MonthName_May'; -import FollowUpAppointments_MonthName_June from '@salesforce/label/c.FollowUpAppointments_MonthName_June'; -import FollowUpAppointments_MonthName_July from '@salesforce/label/c.FollowUpAppointments_MonthName_July'; -import FollowUpAppointments_MonthName_August from '@salesforce/label/c.FollowUpAppointments_MonthName_August'; -import FollowUpAppointments_MonthName_September from '@salesforce/label/c.FollowUpAppointments_MonthName_September'; -import FollowUpAppointments_MonthName_October from '@salesforce/label/c.FollowUpAppointments_MonthName_October'; -import FollowUpAppointments_MonthName_November from '@salesforce/label/c.FollowUpAppointments_MonthName_November'; -import FollowUpAppointments_MonthName_December from '@salesforce/label/c.FollowUpAppointments_MonthName_December'; - -import FollowUpAppointments_WeekDayShort_Mon from '@salesforce/label/c.FollowUpAppointments_WeekDayShort_Mon'; -import FollowUpAppointments_WeekDayShort_Tue from '@salesforce/label/c.FollowUpAppointments_WeekDayShort_Tue'; -import FollowUpAppointments_WeekDayShort_Wed from '@salesforce/label/c.FollowUpAppointments_WeekDayShort_Wed'; -import FollowUpAppointments_WeekDayShort_Thu from '@salesforce/label/c.FollowUpAppointments_WeekDayShort_Thu'; -import FollowUpAppointments_WeekDayShort_Fri from '@salesforce/label/c.FollowUpAppointments_WeekDayShort_Fri'; -import FollowUpAppointments_WeekDayShort_Saturday from '@salesforce/label/c.FollowUpAppointments_WeekDayShort_Saturday'; -import FollowUpAppointments_WeekDayShort_Sunday from '@salesforce/label/c.FollowUpAppointments_WeekDayShort_Sunday'; -import FollowUpAppointments_Select_a_Date from '@salesforce/label/c.FollowUpAppointments_Select_a_Date'; -import FollowUpAppointments_OK from '@salesforce/label/c.FollowUpAppointments_OK'; - -const customLabels = { - FollowUpAppointments_MonthName_January, - FollowUpAppointments_MonthName_February, - FollowUpAppointments_MonthName_March, - FollowUpAppointments_MonthName_April, - FollowUpAppointments_MonthName_May, - FollowUpAppointments_MonthName_June, - FollowUpAppointments_MonthName_July, - FollowUpAppointments_MonthName_August, - FollowUpAppointments_MonthName_September, - FollowUpAppointments_MonthName_October, - FollowUpAppointments_MonthName_November, - FollowUpAppointments_MonthName_December, - - FollowUpAppointments_WeekDayShort_Mon, - FollowUpAppointments_WeekDayShort_Tue, - FollowUpAppointments_WeekDayShort_Wed, - FollowUpAppointments_WeekDayShort_Thu, - FollowUpAppointments_WeekDayShort_Fri, - FollowUpAppointments_WeekDayShort_Saturday, - FollowUpAppointments_WeekDayShort_Sunday, - FollowUpAppointments_Select_a_Date, - FollowUpAppointments_OK, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.css b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.css deleted file mode 100644 index f4b809c..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.css +++ /dev/null @@ -1,201 +0,0 @@ -.calendar-nav-header{ - margin-top: 10px; - padding-top: 12px; - padding-bottom: 12px; - align-items: center; -} -.selectedDay { - border-radius: 50%; - color: #FFFF; - height: 32px; - width: 32px; - background-color: #0176D3 !important; -} -.unselectedDay { - color: rgb(43, 40, 38); - height: 32px; - width: 32px; -} -.blockDate { - color: rgb(201, 199, 197); - height: 32px; - width: 32px; -} -.currentDay { - color: rgba(1,1,1,1); - border-radius: 50%; - height: 32px; - width: 32px; - border: 1px solid rgba(1,1,1,1) !important; - -} -.currentDayBlocked { - color: rgb(201, 199, 197); - border-radius: 50%; - height: 32px; - width: 32px; - border: 1px solid rgba(159, 170, 181, 0.5) !important; - background-color: #EEEEEE !important; - -} -.btn { - border: none; - cursor: pointer; - display: inline-block; - border: none; - background-color: inherit; - padding: 0px; - margin-top: 6px; - height: 32px; - width: 32px; -} -.monthButton{ - height: 24px; - font-size: 18px; - font-weight: 500; - letter-spacing: 0.38px; - line-height: 24px; - display: flex; - align-items: center; - --slds-c-button-text-color: #0176D3; -} -.full-calendar-month-button{ - font-style: normal; - font-weight: 500; - font-size: 18px; - line-height: 21px; - display: flex; - align-items: center; - color: #181818; - margin-top: 16px; - margin-left: 10px; -} -tr { - text-align: center; -} -td { - text-align: center; - box-sizing: initial; - color: rgb(0, 112, 210); - height: 44px; - font-size: 16px; - font-weight: normal; - letter-spacing: -0.38px; -} -th { - text-align: center; - box-sizing: initial; - color: rgb(112, 110, 107); - font-size: 13px; - font-weight: normal; - letter-spacing: -0.08px; - line-height: 18px; - width: 44px; -} -.table{ - font-size: medium; - vertical-align: middle; -} -*:focus { - outline: none; -} -.rightButton{ - margin-left: 0px; - margin-right: 0px; - padding-left: 0px; - padding-right: 0px; - position: relative; - color: rgb(106, 106, 106); -} -.leftButton{ - margin-left: 0px; - margin-right: 8px; - padding-left: 0px; - padding-right: 0px; - position: relative; - color: rgb(106, 106, 106); -} -.slds-popover{ - z-index: 9000; -} - -.modal { - position: fixed; - top: auto; - bottom: 0px; - left: 0px; - height: 99%; - overflow-y: auto; -} -.breakLine { - margin: 0; - margin: 0 -16px 5px -16px; -} -.full-calendar-close-btn{ - cursor: pointer; -} -.slds-modal__header { - padding: 14px; -} -.select-a-date-title{ - font-style: normal; - font-weight: 600; - font-size: 18px; - line-height: 21px; - display: flex; - align-items: center; - text-align: center; - color: #181818; -} -.modal-footer{ - box-sizing: border-box; - display: flex; - flex-direction: column; - align-items: center; - padding: 16px; - gap: 16px; - height: 80px; - border-radius: 0px; - flex: none; - order: 3; - align-self: stretch; - flex-grow: 0; - border-top: 1px solid rgba(159, 170, 181, 0.5); - position: fixed; - bottom: 0; - left: 0; - right: 0; - background-color: white; - z-index: 100; - padding-bottom: 24px; -} -.confirmBtn { - width: 100%; - left: 50%; - -ms-transform: translate(-50%,0%); - transform: translate(-50%,0%); - height: 50px; - font-size: 16px; - border-radius: 12px; - background-color: #0176D3; - font-weight: 500; -} -.dialogContainer{ - padding: 60px 16px 80px 16px; - height: 99vh; -} -@media screen and (orientation:landscape) { - .slds-modal__container{ - height: 130vh !important; - } -} - -.changecolor{ - --lwc-colorTextIconDefault: #0176D3; - fill:#0176D3; - --sds-c-icon-color-foreground-default: #0176D3; -} - -.scrollableweek{ - overflow-y: auto; -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.html b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.html deleted file mode 100644 index 31e14d9..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.html +++ /dev/null @@ -1,244 +0,0 @@ - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js-meta.xml b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/__tests__/mobileAppointmentBookingCompactAppointmentInfo.test.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/__tests__/mobileAppointmentBookingCompactAppointmentInfo.test.js deleted file mode 100644 index c091bb4..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/__tests__/mobileAppointmentBookingCompactAppointmentInfo.test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { createElement } from 'lwc'; -import CompactAppointmentInfo from 'c/compactAppointmentInfo'; - -describe('c-compact-appointment-info', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('TODO: test case generated by CLI command, please fill in test logic', () => { - // Arrange - const element = createElement('c-compact-appointment-info', { - is: CompactAppointmentInfo, - }); - - // Act - document.body.appendChild(element); - - // Assert - // const div = element.shadowRoot.querySelector('div'); - expect(1).toBe(1); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/labels.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/labels.js deleted file mode 100644 index b4f61d6..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/labels.js +++ /dev/null @@ -1,7 +0,0 @@ -import Schedule_Appointment_current_appointment_title from '@salesforce/label/c.Schedule_Appointment_current_appointment_title'; - -const customLabels = { - Schedule_Appointment_current_appointment_title, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.css b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.css deleted file mode 100644 index 57234eb..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.css +++ /dev/null @@ -1,57 +0,0 @@ -.container{ - background-color: white; - padding: 16px 16px; -} -.title{ - font-size: 18px; - line-height: 21px; - font-weight: 500; - color: rgb(0,0,0); - margin-bottom: 13px; -} - -.separator{ - height: 1px; - background-color: rgba(159, 170, 181, 0.5); - margin: 0 -16px 16px -16px; -} - -.info{ - font-size: 16px; - line-height: 22px; - color: rgba(68, 68, 68, 1); - border: 1px solid rgba(159, 170, 181, 0.5); - border-radius: 12px; - padding: 16px; -} - -.info-emph{ - font-style: normal; - font-weight: 600; - font-size: 18px; - line-height: 21px; - display: flex; - align-items: center; - color: #181818; - margin-bottom: 8px; -} - -.info-date{ - font-style: normal; - font-weight: 400; - font-size: 16px; - line-height: 22px; - display: flex; - align-items: center; - color: #181818; - margin-bottom: 8px; -} - -.secondary-title{ - font-size: 16px; - line-height: 22px; - font-weight: 400; - margin-bottom: 4px; - color: #444444; -} - diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.html b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.html deleted file mode 100644 index c7a17e0..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.html +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js-meta.xml b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/__tests__/mobileAppointmentBookingCustomToast.test.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/__tests__/mobileAppointmentBookingCustomToast.test.js deleted file mode 100644 index 7bb7797..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/__tests__/mobileAppointmentBookingCustomToast.test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { createElement } from 'lwc'; -import CustomToast from 'c/customToast'; - -describe('c-custom-toast', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('TODO: test case generated by CLI command, please fill in test logic', () => { - // Arrange - const element = createElement('c-custom-toast', { - is: CustomToast, - }); - - // Act - document.body.appendChild(element); - - // Assert - // const div = element.shadowRoot.querySelector('div'); - expect(1).toBe(1); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.css b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.css deleted file mode 100644 index e3a2400..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.css +++ /dev/null @@ -1,10 +0,0 @@ -.custom-toast-container{ - position: absolute; -} - -.toast-close-icon{ - --lwc-colorTextIconDefault: #FFFFFF; -} -.content-container{ - padding-left: 12px; -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.html b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.html deleted file mode 100644 index 55bac79..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.html +++ /dev/null @@ -1,19 +0,0 @@ - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.js deleted file mode 100644 index 6ccc676..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.js +++ /dev/null @@ -1,70 +0,0 @@ -/* eslint-disable @lwc/lwc/no-async-operation */ -import { LightningElement, api, track } from 'lwc'; - -const SUCCESS_CLASS = 'slds-notify slds-notify_toast slds-theme_success'; -const WARNING_CLASS = 'slds-notify slds-notify_toast slds-theme_warning'; -const ERROR_CLASS = 'slds-notify slds-notify_toast slds-theme_error'; - -export default class MobileAppointmentBookingCustomToast extends LightningElement { - _variant; - _title; - _message; - @track toastClass; - - connectedCallback() { - if (this._variant) { - if (this._variant === 'success') { - this.toastClass = SUCCESS_CLASS; - } else if (this._variant === 'warning') { - this.toastClass = WARNING_CLASS; - } else if (this._variant === 'error') { - this.toastClass = ERROR_CLASS; - } - } - //this.showToast = true; - setTimeout(() => { - this.handleCloseToastEvent(); - }, 5000); - } - - @api get variant() { - return this._variant; - } - - set variant(value) { - if (value) { - this._variant = value; - } - } - - @api get title() { - return this._title; - } - - set title(value) { - if (value) { - this._title = value; - } - } - - @api get message() { - return this._message; - } - - set message(value) { - if (value) { - this._message = value; - } - } - - handleCloseToast() { - this.handleCloseToastEvent(); - } - - handleCloseToastEvent() { - const customEvent = new CustomEvent('closetoast', { - detail: {}, - }); - this.dispatchEvent(customEvent); - } -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.js-meta.xml b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/__tests__/mobileAppointmentBookingLanding.test.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/__tests__/mobileAppointmentBookingLanding.test.js deleted file mode 100644 index 73a2f04..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/__tests__/mobileAppointmentBookingLanding.test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { createElement } from 'lwc'; -import Landing from 'c/landing'; - -describe('c-landing', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('TODO: test case generated by CLI command, please fill in test logic', () => { - // Arrange - const element = createElement('c-landing', { - is: Landing, - }); - - // Act - document.body.appendChild(element); - - // Assert - // const div = element.shadowRoot.querySelector('div'); - expect(1).toBe(1); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/labels.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/labels.js deleted file mode 100644 index 5dc1f07..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/labels.js +++ /dev/null @@ -1,33 +0,0 @@ -import Schedule_Appointment_page_title from '@salesforce/label/c.Schedule_Appointment_page_title'; -import FollowUpAppointments_select_new_date_to_schedule from '@salesforce/label/c.FollowUpAppointments_select_new_date_to_schedule'; -import FollowUpAppointments_select_an_available_appointment_time from '@salesforce/label/c.FollowUpAppointments_select_an_available_appointment_time'; -import FollowUpAppointments_accept_new_appointment_button from '@salesforce/label/c.FollowUpAppointments_accept_new_appointment_button'; -import FollowUpAppointments_next_button_title from '@salesforce/label/c.FollowUpAppointments_next_button_title'; -import FollowUpAppointments_new_appointment_msg from '@salesforce/label/c.FollowUpAppointments_new_appointment_msg'; -import FollowUpAppointments_same_appointment_selected_warning from '@salesforce/label/c.FollowUpAppointments_same_appointment_selected_warning'; -import FollowUpAppointments_confirmation_service_requested from '@salesforce/label/c.FollowUpAppointments_confirmation_service_requested'; -import FollowUpAppointments_selected_appointment_msg from '@salesforce/label/c.FollowUpAppointments_selected_appointment_msg'; -import FollowUpAppointments_toastMessage_appointment_schedule from '@salesforce/label/c.FollowUpAppointments_toastMessage_appointment_schedule'; -import FollowUpAppointments_confirmation_failure_message from '@salesforce/label/c.FollowUpAppointments_confirmation_failure_message'; -import FollowUpAppointments_toastMessage_schedule_appointment_fail_message from '@salesforce/label/c.FollowUpAppointments_toastMessage_schedule_appointment_fail_message'; -import FollowUpAppointments_assigned_to_you from '@salesforce/label/c.FollowUpAppointments_assigned_to_you'; -import FollowUpAppointments_assigned_to_any_available_worker from '@salesforce/label/c.FollowUpAppointments_assigned_to_any_available_worker'; - -const customLabels = { - FollowUpAppointments_select_new_date_to_schedule, - FollowUpAppointments_select_an_available_appointment_time, - FollowUpAppointments_accept_new_appointment_button, - FollowUpAppointments_next_button_title, - FollowUpAppointments_new_appointment_msg, - FollowUpAppointments_same_appointment_selected_warning, - FollowUpAppointments_confirmation_service_requested, - FollowUpAppointments_selected_appointment_msg, - Schedule_Appointment_page_title, - FollowUpAppointments_toastMessage_appointment_schedule, - FollowUpAppointments_confirmation_failure_message, - FollowUpAppointments_toastMessage_schedule_appointment_fail_message, - FollowUpAppointments_assigned_to_you, - FollowUpAppointments_assigned_to_any_available_worker, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.css b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.css deleted file mode 100644 index 56a909b..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.css +++ /dev/null @@ -1,27 +0,0 @@ -.page-header{ - display: flex; -} -.landing-container{ - background-color: #E5E5E5; -} - -.landing-section{ - margin-bottom: 10px; -} - -.test{ - background-color: blue; - height: 300px; -} - -.spinner{ - position: relative; - display: inline-block; - text-align: center; -} -.slds-spinner { - position: fixed; -} -.slds-spinner_container { - position: fixed; -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.html b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.html deleted file mode 100644 index 1df5cf7..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.html +++ /dev/null @@ -1,52 +0,0 @@ - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js deleted file mode 100644 index 5555594..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js +++ /dev/null @@ -1,1125 +0,0 @@ -/* eslint-disable @lwc/lwc/no-dupe-class-members */ -/* eslint-disable @lwc/lwc/no-api-reassignments */ -import { LightningElement, api, track } from 'lwc'; -import getServiceAppointment from '@salesforce/apex/FollowUpAppointmentController.getServiceAppointment'; -// import updateAppointmentStatus from '@salesforce/apex/FollowUpAppointmentController.updateServiceAppointmentStatus'; -import getSlotsByAssignmentMethod from '@salesforce/apex/FollowUpAppointmentController.getSlotsByAssignmentMethod'; -import assignCurrentUserAsRequiredResource from '@salesforce/apex/FollowUpAppointmentController.assignCurrentUserAsRequiredResource'; -import updateSA from '@salesforce/apex/FollowUpAppointmentController.updateSA'; -import scheduleSA from '@salesforce/apex/FollowUpAppointmentController.scheduleSA'; -// import updateSASlot from '@salesforce/apex/FollowUpAppointmentController.updateSASlot'; -import cloneWorkOrder from '@salesforce/apex/FollowUpAppointmentController.cloneWorkOrder'; -import deleteClonedAppointmentData from '@salesforce/apex/FollowUpAppointmentController.deleteClonedAppointmentData'; -import isUserExcludedResource from '@salesforce/apex/FollowUpAppointmentController.isUserExcludedResource'; -import convertTimeToOtherTimeZone from '@salesforce/apex/FollowUpAppointmentController.convertTimeToOtherTimeZone'; -import customLabels from './labels'; -import { convertDateUTCtoLocal } from 'c/mobileAppointmentBookingUtils'; -import getUserName from '@salesforce/apex/FollowUpAppointmentController.getUserName'; -import getWorkTypeOffset from '@salesforce/apex/FollowUpAppointmentController.getWorkTypeOffset'; - -const assignmentMethod = { - ASSIGN_TO_ME: 'assignToMe', - ASSIGN_TO_ANY_AVIALABLE: 'assignToAnyAvailable', -}; - -export default class MobileAppointmentBookingLanding extends LightningElement { - LABELS = customLabels; - title = this.LABELS.Schedule_Appointment_page_title; - @api contactName; - @api newRecordNumber; - @api serviceAppointmentId; - previousServiceAppointmentId; - @track currentAppointmentData; - @api appointmentFields; - @api schedulingHorizonValue; - @api schedulingPolicyId; - @api showExactArrivalTime; - @api maxDaysToGetAppointmentSlots; - selectedHorizonUnit; - @api operatingHoursId; - _showModal = 0; - @track selectedDate; - @api recommendedScore; - dummySAid; - dummyWO; - getSlotQueryRunning = false; - clonedWorkOrdersArr = []; - CustomerFirstName; - CustomerLastName; - CustomerPhone; - ServiceAppointmentStatus; - CustomerAddress; - WorkTypeName; - ArrivalWindowStartTime; - ArrivalWindowEndTime; - SchedStartTime; - SchedEndTime; - ServiceAppointmentDueDate; - ServiceAppointmentDescription; - ServiceResourceId; - ServiceResourceRole; - ServiceResourceName; - serviceAppointmentObject; - @api timeSlotObject; - @track isSlots = true; - @track showCalenderInFullScreen = false; - headlineDate; - headlineTime; - selectedSlotStart; - selectedSlotEnd; - showDataSpinner = false; - inFlowMode = false; - newAppointmentDate; - newAppointmentTime; - maxValidCalendarDate; - minValidCalendarDate; - @api nonAvailableDateArray = []; - @api noOfDaysBeforeAfterWeek = 2; - @api worktypeDisplayname; - @track compactInfoObj = {}; - - show_confirmBtnLayout = false; - - @api get serviceappointmentobject() { - return this.serviceAppointmentObject; - } - set serviceappointmentobject(value) { - if (value) { - this.serviceAppointmentObject = value; - this.customerFirstName = value.CustomerFirstName; - this.customerLastName = value.CustomerLastName; - this.CustomerPhone = value.CustomerPhone; - this.ServiceAppointmentStatus = value.ServiceAppointmentStatus; - this.CustomerAddress = value.CustomerAddress; - this.WorkTypeName = value.WorkTypeName; - this.ArrivalWindowStartTime = value.ArrivalWindowStartTime; - this.ArrivalWindowEndTime = value.ArrivalWindowEndTime; - this.SchedStartTime = value.SchedStartTime; - this.SchedEndTime = value.SchedEndTime; - this.ServiceAppointmentDescription = value.ServiceAppointmentDescription; - this.ServiceAppointmentDueDate = value.DueDate; - } - this.getHeadlineDate(); - } - - @api get serviceresourceobj() { - return this.serviceAppointmentObject; - } - set serviceresourceobj(value) { - if (value) { - this.ServiceResourceId = value.ServiceResourceId; - this.serviceResourceRole = value.ServiceResourceRole; - this.ServiceResourceName = value.ServiceResourceName; - } - } - - // @api get schedulepolicy(){ - // return this.schedulePolicyId; - // } - // set schedulepolicy(value){ - // if(value){ - // this.schedulePolicyId = value; - // } - // } - - @api get timeslotobject() { - return this.timeSlotObject; - } - set timeslotobject(value) { - this.showDataSpinner = false; - if (value) { - this.timeSlotObject = value; - } - } - - @api get showdataspinner() { - return this.showDataSpinner; - } - set showdataspinner(value) { - this.showDataSpinner = value; - } - - @api get maxvaliddate() { - return this.maxValidCalendarDate; - } - - set maxvaliddate(value) { - if (value) { - this.maxValidCalendarDate = value; - } - } - - @api get shownoofdaysbeforeafterweek() { - return this.noOfDaysBeforeAfterWeek; - } - set shownoofdaysbeforeafterweek(value) { - if (value) { - this.noOfDaysBeforeAfterWeek = value; - } - } - - @api get showexactarrivaltime() { - return this.showExactArrivalTime; - } - set showexactarrivaltime(value) { - this.showExactArrivalTime = value; - } - - @api get inflowmode() { - return this.inFlowMode; - } - set inflowmode(value) { - this.inFlowMode = value; - } - - @api get worktypename() { - return this.WorkTypeName; - } - set worktypename(value) { - this.WorkTypeName = value; - } - @api get maxValidCalendarDate() { - return this._maxValidCalendarDate; - } - - set maxValidCalendarDate(value) { - this._maxValidCalendarDate = value; - } - - @api - get showModal() { - return this._showModal; - } - - set showModal(value) { - this._showModal = value; - } - - @api - get currentAssignmentMethod() { - return this._currentAssignmentMethod; - } - - set currentAssignmentMethod(value) { - this._currentAssignmentMethod = value; - this.getUserNameForAssignTo(); - } - - set schedulingHorizonUnit(value) { - this.selectedHorizonUnit = value; - } - @api get schedulingHorizonUnit() { - return this.selectedHorizonUnit; - } - - @api workerAssignmentOptions; - - @api isExcluded; - showMobileWorkerChoice = false; - - serviceTerritoryTimeZone; - currentSAstatus; - OriginalArrivalStartDate = null; - OriginalArrivalEndDate = null; - dateArrayForQuery = []; - dateArrayForQueryCurrentMobileWorkwerSlots = []; - dateArrayForQueryAllMobilesWorkerSlots = []; - @track timeSlotDateWise; - timeSlotWiseTemp = []; - - @api assignToName; - - ARRIVAL_TIME_TEXT = 'Exact Appointment Times'; - ARRIVAL_WINDOW_TEXT = 'Arrival Windows'; - - BTN_CANCEL_PRESSED = 'Cancelled'; - BTN_CONFIRMED_PRESSED = 'Confirmed'; - BTN_RESHEDULED_PRESSED = 'Rescheduled'; - - SCHEDULING_UNIT_DAY = 'Days'; - SCHEDULING_UNIT_WEEK = 'Weeks'; - SCHEDULING_UNIT_MONTH = 'Months'; - - constructor() { - super(); - this.template.addEventListener('closemodal', this.closeModal); - this.template.addEventListener('openmodal', this.openModal); - this.template.addEventListener( - 'onassignmentmethodchanged', - this.handleCurrentAssignmentMethodChange - ); - this.isExcluded = false; - } - - connectedCallback() { - this._previousServiceAppointmentId = this.serviceAppointmentId; - this.dataLoaded = false; - this.prepareInitialDataAndAssignmentData(); - //Get scheduling policy id and operating hours id - // this.getIdFromName(); - } - - // renderedCallback(){ - // if(this._previousServiceAppointmentId != this.serviceAppointmentId){ - - // console.log("getting new Service appointment:" + this.serviceAppointmentId + ", previous: " + this._previousServiceAppointmentId); - - // this.dataLoaded = false; - // this.prepareInitialDataAndAssignmentData(); - // } - // } - - calcAssignmentMethod() { - switch (this.workerAssignmentOptions) { - case '1': - //Allow choice between assignment methods - if (this.isExcluded) { - //Admin enabled both options but Current User is excluded from this Work Order - this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ANY_AVIALABLE; - } else { - this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ME; - } - - this.showMobileWorkerChoice = true; - break; - case '2': - //Allow only AssignToAnyAvailable - this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ANY_AVIALABLE; - this.showMobileWorkerChoice = false; - break; - case '3': - //Allow only AssignToME - this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ME; - this.showMobileWorkerChoice = false; - break; - default: { - console.log('Error in calcAssignmentMethod did not receive valid settings'); - break; - } - } - } - - getInitData() { - this.lockScrolling(); - this.dataLoaded = false; - getServiceAppointment({ serviceAppointmentId: this.serviceAppointmentId }) - .then((data) => { - this.allowScrolling(); - console.log('getInitData Service appointment received::: ' + JSON.stringify(data)); - if (data.error) { - this.dataLoaded = false; - this.error = data.error; - console.log('Error in getInitData::: ' + JSON.stringify(data.error)); - } else { - this.currentAppointmentData = JSON.parse(JSON.stringify(data)); - this.updateCompactInfoObj( - this.currentAppointmentData.WorkTypeName, - convertDateUTCtoLocal(this.currentAppointmentData.ArrivalWindowStartTime), - convertDateUTCtoLocal(this.currentAppointmentData.ArrivalWindowEndTime), - this.currentAppointmentData.AppointmentNumber - ); - this.handleDataOnServiceAppointmentRecieved(data); - } - }) - .catch((e) => { - this.allowScrolling(); - this.dataLoaded = false; - console.log('Error in getInitData::: ' + JSON.stringify(e)); - }); - } - - handleDataOnServiceAppointmentRecieved(data) { - this.error = undefined; - this.serviceTerritoryTimeZone = data.ServiceTerritoryTimeZone; - console.log('serviceTerritoryTimeZone: ' + this.serviceTerritoryTimeZone); - this.currentSAstatus = data.ServiceAppointmentStatus; - - if (data.ArrivalWindowEndTime && data.ArrivalWindowEndTime !== 'null') { - this.OriginalArrivalEndDate = convertDateUTCtoLocal(data.ArrivalWindowEndTime); - } - if (data.ArrivalWindowStartTime && data.ArrivalWindowStartTime !== 'null') { - this.OriginalArrivalStartDate = convertDateUTCtoLocal(data.ArrivalWindowStartTime); - } - - this.OriginalEarliestStartDate = convertDateUTCtoLocal(data.EarliestStartTime); - this.checkServiceAppointmentStatus(this.currentSAstatus); - - this.calculateEarliestStartPermittedAndDueDateForServiceAppointment(data); - - this.dataLoaded = true; - } - - calculateEarliestStartPermittedAndDueDateForServiceAppointment(SAdata) { - if (SAdata.EarliestStartTime && new Date(SAdata.EarliestStartTime) > new Date()) { - this.minValidCalendarDate = convertDateUTCtoLocal( - new Date(SAdata.EarliestStartTime).toString() - ); - } else { - this.minValidCalendarDate = this.getDateWithoutTime(new Date()); - } - console.log('-- minValidCalendarDate Date : ', this.minValidCalendarDate); - console.log('-- input selectedHorizonValue : ', this.schedulingHorizonValue); - let horizonDate; - if (this.schedulingHorizonValue && this.schedulingHorizonValue !== 'null') { - let tempDate = new Date(this.minValidCalendarDate); - let schedulingHorizonValueToNumber = parseInt(this.schedulingHorizonValue, 10); // Lint fixes : added 10 as redix param; - horizonDate = new Date(tempDate.setDate(tempDate.getDate() + schedulingHorizonValueToNumber)); - console.log('-- Horizon value max date : ' + horizonDate); - this.maxValidCalendarDate = new Date(horizonDate); - } - getWorkTypeOffset({ workTypeName: SAdata.WorkTypeName }) - .then((data) => { - let workTypeDueDateOffset = - data > -1 - ? new Date(new Date(this.minValidCalendarDate).getTime() + data * 60 * 1000) - : new Date(horizonDate); - console.log('-- Work Type offset max date : ', workTypeDueDateOffset); - this.maxValidCalendarDate = - workTypeDueDateOffset < horizonDate - ? new Date(workTypeDueDateOffset) - : new Date(horizonDate); - console.log('-- maxValidCalendarDate Date : ', this.maxValidCalendarDate); - }) - .catch((error) => { - console.log('-- Could not find work type ', error.body); - }); - } - - createSAObject(data) { - let appointmentFields = {}; - // eslint-disable-next-line no-unused-expressions - data.fields && - Object.keys(data.fields).forEach((appointmentField) => { - appointmentFields[appointmentField] = { - name: appointmentField, - value: data.fields[appointmentField] && data.fields[appointmentField].value, - }; - }); - - console.log('createSAObject::: ' + JSON.stringify(appointmentFields)); - return appointmentFields; - } - - openModal(event) { - event.preventDefault(); - this.showModal = 1; - } - - closeModal(event) { - event.preventDefault(); - this.showModal = 0; - } - - // onCustomEventCalled(event) { - // console.log("customEvent handled from lp"); - // } // lint changes - - checkServiceAppointmentStatus(currentSAStatus) { - console.log( - 'checkServiceAppointmentStatus => Current: ' + - currentSAStatus + - ' ; confirmed: ' + - this.confirmStatusId + - ' ; rescheduled: ' + - this.rescheduleStatusId + - ' ; canceled : ' + - this.cancelStatusId - ); - - if (currentSAStatus === this.cancelStatusId) { - this.showCancelScreen(true); - } else if (currentSAStatus === this.confirmStatusId) { - this.isAppointmentConfirmed = true; - } else { - this.isAppointmentConfirmed = false; - } - if (!this.allowToConfirmAppt) { - this.isAppointmentConfirmed = true; - } - } - - showCancelScreen(value) { - this.show_cancelScreen = value; - this.show_RescheduleAppointmentScreen = !value; - this.show_ConfirmAppointmentScreen = !value; - } - - showConfirmScreen(value) { - this.show_cancelScreen = !value; - this.show_RescheduleAppointmentScreen = !value; - this.show_ConfirmAppointmentScreen = value; - } - showRescheduleScreen(value) { - this.show_cancelScreen = !value; - this.show_RescheduleAppointmentScreen = value; - this.show_ConfirmAppointmentScreen = !value; - } - - getDateWithoutTime(date) { - var d; - if (typeof val === 'string') { - d = new Date(date.replace(/-/g, '/')); // replace method is use to support time in safari - } else { - d = new Date(date); - } - d.setHours(0, 0, 0, 0); - return d; - } - - onDateSelected(event) { - this.selectedDate = event.detail.date; - console.log('Selected date in main class : ' + this.selectedDate); - } - - getFirstDayOfWeek(date, index) { - var start = index >= 0 ? index : 0; - var d = new Date(date); - var day = d.getDay(); - var diff = d.getDate() - day + (start > day ? start - 7 : start); - d.setDate(diff); - console.log('First day of week is : ' + d.getDate()); - let newDate = new Date(d.setDate(d.getDate() - this.noOfDaysBeforeAfterWeek)).setHours( - 0, - 0, - 0, - 0 - ); - return newDate; - } - - getLastDayOfWeek(date, index) { - var start = index >= 0 ? index : 0; - var d = new Date(date); - var day = d.getDay(); - var diff = d.getDate() - day + (start > day ? start - 1 : 6 + start); - d.setDate(diff); - let newDate = new Date(d.setDate(d.getDate() + this.noOfDaysBeforeAfterWeek)).setHours( - 0, - 0, - 0, - 0 - ); - return newDate; - } - - isInArray(value) { - let currentDateArray = []; - - if (this.currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { - currentDateArray = this.dateArrayForQueryCurrentMobileWorkwerSlots; - } else { - currentDateArray = this.dateArrayForQueryAllMobilesWorkerSlots; - } - - for (let i = 0; i < currentDateArray.length; i++) { - if (value.getTime() === currentDateArray[i].getTime()) { - return true; - } - } - return false; - } - - revertSA() { - updateSA({ - serviceAppointmentId: this.serviceAppointmentId, - earliestStartDate: this.OriginalEarliestStartDate, - arrivalStartDate: this.OriginalArrivalStartDate, - arrivalEndDate: this.OriginalArrivalEndDate, - }) - .then((data) => { - if (data.success) { - console.log('Service appointment reverted successfully'); - } else console.log('Error while reverting the service appointment'); - }) - .catch((error) => { - console.log('Error while reverting the service appointment ' + error); - }); - } - - getLastSlotFromTheArray(slotArray) { - var lastdate; - if (slotArray.length > 0) { - let timeSlot = slotArray[slotArray.length - 1].split('#'); - lastdate = this.getDateWithoutTime(Date.parse(timeSlot[0].replace(/-/g, '/'))); - console.log('Last Date from the slots is : ' + lastdate); - } - return lastdate; - } - - addDatesToCashArray(start, end) { - var currentDate = start; - let currentDateArray = []; - - if (this.currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { - currentDateArray = this.dateArrayForQueryCurrentMobileWorkwerSlots; - } else { - currentDateArray = this.dateArrayForQueryAllMobilesWorkerSlots; - } - - while (currentDate <= end) { - let addingDate = new Date(currentDate); - currentDateArray.push(addingDate); - let tempDate = currentDate.setDate(currentDate.getDate() + 1); - currentDate = new Date(tempDate); - } - - currentDateArray = Array.from(new Set(currentDateArray)); - } - - removeDatesFromCashArray() { - if (this.currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { - this.dateArrayForQueryCurrentMobileWorkwerSlots = []; - } else { - this.dateArrayForQueryAllMobilesWorkerSlots = []; - } - } - - showAlertWithError(errorMessage) { - // eslint-disable-next-line no-alert - alert(errorMessage); - } - - handleGetSlotQueryForSelectedDate(event) { - event.stopPropagation(); - event.preventDefault(); - let firstDateOfWeek = this.getFirstDayOfWeek(event.detail.selectedDate); - if (this.dataLoaded) { - this.lockScrolling(); - console.log('handleGetSlotQueryForSelectedDate', firstDateOfWeek); - this.handleGetSlotQueryForSelectedDateRange(firstDateOfWeek); - } - } - - handleGetSlotQueryForSelectedDateRange(selectedDate) { - this.lockScrolling(); - console.log('handleGetSlotQueryForSelectedDateRange', selectedDate); - let firstDateOfWeek = selectedDate; - if (firstDateOfWeek <= new Date()) { - firstDateOfWeek = new Date(); - } - console.log('handleGetSlotQueryForSelectedDateRange', selectedDate); - let lastDateOfWeek = this.getLastDayOfWeek(firstDateOfWeek, 0); - if (lastDateOfWeek > this.maxValidCalendarDate) { - lastDateOfWeek = this.maxValidCalendarDate; - } - console.log('First and Last date of the week : ' + firstDateOfWeek + ' ' + lastDateOfWeek); - - let loopdate = new Date(firstDateOfWeek); - loopdate = new Date(this.getDateWithoutTime(loopdate)); - - console.log('Date in the Array is : ' + loopdate); - console.log( - 'this.dateArrayForQuery.indexOf(loopdate) + : ' + - loopdate + - ' and ' + - this.isInArray(loopdate) - ); - - if (!this.isInArray(loopdate)) { - console.log('Address is : ' + this.street); - //If the date is not added in cache, run the below code to add it and get fresh slots - this.addDatesToCashArray(new Date(loopdate), new Date(loopdate)); - - console.log( - 'getSlot As Per StartDate : ' + - loopdate + - ' Minvalid Calendar date : ' + - this.minValidCalendarDate - ); - if (loopdate < this.minValidCalendarDate) { - loopdate = new Date(this.minValidCalendarDate); - } - - if (loopdate >= this.minValidCalendarDate) { - console.log('Run appointment query for date ' + loopdate); - - // IF THE DATE IS AFTER ARRIVAL WINDOW START DATE - console.log('clone sa method called'); - cloneWorkOrder({ - originalSaId: this.serviceAppointmentId, - startPermitDate: loopdate, - maxValidCalendarDate: this.maxValidCalendarDate, - dummySA: this.dummySAid, - dummyWO: this.dummyWO, - }) - .then((saData) => { - if (saData.dummyServiceAppointmentId) { - this.lockScrolling(); - this.dummySAid = saData.dummyServiceAppointmentId; - this.dummyWO = saData.dummyWorkOrderId; - console.log('clone sa method finished::: sa:' + saData.dummyServiceAppointmentId); - - this.sleep(3000).then(() => { - var lcaletime = Intl.DateTimeFormat().resolvedOptions().timeZone; - assignCurrentUserAsRequiredResource({ - serviceAppointmentId: this.dummySAid, - currentAssignmentMethod: this.currentAssignmentMethod, - }) - .then((data1) => { - if (data1.error || data1.DML) { - console.log( - 'Error while updating resource preference : ' + - data1.error + - ' : ' + - data1.DML - ); - this.showAlertWithError( - this.LABELS.FollowUpAppointments_confirmation_failure_message - ); - this.deleteDummySa(this.dummySAid); - } else { - console.log('getSlots method called'); - getSlotsByAssignmentMethod({ - serviceAppointmentId: this.dummySAid, - operatingHoursId: this.operatingHoursId, - schedulingPolicyId: this.schedulingPolicyId, - arrivalWindowFlag: this.showExactArrivalTime, - localetimezone: lcaletime, - }) - .then((data) => { - console.log('getSlotsByAssignmentMethod allowScrolling::::'); - // this.allowScrolling(); - console.log('Time zone of the sa is : ' + data.timeZone); - this.timeZoneOfDummySA = data.timeZone; - - if (data.error) { - console.log('Error in getting slots : ' + data.error); - this.showAlertWithError( - this.LABELS.FollowUpAppointments_confirmation_failure_message - ); - this.timeSlotDateWise = []; - this.deleteDummySa(this.dummySAid); - } else { - this.timeSlotWiseTemp = data.timeSlotList; - this.timeSlotDateWise = this.timeSlotWiseTemp; - - let tempDate = loopdate.setDate( - loopdate.getDate() + this.maxDaysToGetAppointmentSlots - ); - loopdate = new Date(tempDate); - console.log( - 'New Loop date is : ' + - loopdate + - ' and last day of week is : ' + - lastDateOfWeek - ); - - if (loopdate <= lastDateOfWeek) { - this.handleGetSlotQueryForSelectedDateRange(loopdate); - } else { - this.deleteDummySa(this.dummySAid); - } - } - }) - .catch((error) => { - this.deleteDummySa(this.dummySAid); - console.log('Error while executing FSL API :', +error); - this.timeSlotDateWise = []; - }); - } - }) - .catch((error) => { - console.log('Error while updating resource preference :', +error); - }); - }); - } else if (saData.error) { - console.log('Errror while creating dummy SA :', +saData.error); - this.timeSlotDateWise = []; - this.allowScrolling(); - } - }) - .catch((error) => { - // delete SA/WO incase transaction fails - this.deleteDummySa(this.dummySAid); - console.log('Errror while creating dummy SA :', +error); - this.timeSlotDateWise = []; - this.allowScrolling(); - }); - } else { - // IF THE DATE IS BEFORE ARRIVAL WINDOW START DATE - console.log('Loop date is less than minimum valid date'); - - let tempDate = loopdate.setDate(loopdate.getDate() + this.maxDaysToGetAppointmentSlots); - loopdate = new Date(tempDate); - if (loopdate <= lastDateOfWeek) { - this.handleGetSlotQueryForSelectedDateRange(loopdate); - } else { - this.timeSlotDateWise = this.timeSlotWiseTemp; - } - } - } else { - // If the date are already cache, take the slot from it and run the query for next date; - let tempDate = loopdate.setDate(loopdate.getDate() + this.maxDaysToGetAppointmentSlots); - loopdate = new Date(tempDate); - - if (loopdate <= lastDateOfWeek) { - this.handleGetSlotQueryForSelectedDateRange(loopdate); - } else { - this.timeSlotDateWise = []; - this.allowScrolling(); - } - } - } - - sleep(ms) { - // eslint-disable-next-line @lwc/lwc/no-async-operation - return new Promise((resolve) => setTimeout(resolve, ms)); - } - - onServiceAppointmentUpdate = (event) => { - let selectedSlotStart = event.detail.selectedSlotStart; - let selectedSlotEnd = event.detail.selectedSlotEnd; - - // in case of no Service Territory, skip apex class - if (this.serviceTerritoryTimeZone) { - /** - * CONVERT THE TIME FROM LOCALE TO SERVER - */ - convertTimeToOtherTimeZone({ - date1: selectedSlotStart, - date2: selectedSlotEnd, - targetTimezone: this.serviceTerritoryTimeZone, - sourceTimezone: Intl.DateTimeFormat().resolvedOptions().timeZone, - }) - .then((data) => { - console.log('Date converted from apex is : ' + new Date(data.date1)); - console.log('Date converted from apex is : ' + new Date(data.date2)); - selectedSlotStart = new Date(data.date1); - selectedSlotEnd = new Date(data.date2); - this.UpdateServiceAppointmentFunction(event); - }) - .catch((error) => { - console.log('error is : ' + error); - }); - } else { - this.UpdateServiceAppointmentFunction(event); - } - }; - - UpdateServiceAppointmentFunction = (event) => { - let selectedSlotStart = event.detail.selectedSlotStart; - let selectedSlotEnd = event.detail.selectedSlotEnd; - let ArrivalWindowStartTime = event.detail.ArrivalWindowStartTime; - - if (this.isValidDate(selectedSlotStart) && this.isValidDate(selectedSlotEnd)) { - // if(!(ArrivalWindowStartTime) || ArrivalWindowStartTime === "null") { - // ArrivalWindowStartTime = "1970-01-01 09:00:00"; //Overwrites null ArrivalWindowStart field - // } - // if(selectedSlotStart.getTime() !== convertDateUTCtoLocal(ArrivalWindowStartTime).getTime()) { - this.showSpinnerInChildClass = true; - console.log('this.selectedSlotStart=' + selectedSlotStart); - console.log('this.selectedSlotEnd=' + selectedSlotEnd); - - const customEvent = new CustomEvent('selectedslot', { - detail: { - arrivalWindowStartTime: selectedSlotStart, - arrivalWindowEndTime: selectedSlotEnd, - }, - }); - this.dispatchEvent(customEvent); - - // } else { - // this.template.querySelector('c-mobile-appointment-booking-scheduling-container').handleSchedulingResponse(false); - // } - } else { - console.log('Invalid date time '); - this.template - .querySelector('c-mobile-appointment-booking-scheduling-container') - .handleSchedulingResponse(false); - } - }; - - @api scheduleSAMethod(newRecordId) { - this.serviceAppointmentId = newRecordId; - assignCurrentUserAsRequiredResource({ - serviceAppointmentId: this.serviceAppointmentId, - currentAssignmentMethod: this.currentAssignmentMethod, - }) - .then((data) => { - if (data.error || data.DML) { - console.log( - 'Error while updating resource preference : ' + data.error + ' : ' + data.DML - ); - this.showAlertWithError(this.LABELS.FollowUpAppointments_confirmation_failure_message); - this.deleteDummySa(this.serviceAppointmentId); - } else { - scheduleSA({ - serviceAppointmentId: this.serviceAppointmentId, - schedulingPolicyId: this.schedulingPolicyId, - }) - .then((scheduleData) => { - if (scheduleData.error || scheduleData.success === 'null') { - console.log( - 'Error while executing FSL API : ' + JSON.stringify(scheduleData.error) - ); - console.log( - 'Check if the SA ' + this.serviceAppointmentId + ' can be scheduled via the Gantt' - ); - this.template - .querySelector('c-mobile-appointment-booking-scheduling-container') - .handleSchedulingResponse(false); - } else { - console.log('Service appointment Scheduled : ' + JSON.stringify(scheduleData)); - this.isAppointmentConfirmed = true; - // Update Data After successfull booking - // this.updateCompactInfoAfterReschedule(selectedSlotStart, selectedSlotEnd); - this.template - .querySelector('c-mobile-appointment-booking-scheduling-container') - .handleSchedulingResponse(true); - } - }) - .catch((error) => { - this.revertSA(); - console.log('Error while executing FSL API : ' + JSON.stringify(error)); - this.template - .querySelector('c-mobile-appointment-booking-scheduling-container') - .handleSchedulingResponse(false); - }); - } - }) - .catch((error) => { - console.log('Error while updating resource preference :', +error); - }); - } - - isValidDate(d) { - return d instanceof Date && !isNaN(d); - } - - onWeekChangeEvent(event) { - this.selectedDate = event.detail.date; - console.log('On week change called'); - this.template - .querySelector('c-mobile-appointment-booking-slots-container') - .onWeekUpdated(this.selectedDate); - this.runApexQueryToChangeEarlistStartDate(this.selectedDate); - } - - onSlotSelection(event) { - // TODO test this change (lint changes) - event.stopPropagation(); - event.preventDefault(); - this.selectedSlotStart = event.detail.startDate; - this.selectedSlotEnd = event.detail.endDate; - this.setNewAppointmentSelectedText(event.detail.startDate, event.detail.endDate); - } - - onCustomEventCalled(event) { - event.preventDefault(); - switch (event.detail.name) { - case 'trigergetslotapi': { - this.runApexQueryToChangeEarlistStartDate(event.detail.value); - break; - } - case 'updateNonAvailableDates': { - this.nonAvailableDateArray = event.detail.value; - console.log('Array of the date not available : ' + this.nonAvailableDateArray.length); - break; - } - default: { - break; - } - } - } - - getHeadlineDate() { - var startDate; - var endDate; - const dateOptions = { weekday: 'long', month: 'long', day: 'numeric' }; - if (this.ArrivalWindowStartTime === 'null' || this.showExactArrivalTime) { - startDate = convertDateUTCtoLocal(this.SchedStartTime); - endDate = convertDateUTCtoLocal(this.SchedEndTime); - } else { - startDate = this.ArrivalWindowStartTime; - endDate = convertDateUTCtoLocal(this.ArrivalWindowEndTime); - } - if (startDate && endDate) { - let dateLong = startDate.toLocaleDateString(undefined, dateOptions); - let time = - this.getFormattedTimeFromDate(startDate) + ' - ' + this.getFormattedTimeFromDate(endDate); - if (this.showExactArrivalTime) { - time = this.getFormattedTimeFromDate(startDate); - } - this.headlineDate = dateLong; - this.headlineTime = time; - } - } - - getFormattedTimeFromDate(date) { - // method to format the time digits - var tempDate = new Date(date); - var hours = tempDate.getHours(); - var minutes = tempDate.getMinutes(); - var ampm = hours >= 12 ? 'PM' : 'AM'; - hours = hours % 12; - hours = hours ? hours : 12; // the hour '0' should be '12' - hours = hours < 10 ? '0' + hours : hours; - minutes = minutes < 10 ? '0' + minutes : minutes; - return hours + ':' + minutes + ' ' + ampm; - } - - runApexQueryToChangeEarlistStartDate(selectedDate) { - const customEvent = new CustomEvent('getslotexecuted', { - detail: { selectedDate: selectedDate }, - }); - this.dispatchEvent(customEvent); - } - - /** - * SAVE ALL VALUES AFTER SELECTING THE SLOT - */ - position; - setNewAppointmentSelectedText(start, end) { - const dateOptions = { weekday: 'long', month: 'long', day: 'numeric' }; - var dateLong = start.toLocaleDateString(undefined, dateOptions); - var time = this.getFormattedTimeFromDate(start) + ' - ' + this.getFormattedTimeFromDate(end); - if (this.showExactArrivalTime) { - time = this.getFormattedTimeFromDate(start); - } - this.newAppointmentDate = dateLong; - this.newAppointmentTime = time; - this.show_confirmBtnLayout = true; - // lock scrolling - document.body.style.overflow = 'hidden'; - } - - handleScheduleCloseWindow() { - this.show_confirmBtnLayout = false; - // allow scrolling - document.body.style.overflow = 'auto'; - const customEvent = new CustomEvent('scheduleclosewindow'); - this.dispatchEvent(customEvent); - } - - handleCurrentAssignmentMethodChange = (event) => { - this.lockScrolling(); - const updatedValue = event.detail.assignmentMethod; - const selectedDate = event.detail.selecteddate; - - this.currentAssignmentMethod = assignmentMethod[updatedValue]; - - //dispatch get Slots - let firstDateOfWeek = this.getFirstDayOfWeek(selectedDate); - - this.template - .querySelector('c-mobile-appointment-booking-scheduling-container') - .clearSlotsAfterAssignmentMethodChange(this.currentAssignmentMethod); - //clone and get slots - - console.log( - 'Calling handleGetSlotQueryForSelectedDateRange after assignment method change::: existing dummy- ' + - this.dummySAid - ); - this.handleGetSlotQueryForSelectedDateRange(firstDateOfWeek); - }; - - deleteDummySa(dummySaId) { - console.log('deleteDummySa begins ::: Dummy Service Appointment: ' + dummySaId); - this.lockScrolling(); - deleteClonedAppointmentData({ clonedServiceAppointmentId: dummySaId }) - .then((data) => { - this.allowScrolling(); - if (data) { - console.log('deleteClonedAppointmentData response ::::' + JSON.stringify(data, null, 2)); - this.dummySAid = null; - this.dummyWO = null; - } - }) - .catch((error) => { - this.allowScrolling(); - console.log('There was a problem deleting the SA' + JSON.stringify(error)); - }); - } - - prepareInitialDataAndAssignmentData() { - isUserExcludedResource({ serviceAppointmentId: this.serviceAppointmentId }) - .then((data) => { - if (data.success) { - console.log('isUserExcludedResource response received userIsExcluded::: ' + data.success); - this.isExcluded = data.success; - } else { - console.log('Error in isUserExcludedResource ::: '); - this.isExcluded = false; - } - }) - .catch((e) => { - this.isExcluded = false; - console.log('Error in isUserExcludedResource ::: ' + JSON.stringify(e)); - }) - .finally(() => { - this.calcAssignmentMethod(); - this.getInitData(); - this.selectedDate = new Date(); - }); - } - - allowScrolling() { - document.body.style.overflow = 'auto'; - this.showDataSpinner = false; - } - lockScrolling() { - document.body.style.overflow = 'hidden'; - this.showDataSpinner = true; - } - - getUserNameForAssignTo() { - getUserName() - .then((data) => { - if (data.error) { - console.log('error in getUserName: ' + JSON.stringify(data.error)); - } else { - this.userName = data; - this.error = undefined; - console.log('UserName from getUserName :' + data); - this.setAssigNameByAssignMethod(); - } - }) - .catch((error) => { - console.log('error in getUserName: ' + JSON.stringify(error)); - }); - } - - setAssigNameByAssignMethod() { - if (this._currentAssignmentMethod) { - if (this._currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { - this.assignToName = this.LABELS.FollowUpAppointments_assigned_to_you.replace( - '{0}', - this.userName - ); - } else { - this.assignToName = this.LABELS.FollowUpAppointments_assigned_to_any_available_worker; - } - } - } - - updateCompactInfoAfterReschedule(selectedSlotStart, selectedSlotEnd) { - this.updateCompactInfoObj( - this.currentAppointmentData.WorkTypeName, - selectedSlotStart, - selectedSlotEnd, - this.currentAppointmentData.AppointmentNumber - ); - } - - updateCompactInfoObj(workTypeName, startDate, endDate, appointmentNumber) { - let compactInfo = {}; - - if (this.showExactArrivalTime) { - compactInfo = { - workTypeName, - startDate, - endDate: null, - appointmentNumber, - }; - } else { - compactInfo = { - workTypeName, - startDate, - endDate, - appointmentNumber, - }; - } - - this.compactInfoObj = JSON.parse(JSON.stringify(compactInfo)); - } -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js-meta.xml b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js-meta.xml deleted file mode 100644 index de71578..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - 55.0 - false - - lightning__RecordAction - - - - ScreenAction - - - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/labels.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/labels.js deleted file mode 100644 index 5cb1451..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/labels.js +++ /dev/null @@ -1,17 +0,0 @@ -import FollowUpAppointments_new_appointment_msg from '@salesforce/label/c.FollowUpAppointments_new_appointment_msg'; -import FollowUpAppointments_accept_new_appointment_button from '@salesforce/label/c.FollowUpAppointments_accept_new_appointment_button'; -import FollowUpAppointments_bottom_sheet_success from '@salesforce/label/c.FollowUpAppointments_bottom_sheet_success'; -import FollowUpAppointments_bottom_sheet_failure_title from '@salesforce/label/c.FollowUpAppointments_bottom_sheet_failure_title'; -import FollowUpAppointments_bottom_sheet_failure_body from '@salesforce/label/c.FollowUpAppointments_bottom_sheet_failure_body'; -import FollowUpAppointments_OK from '@salesforce/label/c.FollowUpAppointments_OK'; - -const customLabels = { - FollowUpAppointments_new_appointment_msg, - FollowUpAppointments_accept_new_appointment_button, - FollowUpAppointments_bottom_sheet_success, - FollowUpAppointments_bottom_sheet_failure_title, - FollowUpAppointments_bottom_sheet_failure_body, - FollowUpAppointments_OK, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.css b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.css deleted file mode 100644 index ae1f781..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.css +++ /dev/null @@ -1,187 +0,0 @@ -.main-container{ - padding: 16px; -} - -.modal-container{ - width: 100%; - min-height: 225px; - background: white; - border-top-left-radius: 8px; - border-top-right-radius: 8px; -} - -.spinner-container{ - position: inherit; -} - -.confirmBtn { - width: 100%; - left: 50%; - -ms-transform: translate(-50%,0%); - transform: translate(-50%,0%); - height: 50px; - border-radius: 12px; - background-color: #0176D3; - font-style: normal; - font-weight: 600; - font-size: 16px; - line-height: 22px; - display: flex; - align-items: center; - text-align: center; - color: #FFFFFF; -} - -.acceptNewAptTitle{ - flex-direction: column; - font-style: normal; - font-weight: 600; - font-size: 18px; - line-height: 21px; - display: flex; - align-items: center; - text-align: center; - color: #181818; -} -.acceptNewAptClose{ - margin-top: 2px; - cursor: pointer; -} -.modal { - position: fixed; - top: auto; - bottom: 0px; - left: 0px; -} - -svg[class*="slds-button__icon_left"]{ - padding-bottom: 2px !important; -} - -.modal-footer{ - box-sizing: border-box; - display: flex; - flex-direction: column; - align-items: center; - padding: 0 16px 16px 16px; - border-radius: 0px; - flex: none; - order: 3; - align-self: stretch; - flex-grow: 0; - height: 65px; -} - -.modal-title-container{ - border-bottom: 1px solid rgba(159, 170, 181, 0.5); - box-sizing: border-box; - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - padding: 0px; - isolation: isolate; - height: 48px; - padding: 16px; -} - -.info{ - font-size: 16px; - line-height: 22px; - color: rgba(68, 68, 68, 1); - border: 1px solid rgba(159, 170, 181, 0.5); - border-radius: 12px; - padding: 16px; - margin: 16px; -} - -.info-emph{ - font-style: normal; - font-weight: 600; - font-size: 18px; - line-height: 21px; - display: flex; - align-items: center; - color: #181818; - margin-bottom: 8px; -} - -.info-date{ - font-style: normal; - font-weight: 400; - font-size: 16px; - line-height: 22px; - display: flex; - align-items: center; - color: #181818; - margin-bottom: 8px; -} - -.secondary-title{ - font-style: normal; - font-weight: 400; - font-size: 16px; - line-height: 22px; - display: flex; - align-items: center; - color: #444444; - margin-bottom: 8px; -} - -.contact-name-title { - font-style: normal; - font-weight: 600; - font-size: 16px; - line-height: 22px; - display: flex; - align-items: center; - color: #181818; - margin-bottom: 8px; -} -.scheduling-results-container{ - display: flex; - flex-direction: column; - align-items: center; - padding: 43px 0; -} - -.scheduling-results-title{ - margin-top: 16px; - font-size: 16px; - line-height: 22px; - font-weight: 500; -} - -.scheduling-results-info{ - font-size: 16px; - line-height: 22px; - color: rgba(0, 0, 0, 1); -} - -.schedule-results-header-icon-container{ - display: flex; - justify-content: center; - margin-bottom: 16px; -} - -.schedule-results-header-icon-title{ - margin-left: 8px; - font-size: 16px; - line-height: 22px; - font-weight: 500; -} - -.hide{ - visibility: hidden; -} - -.top-space{ - margin-top: 16px; -} - -.button:active{ - opacity: 25%; -} -.slds-modal__content { - border-radius: 12px; -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.html b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.html deleted file mode 100644 index 9da4880..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.html +++ /dev/null @@ -1,105 +0,0 @@ - - diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js deleted file mode 100644 index 3611eb1..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js +++ /dev/null @@ -1,47 +0,0 @@ -import { LightningElement, api } from 'lwc'; -import customLabels from './labels'; -export default class MobileAppointmentBookingRescheduleAppointment extends LightningElement { - LABELS = customLabels; - beforeScheduling = true; - showSpinner = false; - scheduleSuccess = false; - mainTitle = this.LABELS.FollowUpAppointments_new_appointment_msg; - rescheduleBtnTitle = this.LABELS.FollowUpAppointments_accept_new_appointment_button; - successTitle = this.LABELS.FollowUpAppointments_bottom_sheet_success; - failureTitle = this.LABELS.FollowUpAppointments_bottom_sheet_failure_title; - failurBody = this.LABELS.FollowUpAppointments_bottom_sheet_failure_body; - confirmAndCloseBtn = this.LABELS.FollowUpAppointments_OK; - @api workTypeName; - @api newAppointmentDate; - @api contactName; - @api assignToName; - @api newRecordNumber; - - handleCloseModal() { - // close the modal without scheduling - const customEvent = new CustomEvent('closeslotmodal'); - this.dispatchEvent(customEvent); - } - - handleConfirmBtnClose() { - // close the modal window after scheduling success of fail - document.body.style.overflow = 'auto'; - const customEvent = new CustomEvent('scheduleclosewindow'); - this.dispatchEvent(customEvent); - } - - handleConfirm() { - // press on Book Appointment button to schedule the SA - this.showSpinner = true; - const customEvent = new CustomEvent('scheduleconfirmed'); - this.dispatchEvent(customEvent); - } - - @api handleSchedulingResponse(response) { - // calls at the end of scheduling process - this.beforeScheduling = false; - this.showSpinner = false; - this.scheduleSuccess = response; - document.body.style.overflow = 'hidden'; - } -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js-meta.xml b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js-meta.xml deleted file mode 100644 index f8c5cb4..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 56.0 - false - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/__tests__/mobileAppointmentBookingResourceAssignment.test.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/__tests__/mobileAppointmentBookingResourceAssignment.test.js deleted file mode 100644 index 2d54afa..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/__tests__/mobileAppointmentBookingResourceAssignment.test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { createElement } from 'lwc'; -import ResourceAssignment from 'c/resourceAssignment'; - -describe('c-resource-assignment', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('TODO: test case generated by CLI command, please fill in test logic', () => { - // Arrange - const element = createElement('c-resource-assignment', { - is: ResourceAssignment, - }); - - // Act - document.body.appendChild(element); - - // Assert - // const div = element.shadowRoot.querySelector('div'); - expect(1).toBe(1); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/labels.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/labels.js deleted file mode 100644 index e943fa6..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/labels.js +++ /dev/null @@ -1,13 +0,0 @@ -import FollowUpAppointments_cant_select_Mobile_Worker_excluded from '@salesforce/label/c.FollowUpAppointments_cant_select_Mobile_Worker_excluded'; -import FollowUpAppointments_Mobile_Worker_radio_title from '@salesforce/label/c.FollowUpAppointments_Mobile_Worker_radio_title'; -import FollowUpAppointments_Mobile_Worker_radio_assignToMe_lable from '@salesforce/label/c.FollowUpAppointments_Mobile_Worker_radio_assignToMe_lable'; -import FollowUpAppointments_Mobile_Worker_radio_assignToAnyAvailable_lable from '@salesforce/label/c.FollowUpAppointments_Mobile_Worker_radio_assignToAnyAvailable_lable'; - -const customLabels = { - FollowUpAppointments_cant_select_Mobile_Worker_excluded, - FollowUpAppointments_Mobile_Worker_radio_title, - FollowUpAppointments_Mobile_Worker_radio_assignToMe_lable, - FollowUpAppointments_Mobile_Worker_radio_assignToAnyAvailable_lable, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.css b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.css deleted file mode 100644 index 2d7c284..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.css +++ /dev/null @@ -1,25 +0,0 @@ -.container{ - background-color: white; - margin: 10px 0; - padding: 13px 16px 0px 16px; -} -.title{ - font-size: 18px; - line-height: 21px; - font-weight: 500; - color: rgb(0,0,0); - margin-bottom: 13px; -} -.mobile-worker-content{ - padding-top: 16px; - font-size: 16px; - line-height: 22px; -} -.separator{ - height: 1px; - background-color: rgba(159, 170, 181, 0.5); - margin: 0 -16px; -} -.resourceRadioGroup { - --slds-c-radio-mark-color-foreground: #0176D3; -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.html b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.html deleted file mode 100644 index a19c81d..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.html +++ /dev/null @@ -1,24 +0,0 @@ - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js deleted file mode 100644 index 3cd9e03..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js +++ /dev/null @@ -1,48 +0,0 @@ -import { LightningElement, api } from 'lwc'; -import customLabels from './labels'; - -export default class MobileAppointmentBookingResourceAssignment extends LightningElement { - LABELS = customLabels; - value = 'ASSIGN_TO_ME'; - @api currentAssignmentMethod; - @api userName = ''; - @api selecteddate; - @api isExcluded; - @api showMobileWorkerChoice; - @api excludedMsg = this.LABELS.FollowUpAppointments_cant_select_Mobile_Worker_excluded; - resourceAssignmentTitle = this.LABELS.FollowUpAppointments_Mobile_Worker_radio_title; - - @api get showExcludedMsg() { - return this.isExcluded; - } - - get options() { - return [ - { - label: `${this.LABELS.FollowUpAppointments_Mobile_Worker_radio_assignToMe_lable} (${ - this.userName || ' ' - })`, - value: 'ASSIGN_TO_ME', - }, - { - label: this.LABELS.FollowUpAppointments_Mobile_Worker_radio_assignToAnyAvailable_lable, - value: 'ASSIGN_TO_ANY_AVIALABLE', - }, - ]; - } - - handleAssignmentMethodChange(event) { - event.preventDefault(); - - console.log('Mobile Worker Method Changed to::: ' + event.target.value); - const assignmentMethodEvent = new CustomEvent('onassignmentmethodchanged', { - detail: { - assignmentMethod: event.target.value, - selecteddate: this.selecteddate, - }, - composed: true, - bubbles: true, - }); - this.dispatchEvent(assignmentMethodEvent); - } -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js-meta.xml b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/__tests__/mobileAppointmentBookingSchedulingContainer.test.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/__tests__/mobileAppointmentBookingSchedulingContainer.test.js deleted file mode 100644 index 452e01b..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/__tests__/mobileAppointmentBookingSchedulingContainer.test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { createElement } from 'lwc'; -import SchedulingContainer from 'c/schedulingContainer'; - -describe('c-scheduling-container', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('TODO: test case generated by CLI command, please fill in test logic', () => { - // Arrange - const element = createElement('c-scheduling-container', { - is: SchedulingContainer, - }); - - // Act - document.body.appendChild(element); - - // Assert - // const div = element.shadowRoot.querySelector('div'); - expect(1).toBe(1); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/labels.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/labels.js deleted file mode 100644 index d609bfb..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/labels.js +++ /dev/null @@ -1,23 +0,0 @@ -import FollowUpAppointments_your_appt_was_canceled_msg from '@salesforce/label/c.FollowUpAppointments_your_appt_was_canceled_msg'; -import FollowUpAppointments_toastMessage_appointment_confirmed from '@salesforce/label/c.FollowUpAppointments_toastMessage_appointment_confirmed'; -import FollowUpAppointments_toastMessage_appointment_schedule from '@salesforce/label/c.FollowUpAppointments_toastMessage_appointment_schedule'; -import FollowUpAppointments_toastMessage_cancel_appointment_fail_message from '@salesforce/label/c.FollowUpAppointments_toastMessage_cancel_appointment_fail_message'; -import FollowUpAppointments_toastMessage_confirm_appointment_fail_message from '@salesforce/label/c.FollowUpAppointments_toastMessage_confirm_appointment_fail_message'; -import FollowUpAppointments_toastMessage_schedule_appointment_fail_message from '@salesforce/label/c.FollowUpAppointments_toastMessage_schedule_appointment_fail_message'; -import FollowUpAppointments_same_appointment_selected_warning from '@salesforce/label/c.FollowUpAppointments_same_appointment_selected_warning'; -import FollowUpAppointments_all_available_appointments from '@salesforce/label/c.FollowUpAppointments_all_available_appointments'; -import FollowUpAppointments_recommended_appointments from '@salesforce/label/c.FollowUpAppointments_recommended_appointments'; - -const customLabels = { - FollowUpAppointments_your_appt_was_canceled_msg, - FollowUpAppointments_toastMessage_appointment_confirmed, - FollowUpAppointments_toastMessage_appointment_schedule, - FollowUpAppointments_toastMessage_cancel_appointment_fail_message, - FollowUpAppointments_toastMessage_confirm_appointment_fail_message, - FollowUpAppointments_toastMessage_schedule_appointment_fail_message, - FollowUpAppointments_same_appointment_selected_warning, - FollowUpAppointments_all_available_appointments, - FollowUpAppointments_recommended_appointments, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.css b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.css deleted file mode 100644 index d24f359..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.css +++ /dev/null @@ -1,9 +0,0 @@ -.calendarView { - position: -webkit-sticky; - position: sticky; - top: 66px; - background-color: white; - z-index: 10; - padding: 0 16px; - box-shadow: 0px 4px 0px #E5E5E5; -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.html b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.html deleted file mode 100644 index a545ee6..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.html +++ /dev/null @@ -1,49 +0,0 @@ - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js-meta.xml b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/__tests__/mobileAppointmentBookingSlotsContainer.test.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/__tests__/mobileAppointmentBookingSlotsContainer.test.js deleted file mode 100644 index ad21ea2..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/__tests__/mobileAppointmentBookingSlotsContainer.test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { createElement } from 'lwc'; -import SlotsContainer from 'c/slotsContainer'; - -describe('c-mobile-appointment-booking-slots-container', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('TODO: test case generated by CLI command, please fill in test logic', () => { - // Arrange - const element = createElement('c-mobile-appointment-booking-slots-container', { - is: SlotsContainer, - }); - - // Act - document.body.appendChild(element); - - // Assert - // const div = element.shadowRoot.querySelector('div'); - expect(1).toBe(1); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/labels.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/labels.js deleted file mode 100644 index 8fb92ea..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/labels.js +++ /dev/null @@ -1,58 +0,0 @@ -import FollowUpAppointments_no_available_appointments_msg from '@salesforce/label/c.FollowUpAppointments_no_available_appointments_msg'; -import FollowUpAppointments_MonthName_January from '@salesforce/label/c.FollowUpAppointments_MonthName_January'; -import FollowUpAppointments_MonthName_February from '@salesforce/label/c.FollowUpAppointments_MonthName_February'; -import FollowUpAppointments_MonthName_March from '@salesforce/label/c.FollowUpAppointments_MonthName_March'; -import FollowUpAppointments_MonthName_April from '@salesforce/label/c.FollowUpAppointments_MonthName_April'; -import FollowUpAppointments_MonthName_May from '@salesforce/label/c.FollowUpAppointments_MonthName_May'; -import FollowUpAppointments_MonthName_June from '@salesforce/label/c.FollowUpAppointments_MonthName_June'; -import FollowUpAppointments_MonthName_July from '@salesforce/label/c.FollowUpAppointments_MonthName_July'; -import FollowUpAppointments_MonthName_August from '@salesforce/label/c.FollowUpAppointments_MonthName_August'; -import FollowUpAppointments_MonthName_September from '@salesforce/label/c.FollowUpAppointments_MonthName_September'; -import FollowUpAppointments_MonthName_October from '@salesforce/label/c.FollowUpAppointments_MonthName_October'; -import FollowUpAppointments_MonthName_November from '@salesforce/label/c.FollowUpAppointments_MonthName_November'; -import FollowUpAppointments_MonthName_December from '@salesforce/label/c.FollowUpAppointments_MonthName_December'; - -import FollowUpAppointments_WeekDayLong_Monday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Monday'; -import FollowUpAppointments_WeekDayLong_Tuesday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Tuesday'; -import FollowUpAppointments_WeekDayLong_Wednesday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Wednesday'; -import FollowUpAppointments_WeekDayLong_Thursday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Thursday'; -import FollowUpAppointments_WeekDayLong_Friday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Friday'; -import FollowUpAppointments_WeekDayLong_Saturday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Saturday'; -import FollowUpAppointments_WeekDayLong_Sunday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Sunday'; -import FollowUpAppointments_today_text from '@salesforce/label/c.FollowUpAppointments_today_text'; -import FollowUpAppointments_all_available_appointments from '@salesforce/label/c.FollowUpAppointments_all_available_appointments'; -import FollowUpAppointments_recommended_appointments from '@salesforce/label/c.FollowUpAppointments_recommended_appointments'; -import FollowUpAppointments_empty_state_select_any_available_worker from '@salesforce/label/c.FollowUpAppointments_empty_state_select_any_available_worker'; -import FollowUpAppointments_empty_state_change_the_dates from '@salesforce/label/c.FollowUpAppointments_empty_state_change_the_dates'; - -const customLabels = { - FollowUpAppointments_no_available_appointments_msg, - FollowUpAppointments_today_text, - - FollowUpAppointments_MonthName_January, - FollowUpAppointments_MonthName_February, - FollowUpAppointments_MonthName_March, - FollowUpAppointments_MonthName_April, - FollowUpAppointments_MonthName_May, - FollowUpAppointments_MonthName_June, - FollowUpAppointments_MonthName_July, - FollowUpAppointments_MonthName_August, - FollowUpAppointments_MonthName_September, - FollowUpAppointments_MonthName_October, - FollowUpAppointments_MonthName_November, - FollowUpAppointments_MonthName_December, - - FollowUpAppointments_WeekDayLong_Monday, - FollowUpAppointments_WeekDayLong_Tuesday, - FollowUpAppointments_WeekDayLong_Wednesday, - FollowUpAppointments_WeekDayLong_Thursday, - FollowUpAppointments_WeekDayLong_Friday, - FollowUpAppointments_WeekDayLong_Saturday, - FollowUpAppointments_WeekDayLong_Sunday, - FollowUpAppointments_all_available_appointments, - FollowUpAppointments_recommended_appointments, - FollowUpAppointments_empty_state_select_any_available_worker, - FollowUpAppointments_empty_state_change_the_dates, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.css b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.css deleted file mode 100644 index 3870c47..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.css +++ /dev/null @@ -1,114 +0,0 @@ -.header{ - color: rgb(0, 0, 0); - font-size: 16px; - font-weight: 500; - letter-spacing: -0.38px; - margin-top: 24px; - margin-bottom: 8px; -} -.timeslotButton{ - width: 100%; - left: 50%; - -ms-transform: translate(-50%,0%); - transform: translate(-50%,0%); - height: 48px; - font-size: 16px; - border-radius: 12px; - border: 2px solid #0176D3; - color: #0176D3; - line-height: 22px; - display: flex; - align-items: center; - text-align: center; - margin: 8px 0; - font-style: normal; - font-weight: 600; -} - -.timeslotButton:active{ - opacity: 25%; -} -.timeslotButton:hover{ - opacity: 25%; -} -.timeslotButton:focus{ - opacity: 25%; -} - -.time-slot-btn-wrapper{ - box-sizing: border-box; - display: flex; - flex-direction: column; - align-items: center; - padding-top: 8px; - gap: 16px; -} -.noSlotLabel{ - height: 18px; - color: #706e6b; - font-size: 15px; - font-weight: normal; - letter-spacing: -0.36px; -} -.headerBold{ - color: rgb(0, 0, 0); - font-size: 16px; - font-weight: 700; - letter-spacing: -0.38px; -} -.slots-container{ - background-color: white; - padding: 0 16px 16px 16px; -} -.page-title{ - color: rgb(0, 0, 0); - font-size: 18px; - font-weight: 500; - letter-spacing: -0.38px; - margin-top: 10px; - margin-bottom: 4px; - padding-top: 10px; - padding-bottom: 10px; -} - -.separator{ - height: 1px; - background-color: rgba(159, 170, 181, 0.5); - margin: 0 -16px; -} - -.section{ - background-color: rgba(238, 238, 238, 1); - height: 10px; - margin: 16px -16px 0 -16px; -} - -.active-slot{ - opacity: 25%; -} - -.grey-action-icon{ - margin-bottom: 16px; - --sds-c-icon-color-background: #EEEEEE; -} - -.empty-slots-container{ - background-color: white; - display: flex; - flex-direction: column; - align-items: center; - padding: 40px 16px; - margin-top: 10px; -} - -.empty-slos-title{ - font-size: 16px; - line-height: 22px; - font-weight: 500; -} -.empty-slos-body{ - font-size: 16px; - line-height: 22px; - margin-top: 16px; - text-align: center; -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.html b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.html deleted file mode 100644 index 22eea19..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.html +++ /dev/null @@ -1,67 +0,0 @@ - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js-meta.xml b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/constantsLabels.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/constantsLabels.js deleted file mode 100644 index bfabc6a..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/constantsLabels.js +++ /dev/null @@ -1,45 +0,0 @@ -import FollowUpAppointments_MonthName_January from '@salesforce/label/c.FollowUpAppointments_MonthName_January'; -import FollowUpAppointments_MonthName_February from '@salesforce/label/c.FollowUpAppointments_MonthName_February'; -import FollowUpAppointments_MonthName_March from '@salesforce/label/c.FollowUpAppointments_MonthName_March'; -import FollowUpAppointments_MonthName_April from '@salesforce/label/c.FollowUpAppointments_MonthName_April'; -import FollowUpAppointments_MonthName_May from '@salesforce/label/c.FollowUpAppointments_MonthName_May'; -import FollowUpAppointments_MonthName_June from '@salesforce/label/c.FollowUpAppointments_MonthName_June'; -import FollowUpAppointments_MonthName_July from '@salesforce/label/c.FollowUpAppointments_MonthName_July'; -import FollowUpAppointments_MonthName_August from '@salesforce/label/c.FollowUpAppointments_MonthName_August'; -import FollowUpAppointments_MonthName_September from '@salesforce/label/c.FollowUpAppointments_MonthName_September'; -import FollowUpAppointments_MonthName_October from '@salesforce/label/c.FollowUpAppointments_MonthName_October'; -import FollowUpAppointments_MonthName_November from '@salesforce/label/c.FollowUpAppointments_MonthName_November'; -import FollowUpAppointments_MonthName_December from '@salesforce/label/c.FollowUpAppointments_MonthName_December'; - -import FollowUpAppointments_WeekDayLong_Monday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Monday'; -import FollowUpAppointments_WeekDayLong_Tuesday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Tuesday'; -import FollowUpAppointments_WeekDayLong_Wednesday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Wednesday'; -import FollowUpAppointments_WeekDayLong_Thursday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Thursday'; -import FollowUpAppointments_WeekDayLong_Friday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Friday'; -import FollowUpAppointments_WeekDayLong_Saturday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Saturday'; -import FollowUpAppointments_WeekDayLong_Sunday from '@salesforce/label/c.FollowUpAppointments_WeekDayLong_Sunday'; - -const customLabels = { - FollowUpAppointments_MonthName_January, - FollowUpAppointments_MonthName_February, - FollowUpAppointments_MonthName_March, - FollowUpAppointments_MonthName_April, - FollowUpAppointments_MonthName_May, - FollowUpAppointments_MonthName_June, - FollowUpAppointments_MonthName_July, - FollowUpAppointments_MonthName_August, - FollowUpAppointments_MonthName_September, - FollowUpAppointments_MonthName_October, - FollowUpAppointments_MonthName_November, - FollowUpAppointments_MonthName_December, - - FollowUpAppointments_WeekDayLong_Monday, - FollowUpAppointments_WeekDayLong_Tuesday, - FollowUpAppointments_WeekDayLong_Wednesday, - FollowUpAppointments_WeekDayLong_Thursday, - FollowUpAppointments_WeekDayLong_Friday, - FollowUpAppointments_WeekDayLong_Saturday, - FollowUpAppointments_WeekDayLong_Sunday, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/formatHelpers.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/formatHelpers.js deleted file mode 100644 index a8632b7..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/formatHelpers.js +++ /dev/null @@ -1,97 +0,0 @@ -import customLabels from './constantsLabels'; - -const MONTHNAME = [ - customLabels.FollowUpAppointments_MonthName_January, - customLabels.FollowUpAppointments_MonthName_February, - customLabels.FollowUpAppointments_MonthName_March, - customLabels.FollowUpAppointments_MonthName_April, - customLabels.FollowUpAppointments_MonthName_May, - customLabels.FollowUpAppointments_MonthName_June, - customLabels.FollowUpAppointments_MonthName_July, - customLabels.FollowUpAppointments_MonthName_August, - customLabels.FollowUpAppointments_MonthName_September, - customLabels.FollowUpAppointments_MonthName_October, - customLabels.FollowUpAppointments_MonthName_November, - customLabels.FollowUpAppointments_MonthName_December, -]; - -const DAYNAME = [ - customLabels.FollowUpAppointments_WeekDayLong_Sunday, - customLabels.FollowUpAppointments_WeekDayLong_Monday, - customLabels.FollowUpAppointments_WeekDayLong_Tuesday, - customLabels.FollowUpAppointments_WeekDayLong_Wednesday, - customLabels.FollowUpAppointments_WeekDayLong_Thursday, - customLabels.FollowUpAppointments_WeekDayLong_Friday, - customLabels.FollowUpAppointments_WeekDayLong_Saturday, -]; - -/** Shifted this method up because of lint issues */ -const getFormattedTime = (date) => { - var hours = date.getHours(); - var minutes = date.getMinutes(); - var ampm = hours >= 12 ? 'PM' : 'AM'; - hours = hours % 12; - hours = hours ? hours : 12; - hours = hours < 10 ? '0' + hours : hours; - minutes = minutes < 10 ? '0' + minutes : minutes; - return hours + ':' + minutes + ' ' + ampm; -}; - -/** Shifted this method up because of lint issues */ -const formatDateWithTime = (date) => { - let d = new Date(date); - let formatedStr = - DAYNAME[d.getDay()] + - ',' + - ' ' + - MONTHNAME[d.getMonth()] + - ' ' + - d.getDate() + - ', ' + - getFormattedTime(d); - return formatedStr; -}; - -const formatAppointmentDateandHourRange = (startDate, endDate) => { - let formatedStr = ''; - if (startDate && endDate) { - let start = new Date(startDate); - let end = new Date(endDate); - formatedStr = formatDateWithTime(startDate); - if (start.getDate() === end.getDate()) { - //Assumes same day - if (!(start.getTime() === end.getTime())) { - formatedStr = formatedStr + ' - ' + getFormattedTime(end); - } - } else { - //If more than one day - formatedStr = formatedStr + +' - ' + formatDateWithTime(end); - } - } else if (startDate) { - formatedStr = formatDateWithTime(startDate); - } - - return formatedStr; -}; - -const convertDateUTCtoLocal = (date) => { - if (date && date !== 'null') { - let utcDate = new Date(date); - utcDate.setMinutes(utcDate.getMinutes() - utcDate.getTimezoneOffset()); - return utcDate; - } - return ''; // removed else part : lint fixes -}; - -const getDateWithoutTime = (date) => { - var d; - if (typeof val === 'string') { - d = new Date(date.replace(/-/g, '/')); // replace method is use to support time in safari - } else { - d = new Date(date); - } - d.setHours(0, 0, 0, 0); - return d; -}; - -export { formatAppointmentDateandHourRange, convertDateUTCtoLocal, getDateWithoutTime }; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js deleted file mode 100644 index e46fa9e..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js +++ /dev/null @@ -1 +0,0 @@ -export * from './formatHelpers'; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js-meta.xml b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/rebookingDateCalcHelpers b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/rebookingDateCalcHelpers deleted file mode 100644 index 56be0e5..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/rebookingDateCalcHelpers +++ /dev/null @@ -1,46 +0,0 @@ -/* eslint-disable no-undef */ -SCHEDULING_UNIT_DAY = "Days"; -SCHEDULING_UNIT_WEEK = "Weeks"; -SCHEDULING_UNIT_MONTH = "Months"; - -const calculateMaxValidHorizonDate = (schedulingHorizonValue, selectedHorizonUnit, serviceAppointmentDueDate) => { - if (schedulingHorizonValue && selectedHorizonUnit) { - let currentDate = new Date(); - let targetDate; - switch (selectedHorizonUnit) { - case this.SCHEDULING_UNIT_WEEK: - targetDate = new Date(currentDate.setDate(currentDate.getDate() + schedulingHorizonValue * 7)); - break; - case this.SCHEDULING_UNIT_MONTH: - targetDate = new Date(currentDate.setMonth(currentDate.getMonth() + schedulingHorizonValue)); - break; - default: //this.SCHEDULING_UNIT_DAY - targetDate = new Date(currentDate.setDate(currentDate.getDate() + schedulingHorizonValue)); - } - - console.log("Scheduling horizon unit : new date is : " + targetDate); - - if (serviceAppointmentDueDate < targetDate) - return serviceAppointmentDueDate; - - return targetDate; - - } - return serviceAppointmentDueDate; - -} - -const convertDateUTCtoLocal = (date) => { - if (date && date !== 'null') { - return new Date((date.replace(/ /g, "T") + '.000Z')); - } - return ''; - -} - - - -export { - calculateMaxValidHorizonDate, - convertDateUTCtoLocal -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/rebookingDateCalculationsHelpers b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/rebookingDateCalculationsHelpers deleted file mode 100644 index 2cdd918..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/rebookingDateCalculationsHelpers +++ /dev/null @@ -1,40 +0,0 @@ -const calculateMaxValidHorizonDate = (schedulingHorizonValue, selectedHorizonUnit, serviceAppointmentDueDate) => { - if (schedulingHorizonValue && selectedHorizonUnit) { - let currentDate = new Date(); - let targetDate; - switch (selectedHorizonUnit) { - case "Weeks": - targetDate = new Date(currentDate.setDate(currentDate.getDate() + schedulingHorizonValue * 7)); - break; - case "Months": - targetDate = new Date(currentDate.setMonth(currentDate.getMonth() + schedulingHorizonValue)); - break; - default: //this.SCHEDULING_UNIT_DAY - targetDate = new Date(currentDate.setDate(currentDate.getDate() + schedulingHorizonValue)); - } - - console.log("Scheduling horizon unit : new date is : " + targetDate); - - if (serviceAppointmentDueDate < targetDate) - return serviceAppointmentDueDate; - - return targetDate; - - } - return serviceAppointmentDueDate; - -} - -const convertDateUTCtoLocal = (date) => { - if (date && date !== 'null') { - return new Date((date.replace(/ /g, "T") + '.000Z')); - } - return ''; -} - - - -export { - calculateMaxValidHorizonDate, - convertDateUTCtoLocal -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/test.js b/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/test.js deleted file mode 100644 index 6b698f2..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/test.js +++ /dev/null @@ -1,41 +0,0 @@ -const calculateMaxValidHorizonDate = ( - schedulingHorizonValue, - selectedHorizonUnit, - serviceAppointmentDueDate -) => { - if (schedulingHorizonValue && selectedHorizonUnit) { - let currentDate = new Date(); - let targetDate; - switch (selectedHorizonUnit) { - case 'Weeks': - targetDate = new Date( - currentDate.setDate(currentDate.getDate() + schedulingHorizonValue * 7) - ); - break; - case 'Months': - targetDate = new Date( - currentDate.setMonth(currentDate.getMonth() + schedulingHorizonValue) - ); - break; - default: //this.SCHEDULING_UNIT_DAY - targetDate = new Date(currentDate.setDate(currentDate.getDate() + schedulingHorizonValue)); - } - - console.log('Scheduling horizon unit : new date is : ' + targetDate); - - if (serviceAppointmentDueDate < targetDate) { - return serviceAppointmentDueDate; - } - return targetDate; - } - return serviceAppointmentDueDate; -}; - -const convertDateUTCtoLocal = (date) => { - if (date && date !== 'null') { - return new Date(date.replace(/ /g, 'T') + '.000Z'); - } - return ''; -}; - -export { calculateMaxValidHorizonDate, convertDateUTCtoLocal }; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/__tests__/mobileWorkFlowPage.test.js b/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/__tests__/mobileWorkFlowPage.test.js deleted file mode 100644 index 14e5335..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/__tests__/mobileWorkFlowPage.test.js +++ /dev/null @@ -1,113 +0,0 @@ -import { createElement } from 'lwc'; -import MobileWorkFlowPage from 'c/mobileWorkFlowPage'; - -jest.mock( - '@salesforce/apex/FollowUpAppointmentController.saveFieldSettings', - () => { - return { - default: jest.fn(() => ({ - data: 'success', - Asset: 'Asset', - ServiceAppointment: 'Service Appointment', - })), - }; - }, - { virtual: true } -); - -jest.mock( - './labels', - () => { - return { - MobileDashboard_card_filter_titleTime: 'test', - }; - }, - { virtual: true } -); - -let element; -describe('c-mobile-work-flow-page', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - beforeEach(() => { - element = createElement('c-mobile-work-flow-page', { - is: MobileWorkFlowPage, - }); - - element.showDeleteDialogBox = true; - element.handleDeleteEventDialogBox = jest.fn(); - element.handleAddScreenEvent = jest.fn(); - element.showModal = true; - element.saveDetails = jest.fn(); - element.closeModal = jest.fn(); - element.SCREEN1 = 1; - element.SCREEN2 = 2; - element.SCREE3 = 3; - - document.body.appendChild(element); - }); - - it('should show correct info', () => { - const mainInfoText = element.shadowRoot.querySelector('.mainInfoText'); - expect(mainInfoText.textContent).toBe('c.FollowUpAppointments_MobileWorkFlow_Info_text'); - }); - - it('Call handle add screen event', async () => { - console.log('Element is : ' + element.shadowRoot); - const action = element.shadowRoot.querySelector('[data-id="addscreenevent"]'); - console.log('Action is : ' + action); - const spy = jest.spyOn(element, 'handleAddScreenEvent'); - console.log(spy); - action.dispatchEvent(new CustomEvent('click')); - - return Promise.resolve().then(() => { - expect(spy).toBeCalledTimes(0); - }); - }); - - it('Handle save step details', async () => { - console.log('Element is : ' + element.shadowRoot); - let action = element.shadowRoot.querySelector('[data-id="saveDetailsDialog"]'); - console.log('Action is : ' + action); - - action.click(); - - return Promise.resolve().then(() => { - const mainInfoText = element.shadowRoot.querySelector('.mainInfoText'); - expect(mainInfoText.textContent).toBe('c.FollowUpAppointments_MobileWorkFlow_Info_text'); - }); - - // return Promise.resolve() - // .then(async () => { - // expect(spy).toBeCalledTimes(0); - // }) - // .then(() => { - // expect(spy).toBeCalledTimes(0); - // }); - }); - - it('Handle close modal', async () => { - console.log('Element is : ' + element.shadowRoot); - const action = element.shadowRoot.querySelector('[data-id="closeDialog"]'); - console.log('Action is : ' + action); - const spy = jest.spyOn(element, 'closeModal'); - console.log(spy); - action.dispatchEvent(new CustomEvent('click')); - - return Promise.resolve().then(() => { - expect(spy).toBeCalledTimes(0); - }); - }); - - it('Test step title value', () => { - element.currentScreenTitle = 'screenTitle'; - const mainInfoText = element.shadowRoot.querySelector('[data-id="stepTitleId"]'); - console.log('Value of the mainInfoText ' + mainInfoText.value); - expect(mainInfoText.value).toBe(mainInfoText.value); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/labels.js b/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/labels.js deleted file mode 100644 index 3480eba..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/labels.js +++ /dev/null @@ -1,64 +0,0 @@ -import FollowUpAppointments_add_step_button_label from '@salesforce/label/c.FollowUpAppointments_add_step_button_label'; -import FollowUpAppointments_edit_step_text_label from '@salesforce/label/c.FollowUpAppointments_edit_step_text_label'; -import FollowUpAppointments_new_step_text_label from '@salesforce/label/c.FollowUpAppointments_new_step_text_label'; -import FollowUpAppointments_step_name_text from '@salesforce/label/c.FollowUpAppointments_step_name_text'; -import FollowUpAppointments_Object_text from '@salesforce/label/c.FollowUpAppointments_Object_text'; -import FollowUpAppointments_placeholder_step_name from '@salesforce/label/c.FollowUpAppointments_placeholder_step_name'; -import FollowUpAppointments_select_fields from '@salesforce/label/c.FollowUpAppointments_select_fields'; -import FollowUpAppointments_button_save from '@salesforce/label/c.FollowUpAppointments_button_save'; -import FollowUpAppointments_button_cancel from '@salesforce/label/c.FollowUpAppointments_button_cancel'; -import FollowUpAppointments_duallist_available_fields from '@salesforce/label/c.FollowUpAppointments_duallist_available_fields'; -import FollowUpAppointments_duallist_selected_fields from '@salesforce/label/c.FollowUpAppointments_duallist_selected_fields'; -import FollowUpAppointments_placeHolder_select_an_option from '@salesforce/label/c.FollowUpAppointments_placeHolder_select_an_option'; -import FollowUpAppointments_placeholder_search_fields from '@salesforce/label/c.FollowUpAppointments_placeholder_search_fields'; - -import FollowUpAppointments_MobileWorkFlow_Info_text from '@salesforce/label/c.FollowUpAppointments_MobileWorkFlow_Info_text'; -import FollowUpAppointments_MobileWorkFlow_info_help_url from '@salesforce/label/c.FollowUpAppointments_MobileWorkFlow_info_help_url'; - -import FollowUpAppointments_delete_step_heading from '@salesforce/label/c.FollowUpAppointments_delete_step_heading'; -import FollowUpAppointments_delete_step_body from '@salesforce/label/c.FollowUpAppointments_delete_step_body'; - -import FollowUpAppointments_delete_cancel_button from '@salesforce/label/c.FollowUpAppointments_delete_cancel_button'; -import FollowUpAppointments_delete_button_title from '@salesforce/label/c.FollowUpAppointments_delete_button_title'; - -import FollowUpAppointments_settings_duplicateScreenToastMessage from '@salesforce/label/c.FollowUpAppointments_settings_duplicateScreenToastMessage'; -import FollowUpAppointments_settings_deleteScreenToastMessage from '@salesforce/label/c.FollowUpAppointments_settings_deleteScreenToastMessage'; -import FollowUpAppointments_settings_createScreenToastMessage from '@salesforce/label/c.FollowUpAppointments_settings_createScreenToastMessage'; - -import FollowUpAppointments_settingPage_error_duplicate_screen from '@salesforce/label/c.FollowUpAppointments_settingPage_error_duplicate_screen'; -import FollowUpAppointments_settingPage_error_delete_screen from '@salesforce/label/c.FollowUpAppointments_settingPage_error_delete_screen'; -import FollowUpAppointments_workflow_addStepFailureMessage from '@salesforce/label/c.FollowUpAppointments_workflow_addStepFailureMessage'; -import FollowUpAppointments_settingPage_save_message from '@salesforce/label/c.FollowUpAppointments_settingPage_save_message'; -import FollowUpAppointments_settingPage_error_message from '@salesforce/label/c.FollowUpAppointments_settingPage_error_message'; - -const customLabels = { - FollowUpAppointments_add_step_button_label, - FollowUpAppointments_edit_step_text_label, - FollowUpAppointments_new_step_text_label, - FollowUpAppointments_step_name_text, - FollowUpAppointments_Object_text, - FollowUpAppointments_placeholder_step_name, - FollowUpAppointments_select_fields, - FollowUpAppointments_button_save, - FollowUpAppointments_button_cancel, - FollowUpAppointments_duallist_available_fields, - FollowUpAppointments_duallist_selected_fields, - FollowUpAppointments_placeHolder_select_an_option, - FollowUpAppointments_placeholder_search_fields, - FollowUpAppointments_MobileWorkFlow_Info_text, - FollowUpAppointments_MobileWorkFlow_info_help_url, - FollowUpAppointments_delete_step_heading, - FollowUpAppointments_delete_step_body, - FollowUpAppointments_delete_cancel_button, - FollowUpAppointments_delete_button_title, - FollowUpAppointments_settings_duplicateScreenToastMessage, - FollowUpAppointments_settings_deleteScreenToastMessage, - FollowUpAppointments_settingPage_error_duplicate_screen, - FollowUpAppointments_settingPage_error_delete_screen, - FollowUpAppointments_settings_createScreenToastMessage, - FollowUpAppointments_workflow_addStepFailureMessage, - FollowUpAppointments_settingPage_save_message, - FollowUpAppointments_settingPage_error_message, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.css b/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.css deleted file mode 100644 index b8d4622..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.css +++ /dev/null @@ -1,116 +0,0 @@ -.mainDiv { - height: 500px; - width: 300px; - margin-top: 50px; - margin-left: 30px; -} - -.layoutItem { - height: 500px; - width: 300px; - margin-top: 20px; - margin-left: 30px; -} - -.mainInfoText { - margin-left: 30px; - margin-top: 10px; -} - -.fieldText { - margin-top: 10px; -} - -.newAppointmentTitleLayout {} - -.deleteIcon { - padding-top: 12px; - margin-left: 15px; - width: 10px; - height: 10px; -} - -.permissionText { - padding-top: 15px; - margin-left: 20px; - padding-bottom: 10px; -} - -.screenTitleLayout { - height: 54px; - background-color: #F3F3F3; -} - -.screenTitle1 { - padding-top: 5px; - margin-left: 15px; -} - -.screenTitle2 { - padding-top: 1px; - margin-left: 15px; -} - -.screenFooterDivElement { - margin-top: 340px; - height: 50px; -} - -.inputFieldTitle { - width: 100%; -} - -.layoutMainPage { - width: 100%; -} - -.layoutItem1 { - width: 45%; -} - -.editIcon { - margin-top: 15px; - margin-right: 20px; - background-color: #F3F3F3; - height: 30px; - padding-top: 4px; -} - -.editButton { - margin-top: 15px; - margin-right: 0px; -} - -.leftrightDivLayout { - margin-top: 15px; - margin-left: 20px; -} - -.footerLayout { - height: 48px; - padding-right: 60px; - margin-top: 50px; -} - -.addStepBtn { - margin-top: 15px; - margin-left: 30px; - margin-bottom: 10px; -} - -.saveButton { - margin-top: 10px; -} - -.comboBox { - margin-right: 15px; -} - -.fieldTitle { - margin-top: 15px; -} - -.searchInputField { - width: 42%; - margin-top: 5px; -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/__tests__/mobileWorkFlowPreviewScreen.test.js b/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/__tests__/mobileWorkFlowPreviewScreen.test.js deleted file mode 100644 index a5eeadb..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/__tests__/mobileWorkFlowPreviewScreen.test.js +++ /dev/null @@ -1,35 +0,0 @@ -import { createElement } from 'lwc'; -import MobileWorkFlowPreviewScreen from 'c/mobileWorkFlowPreviewScreen'; - -let element; -describe('c-mobile-work-flow-preview-screen', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - beforeEach(() => { - element = createElement('c-mobile-work-flow-preview-screen', { - is: MobileWorkFlowPreviewScreen, - }); - - element.screenTitle = 'title1'; - element.screenSubTitle = 'title2'; - element.appointmentDetailTitle = 'appointmentTitle'; - element.currentScreen = 2; - element.screenno = jest.fn(); - document.body.appendChild(element); - }); - it('should have the correct title', () => { - const title = element.shadowRoot.querySelector('.screenTitle1'); - expect(title.textContent).toBe('title1'); - - const screenTitle2 = element.shadowRoot.querySelector('.screenTitle2'); - expect(screenTitle2.textContent).toBe('title2'); - - const appointmentTitle = element.shadowRoot.querySelector('.appointmentTitle'); - expect(appointmentTitle.textContent).toBe('appointmentTitle'); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/labels.js b/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/labels.js deleted file mode 100644 index 2d16936..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/labels.js +++ /dev/null @@ -1,17 +0,0 @@ -import FollowUpAppointments_preview_appointmentDateTime_title from '@salesforce/label/c.FollowUpAppointments_preview_appointmentDateTime_title'; -import FollowUpAppointments_preview_appointmentDetails_title from '@salesforce/label/c.FollowUpAppointments_preview_appointmentDetails_title'; -import FollowUpAppointments_preview_mobileWorker_title from '@salesforce/label/c.FollowUpAppointments_preview_mobileWorker_title'; -import FollowUpAppointments_preview_step_not_editable from '@salesforce/label/c.FollowUpAppointments_preview_step_not_editable'; -import FollowUpAppointments_preview_text from '@salesforce/label/c.FollowUpAppointments_preview_text'; -import FollowUpAppointments_preview_step_help_text from '@salesforce/label/c.FollowUpAppointments_preview_step_help_text'; - -const customLabels = { - FollowUpAppointments_preview_appointmentDateTime_title, - FollowUpAppointments_preview_appointmentDetails_title, - FollowUpAppointments_preview_mobileWorker_title, - FollowUpAppointments_preview_step_not_editable, - FollowUpAppointments_preview_text, - FollowUpAppointments_preview_step_help_text, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.css b/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.css deleted file mode 100644 index 265997c..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.css +++ /dev/null @@ -1,212 +0,0 @@ -.mainDiv { - height: 500px; - width: 300px; - /* margin-top: 50px; */ - /* margin-left: 30px; */ - position: relative; - border-radius: 2%; -} - -.newAppointmentTitleLayout { - background-color: #f3f3f3; -} - -.deleteIcon { - padding-top: 12px; - margin-left: 15px; - width: 10px; - height: 10px; -} - -.previewText { - padding-top: 5px; - /* margin-left: 20px; */ - padding-bottom: 5px; - background-color: #f3f3f3; -} - -.screenTitleLayout { - margin-top: 15px; - height: 54px; -} - -.screenTitle1 { - padding-top: 5px; - margin-left: 15px; - color: black; -} - -.screenTitle2 { - padding-top: 6px; - margin-left: 15px; - color: black; -} - -.appointmentTitle { - padding-top: 10px; - margin-left: 15px; - color: black; -} - -.smallDividerLayout { - width: 100%; - height: 1px; - background-color: #f3f3f3; - margin-top: 6px; -} - -.smallDividerLayout2 { - width: 100%; - height: 1px; - background-color: #f3f3f3; - margin-top: 6px; -} - -.previewFieldLayout { - margin-left: 10px; - overflow-x: hidden; - overflow-y: auto; -} - -.loadingBar1 { - width: 200px; - height: 6px; - background-color: #e5e5e5; - margin-left: 15px; - margin-top: 8px; - border-radius: 10px; -} - -.loadingBar2 { - width: 169px; - height: 6px; - background-color: #e5e5e5; - margin-left: 15px; - margin-top: 8px; - border-radius: 10px; -} - -.loadingBar3 { - width: 220px; - height: 6px; - background-color: #e5e5e5; - margin-left: 15px; - margin-top: 8px; - border-radius: 10px; -} - -.loadingBar4 { - width: 100px; - height: 6px; - background-color: #0176d3; - margin-top: 8px; - border-radius: 10px; -} - -.calenderTitle { - margin-top: 6px; - height: 27px; -} - -.blueIconDown { - margin-left: 5px; - --sds-c-icon-color-foreground-default: #0176d3; - margin-top: 2px; -} - -.lgc-bg { - margin-top: 5px; - margin-left: 7px; - margin-right: 10px; -} - -.previewFieldOuterLayout { - overflow-x: hidden; - overflow-y: auto; - height: 350px; -} - -.inputFieldPreview { - width: 200px; -} - -.dividerLayout { - width: 100%; - height: 16px; - background-color: #f3f3f3; - margin-top: 10px; -} - -.screenFooterDivElement { - height: 50px; - position: absolute; - bottom: 0; - width: 100%; - background-color: #f3f3f3; -} - -.editIcon { - margin-top: 10px; - margin-right: 20px; - margin-bottom: 5px; - border-radius: 2%; - background-color: #f3f3f3; - /* padding-top: 4px; */ -} - -.lgc-bg { - background-color: white; -} - -.editButton { - /* margin-top: 15px; */ - margin-right: 0px; -} - -.leftrightDivLayout { - margin-top: 10px; - margin-left: 20px; - width: 100%; -} - -.footerLayout { - height: 48px; - background-color: #f3f3f3; - padding-right: 60px; - margin-top: 50px; -} - -.addStepBtn { - margin-top: 15px; - margin-left: 30px; - margin-bottom: 10px; -} - -.saveButton { - margin-top: 10px; -} - -.comboBox { - margin-right: 15px; -} - -.fieldTitle { - margin-top: 15px; -} - -.searchInputField { - width: 150px; -} - -.loadingBarCalender { - width: 26px; - height: 5px; - background-color: #e5e5e5; - border-radius: 10px; -} - -.c-container { - margin-top: 9px; - padding-left: 15px; - padding-right: 15px; -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.js b/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.js deleted file mode 100644 index 309ae1c..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.js +++ /dev/null @@ -1,40 +0,0 @@ -/* eslint-disable @lwc/lwc/no-api-reassignments */ -import { LightningElement, api } from 'lwc'; -import customLabels from './labels'; - -export default class MobileWorkFlowPreviewScreen extends LightningElement { - @api currentScreen; - LABELS = customLabels; - @api handleEditButtonClickEvent; - @api screenTitle = this.LABELS.FollowUpAppointments_preview_appointmentDateTime_title; - @api screenSubTitle = 'Step 1 of 4'; - fieldListArray = []; - @api footerTitle = this.LABELS.FollowUpAppointments_preview_step_not_editable; - @api appointmentDetailTitle = this.LABELS.FollowUpAppointments_preview_appointmentDetails_title; - @api mobileWorkerText = this.LABELS.FollowUpAppointments_preview_mobileWorker_title; - - SUN = 'SUN'; - MON = 'MON'; - TUE = 'TUE'; - WED = 'WED'; - THU = 'THU'; - FRI = 'FRI'; - SAT = 'SAT'; - - @api get screenno() { - return this.currentScreen; - } - set screenno(value) { - console.log('screen no value is : ' + value); - if (value) { - this.currentScreen = value; - } - } - - @api get screensubtitle() { - return this.screenSubTitle; - } - set screensubtitle(value) { - this.screenSubTitle = value; - } -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/__tests__/mobileWorkFlowScreenLayout.test.js b/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/__tests__/mobileWorkFlowScreenLayout.test.js deleted file mode 100644 index e963f43..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/__tests__/mobileWorkFlowScreenLayout.test.js +++ /dev/null @@ -1,147 +0,0 @@ -import { createElement } from 'lwc'; -import MobileWorkFlowLayout from 'c/mobileWorkFlowScreenLayout'; - -jest.mock( - './labels', - () => { - return { - MobileWorkFlowLayoutLabels: 'test', - }; - }, - { virtual: true } -); - -let element; -describe('c-mobile-work-flow-screen-layout', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - beforeEach(() => { - element = createElement('c-mobile-work-flow-screen-layout', { - is: MobileWorkFlowLayout, - }); - - element.screenTitle = 'title1'; - element.screenSubTitle = 'title2'; - element.inputFieldPreview = 'previewText'; - element.currentScreen = 2; - element.handleLeftButtonEventClick = jest.fn(); - element.handleDropDownActionSelected = jest.fn(); - element.handleClildEditButtonEvent = jest.fn(); - - element.fieldListArray = []; - element.const_duplicate = 'duplicate'; - element.const_delete = 'delete'; - element.isDuplicateButtonDisabled = false; - document.body.appendChild(element); - }); - - it('should show correct info', () => { - const title1 = element.shadowRoot.querySelector('.slds-truncate'); - const title2 = element.shadowRoot.querySelector('.screenTitle2'); - const editButton = element.shadowRoot.querySelector('.editButton'); - editButton.label = 'edit'; - expect(title1.textContent).toBe('title1'); - expect(title2.textContent).toBe('title2'); - expect(editButton.label).toBe('edit'); - }); - - test('element does not have slds-icon class when bare', () => { - // Use a promise to wait for asynchronous changes to the DOM - return Promise.resolve().then(() => { - expect(element.classList).not.toContain('slds-icon'); - }); - }); - - it('should call left button when left arrow clicked', async () => { - const action = element.shadowRoot.querySelector('.leftarrowbutton'); - console.log(action); - action.click(); - return Promise.resolve().then(() => { - expect(element.handleLeftButtonEventClick).toBeCalledTimes(0); - }); - }); - - it('should call right button when right arrow clicked', async () => { - const action = element.shadowRoot.querySelector('.rightarrowbutton'); - console.log(action); - const spy = jest.spyOn(element, 'handleRightButtonEventClick'); - action.dispatchEvent(new CustomEvent('click')); - return Promise.resolve().then(() => { - //expect(element.handleRightButtonEventClick).toBeCalledTimes(1); - expect(spy).toBeCalledTimes(0); - }); - }); - - it('should call drop down arrow button', async () => { - const action = element.shadowRoot.querySelector('.dropdownbtn'); - console.log(action); - const spy = jest.spyOn(element, 'handleDropDownActionSelected'); - action.dispatchEvent(new CustomEvent('click')); - return Promise.resolve().then(() => { - //expect(element.handleRightButtonEventClick).toBeCalledTimes(1); - expect(spy).toBeCalledTimes(0); - }); - }); - - it('should call edit button', async () => { - const action = element.shadowRoot.querySelector('.editButton'); - console.log(action); - action.click(); - return Promise.resolve().then(() => { - expect(element.handleClildEditButtonEvent).toBeCalledTimes(0); - }); - }); - - it('Getter and setter disableleftbutton', () => { - const spy = jest.spyOn(element, 'disableleftbutton', 'set'); - element.disableleftbutton = false; - expect(spy).toHaveBeenCalled(); - expect(element.disableleftbutton).toBe(false); - }); - - it('Getter and setter disablerightbutton', () => { - const spy = jest.spyOn(element, 'disablerightbutton', 'set'); - element.disablerightbutton = false; - expect(spy).toHaveBeenCalled(); - expect(element.disablerightbutton).toBe(false); - }); - - it('Getter and setter for screenno', () => { - const spy = jest.spyOn(element, 'screenno', 'set'); - element.screenno = 1; - expect(element.screenno).toBe(1); - expect(spy).toHaveBeenCalled(); - }); - - it('Getter and setter for screentitle', () => { - const spy = jest.spyOn(element, 'screentitle', 'set'); - element.screentitle = 'titletest'; - expect(element.screentitle).toBe('titletest'); - expect(spy).toHaveBeenCalled(); - }); - - it('Getter and setter for screensubtitle', () => { - const spy = jest.spyOn(element, 'screensubtitle', 'set'); - element.screensubtitle = 'title1'; - expect(element.screensubtitle).toBe('title1'); - expect(spy).toHaveBeenCalled(); - }); - - it('Getter and setter for selectedfieldlist', () => { - const spy = jest.spyOn(element, 'selectedfieldlist', 'set'); - element.selectedfieldlist = 'title2'; - expect(element.selectedfieldlist).toBe('title2'); - expect(spy).toHaveBeenCalled(); - }); - - it('Getter and setter for disableduplicatebutton', () => { - const spy = jest.spyOn(element, 'disableduplicatebutton', 'set'); - element.disableduplicatebutton = false; - expect(element.disableduplicatebutton).toBe(false); - expect(spy).toHaveBeenCalled(); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/labels.js b/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/labels.js deleted file mode 100644 index 5df65cf..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/labels.js +++ /dev/null @@ -1,13 +0,0 @@ -import FollowUpAppointments_duplicate_title from '@salesforce/label/c.FollowUpAppointments_duplicate_title'; -import FollowUpAppointments_delete_title from '@salesforce/label/c.FollowUpAppointments_delete_title'; -import FollowUpAppointments_preview_text from '@salesforce/label/c.FollowUpAppointments_preview_text'; -import FollowUpAppointments_edit_button_label from '@salesforce/label/c.FollowUpAppointments_edit_button_label'; - -const customLabels = { - FollowUpAppointments_duplicate_title, - FollowUpAppointments_delete_title, - FollowUpAppointments_preview_text, - FollowUpAppointments_edit_button_label, -}; - -export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.css b/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.css deleted file mode 100644 index b3b275d..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.css +++ /dev/null @@ -1,121 +0,0 @@ - .mainDiv { - height: 500px; - width: 300px; - /* margin-top: 50px; */ - /* margin-left: 30px; */ - position: relative; - border-radius: 2%; - } - - .newAppointmentTitleLayout { - background-color: #F3F3F3; - } - - .deleteIcon { - padding-top: 12px; - margin-left: 15px; - width: 10px; - height: 10px; - } - - .previewText { - padding-top: 5px; - /* margin-left: 20px; */ - padding-bottom: 5px; - background-color: #F3F3F3; - } - - .screenTitleLayout { - margin-top: 15px; - height: 54px; - } - - .screenTitle1 { - padding-top: 5px; - margin-left: 15px; - color: black; - } - - .screenTitle2 { - padding-top: 1px; - margin-left: 15px; - color: black; - } - - .previewFieldLayout { - margin-left: 10px; - overflow-x: hidden; - overflow-y: auto; - } - - .previewFieldOuterLayout { - overflow-x: hidden; - overflow-y: auto; - height: 350px; - } - - .inputFieldPreview { - width: 200px; - } - - .screenFooterDivElement { - height: 50px; - position: absolute; - bottom: 0; - width: 100%; - } - - .editIcon { - margin-top: 8px; - margin-right: 20px; - margin-bottom: 5px; - border-radius: 2%; - /* padding-top: 4px; */ - } - - .lgc-bg { - background-color: white; - } - - .editButton { - /* margin-top: 15px; */ - margin-right: 0px; - } - - .leftrightDivLayout { - margin-top: 8px; - margin-left: 20px; - } - - .rightShiftButton { - margin-left: 5px; - } - - .footerLayout { - height: 48px; - background-color: #F3F3F3; - padding-right: 60px; - margin-top: 50px; - } - - .addStepBtn { - margin-top: 15px; - margin-left: 30px; - margin-bottom: 10px; - } - - .saveButton { - margin-top: 10px; - } - - .comboBox { - margin-right: 15px; - } - - .fieldTitle { - margin-top: 15px; - } - - .searchInputField { - width: 150px; - } \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.js b/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.js deleted file mode 100644 index 59cd382..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.js +++ /dev/null @@ -1,114 +0,0 @@ -/* eslint-disable @lwc/lwc/no-api-reassignments */ -import { LightningElement, api } from 'lwc'; -import customLabels from './labels'; - -export default class MobileWorkFlowScreenLayout extends LightningElement { - @api currentScreen; - LABELS = customLabels; - @api handleEditButtonClickEvent; - @api screenTitle; - @api screenSubTitle; - @api fieldListArray = []; - @api const_duplicate = this.LABELS.FollowUpAppointments_duplicate_title; - @api const_delete = this.LABELS.FollowUpAppointments_delete_title; - @api isDuplicateButtonDisabled = false; - - @api isLeftButtonDisabled = false; - @api isRightButtonDisabled = false; - - @api get screenno() { - return this.currentScreen; - } - set screenno(value) { - console.log('screen no value is : ' + value); - if (value) { - this.currentScreen = value; - } - } - - @api get disableleftbutton() { - return this.isLeftButtonDisabled; - } - set disableleftbutton(value) { - this.isLeftButtonDisabled = value; - } - - @api get disablerightbutton() { - return this.isRightButtonDisabled; - } - set disablerightbutton(value) { - this.isRightButtonDisabled = value; - } - - @api get screentitle() { - return this.screenTitle; - } - set screentitle(value) { - //console.log("Value in clild class : "+value); - this.screenTitle = value; - } - - @api get screensubtitle() { - return this.screenSubTitle; - } - set screensubtitle(value) { - this.screenSubTitle = value; - } - - @api get selectedfieldlist() { - return this.fieldListArray; - } - - set selectedfieldlist(value) { - this.fieldListArray = value; - } - - @api get disableduplicatebutton() { - return this.isDuplicateButtonDisabled; - } - - set disableduplicatebutton(value) { - this.isDuplicateButtonDisabled = value; - } - - // send the event to parent class for edit button - @api handleClildEditButtonEvent() { - let ev = new CustomEvent('editevent', { detail: this.currentScreen }); - this.dispatchEvent(ev); - } - - @api handleDropDownActionSelected(event) { - console.log('Drop down list selected : ' + event.detail.value); - let selectedValue = event.detail.value; - if (selectedValue === this.const_duplicate) { - // handle duplication of screen - - console.log('Duplicate screen called : ' + this.currentScreen); - let ev = new CustomEvent('duplicateevent', { - detail: this.currentScreen, - }); - this.dispatchEvent(ev); - } else { - // Handle delete of screen - console.log('Delete screen called : ' + this.currentScreen); - let ev = new CustomEvent('deleteevent', { detail: this.currentScreen }); - this.dispatchEvent(ev); - } - } - - @api handleLeftButtonEventClick() { - console.log('Left button clicked for screen : ' + this.currentScreen); - let ev = new CustomEvent('leftbuttoneevent', { - detail: this.currentScreen, - }); - this.dispatchEvent(ev); - } - - @api handleRightButtonEventClick() { - console.log('Right button clicked for screen : ' + this.currentScreen); - let ev = new CustomEvent('rightbuttoneevent', { - detail: this.currentScreen, - }); - this.dispatchEvent(ev); - } -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/modal/__tests__/modal.test.js b/FollowUpAppointment/force-app/main/default/lwc/modal/__tests__/modal.test.js deleted file mode 100644 index f163e58..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/modal/__tests__/modal.test.js +++ /dev/null @@ -1,25 +0,0 @@ -import { createElement } from 'lwc'; -import Modal from 'c/modal'; - -describe('c-modal', () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('TODO: test case generated by CLI command, please fill in test logic', () => { - // Arrange - const element = createElement('c-modal', { - is: Modal, - }); - - // Act - document.body.appendChild(element); - - // Assert - // const div = element.shadowRoot.querySelector('div'); - expect(1).toBe(1); - }); -}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/modal/modal.css b/FollowUpAppointment/force-app/main/default/lwc/modal/modal.css deleted file mode 100644 index e11dd05..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/modal/modal.css +++ /dev/null @@ -1,24 +0,0 @@ -.modal-background{ - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - background-color: rgba(43,40,38,0.6); - display: flex; - -} -.modal-container{ - background-color: white; - position: fixed; - bottom: 0; - left: 0; - width: 100%; - -} - -.modal-header{ - display: flex; - align-items: center; - justify-content: space-between; -} \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/modal/modal.html b/FollowUpAppointment/force-app/main/default/lwc/modal/modal.html deleted file mode 100644 index e6366d0..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/modal/modal.html +++ /dev/null @@ -1,21 +0,0 @@ - \ No newline at end of file diff --git a/FollowUpAppointment/force-app/main/default/lwc/modal/modal.js b/FollowUpAppointment/force-app/main/default/lwc/modal/modal.js deleted file mode 100644 index 33f513c..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/modal/modal.js +++ /dev/null @@ -1,21 +0,0 @@ -import { LightningElement, api } from 'lwc'; - -export default class Modal extends LightningElement { - @api showModal; - - @api get modalIsOpen() { - return this.showModal === 1; - } - - closeModal(event) { - event.preventDefault(); - - console.log('dispatching close modal::: ' + this.showModal); - this.dispatchEvent( - new CustomEvent('closemodal', { - composed: true, - bubbles: true, - }) - ); - } -} diff --git a/FollowUpAppointment/force-app/main/default/lwc/modal/modal.js-meta.xml b/FollowUpAppointment/force-app/main/default/lwc/modal/modal.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/FollowUpAppointment/force-app/main/default/lwc/modal/modal.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/FollowUpAppointment/jest.config.js b/FollowUpAppointment/jest.config.js deleted file mode 100644 index f39b207..0000000 --- a/FollowUpAppointment/jest.config.js +++ /dev/null @@ -1,6 +0,0 @@ -const { jestConfig } = require('@salesforce/sfdx-lwc-jest/config'); - -module.exports = { - ...jestConfig, - modulePathIgnorePatterns: ['/.localdevserver'], -}; diff --git a/FollowUpAppointment/package-lock.json b/FollowUpAppointment/package-lock.json deleted file mode 100644 index 6cd0ceb..0000000 --- a/FollowUpAppointment/package-lock.json +++ /dev/null @@ -1,9971 +0,0 @@ -{ - "name": "salesforce-app", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "salesforce-app", - "version": "1.0.0", - "devDependencies": { - "@prettier/plugin-xml": "^0.12.0", - "@salesforce/eslint-config-lwc": "^0.11.0", - "@salesforce/eslint-plugin-aura": "^2.0.0", - "@salesforce/sfdx-lwc-jest": "^1.3.0", - "eslint": "^7.24.0", - "eslint-config-prettier": "^6.11.0", - "husky": "^4.2.1", - "lint-staged": "^10.0.7", - "prettier": "2.8.8", - "prettier-plugin-apex": "^1.13.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", - "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.13.16", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.16", - "@babel/helper-compilation-targets": "^7.13.16", - "@babel/helper-module-transforms": "^7.13.14", - "@babel/helpers": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.15", - "@babel/types": "^7.13.16", - "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/eslint-parser": { - "version": "7.13.14", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-scope": "^5.1.0", - "eslint-visitor-keys": "^1.3.0", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": ">=7.5.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", - "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "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.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", - "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", - "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", - "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@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-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "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-decorators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.5.tgz", - "integrity": "sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.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-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-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.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-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.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz", - "integrity": "sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true, - "license": "BSD-3-Clause" - }, - "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/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/@istanbuljs/load-nyc-config/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/@istanbuljs/load-nyc-config/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/@istanbuljs/load-nyc-config/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/@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.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/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.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/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.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/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/schemas": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", - "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.25.16" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/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.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform/node_modules/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.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "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/@jridgewell/gen-mapping": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "dev": true, - "license": "MIT" - }, - "node_modules/@lwc/babel-plugin-component": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/babel-plugin-component/-/babel-plugin-component-2.31.0.tgz", - "integrity": "sha512-Zx1w0eNhV2O9dP42PEg0PmhAfjA3V2L/gYbc9oBlfC12nAZIXsFOLqqnhECA2clHiJxFNSiCIf77gVtN7cRGcg==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "~7.18.6", - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "line-column": "~1.0.2" - }, - "peerDependencies": { - "@babel/core": "^7" - } - }, - "node_modules/@lwc/babel-plugin-component/node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@lwc/compiler": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/compiler/-/compiler-2.31.0.tgz", - "integrity": "sha512-8Xseow7Ww0lsHeVMNm9795BRDx+pDzlFPtojCzbTwHY+sVRNf92qnnD+EgnYzZ+77YkksuuNgPoTZBYPufJFZQ==", - "dev": true, - "dependencies": { - "@babel/core": "~7.20.2", - "@babel/plugin-proposal-class-properties": "~7.18.6", - "@babel/plugin-proposal-object-rest-spread": "~7.20.2", - "@lwc/babel-plugin-component": "2.31.0", - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "@lwc/style-compiler": "2.31.0", - "@lwc/template-compiler": "2.31.0" - } - }, - "node_modules/@lwc/compiler/node_modules/@babel/core": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", - "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@lwc/engine-dom": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/engine-dom/-/engine-dom-2.31.0.tgz", - "integrity": "sha512-0J7MSIdjp7C2ufClAtEm937gNKld94+p49yMHSzfVLVEW5aZfGp3ThEvACgsEGmQKQMBwqOByaYGhcYXSRiSUw==", - "dev": true - }, - "node_modules/@lwc/engine-server": { - "version": "2.48.0", - "resolved": "https://registry.npmjs.org/@lwc/engine-server/-/engine-server-2.48.0.tgz", - "integrity": "sha512-cLTRmXubzNS/YnNwRTeV3lEY7aTNDSYHAt8e325yaPC1CGJBs+CSEyVf9rZ2YwJ8pEWUk16mso76acdiJQNJ1Q==", - "dev": true, - "peer": true - }, - "node_modules/@lwc/errors": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/errors/-/errors-2.31.0.tgz", - "integrity": "sha512-3sjby4FsYz1mUVlaAtS2hqISxy9SoDe2POZE2weZvAhkvFXG3ijRi8Sc9uGeta2akv/Df14tpRk+hesHdYoXYQ==", - "dev": true - }, - "node_modules/@lwc/eslint-plugin-lwc": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "@babel/eslint-parser": "^7", - "eslint": "^7" - } - }, - "node_modules/@lwc/jest-preset": { - "version": "11.5.4", - "resolved": "https://registry.npmjs.org/@lwc/jest-preset/-/jest-preset-11.5.4.tgz", - "integrity": "sha512-Ei4rp+v7Uz5U2VtncFUN3g58SZ4/Q5z7JpaYy8jjD6Pc/J+K0rqtNpJpuZ0DI3CXvtpFZdKGtt5O8ANjIMSrrg==", - "dev": true, - "dependencies": { - "@lwc/jest-resolver": "11.5.4", - "@lwc/jest-serializer": "11.5.4", - "@lwc/jest-transformer": "11.5.4" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@lwc/compiler": "*", - "@lwc/engine-dom": "*", - "@lwc/engine-server": ">=2", - "@lwc/synthetic-shadow": "*", - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-resolver": { - "version": "11.5.4", - "resolved": "https://registry.npmjs.org/@lwc/jest-resolver/-/jest-resolver-11.5.4.tgz", - "integrity": "sha512-I1s+Fb05jmX+l6GeigBDwwzUoxVO1qBZMQNdu6miCNdnVJ15SZxy6T61pYBY1AkiJrVVl72tkFjHblMMNpNBoA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-serializer": { - "version": "11.5.4", - "resolved": "https://registry.npmjs.org/@lwc/jest-serializer/-/jest-serializer-11.5.4.tgz", - "integrity": "sha512-hivUuejZKRVEPxHFnG5O4Hz/do581u0uWLCvKxh9HT06WMeiW+grCnrzWnrjFvLv5GcFfZchj0bGAj6UFuOObA==", - "dev": true, - "dependencies": { - "pretty-format": "^29.3.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-transformer": { - "version": "11.5.4", - "resolved": "https://registry.npmjs.org/@lwc/jest-transformer/-/jest-transformer-11.5.4.tgz", - "integrity": "sha512-L+zK3nxiduESeMurXLlO5LeXcnpzp6qXsXk9gaz9Tdvt9x07Hp728XNeg0SutSdNmRK+8vKCZHupFQTgEEOPIg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.20.5", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-decorators": "^7.19.0", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/preset-typescript": "^7.18.6", - "babel-preset-jest": "^29.2.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@lwc/compiler": "*", - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-transformer/node_modules/@babel/core": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", - "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@lwc/module-resolver": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/module-resolver/-/module-resolver-2.31.0.tgz", - "integrity": "sha512-SmjGeTuii85RaUERLsS56DrY4MFWUcLVjmInjRU46TmAXMnPfCsk8fxQ5J1iE0Cf7+1/2sjlO0U9VxBQpSNqkA==", - "dev": true, - "dependencies": { - "resolve": "~1.22.1" - } - }, - "node_modules/@lwc/shared": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/shared/-/shared-2.31.0.tgz", - "integrity": "sha512-tf+/I5ErSrQAVPK8BZAfmOaX0Xp54MbrADCTqeGaKOM/CkVf5mECipZ4DaBIJaFw+YgSpEABeM1FuWAeodeoLg==", - "dev": true - }, - "node_modules/@lwc/style-compiler": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/style-compiler/-/style-compiler-2.31.0.tgz", - "integrity": "sha512-MKsKhfmSU45Xxq5ImJTGCJdqIQi8jx5PuU/xmwZffqCjscQgG4gDXxG2YAh8fGMbZSyrIjN/WTQlr7OvUzZrBA==", - "dev": true, - "dependencies": { - "@lwc/shared": "2.31.0", - "postcss": "~8.4.18", - "postcss-selector-parser": "~6.0.9", - "postcss-value-parser": "~4.2.0", - "string.prototype.matchall": "^4.0.8" - } - }, - "node_modules/@lwc/synthetic-shadow": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/synthetic-shadow/-/synthetic-shadow-2.31.0.tgz", - "integrity": "sha512-K9A8DcmSkZIF7l2sGs53h/oTl/Vdoa6XCYIudHwxVormxUhvHhd9TPbEyJBBKJ8augFZAoVs1q5yS4Nr+R9CBg==", - "dev": true - }, - "node_modules/@lwc/template-compiler": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/template-compiler/-/template-compiler-2.31.0.tgz", - "integrity": "sha512-4RsASVNmOJ7cNEQOjxYaUWB3cFNAm0KtDWpD54XbhVZ7SBCUBKZ2BZvcRsP6mp7O4a8QOFQiCeCtoDAT/TQ4aA==", - "dev": true, - "dependencies": { - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "acorn": "~8.8.1", - "astring": "~1.8.3", - "estree-walker": "~2.0.2", - "he": "~1.2.0", - "parse5": "~6.0.1" - } - }, - "node_modules/@lwc/wire-service": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/wire-service/-/wire-service-2.31.0.tgz", - "integrity": "sha512-go6mhdqLpsu/svRm7Oe+ewi1qvrOlaVjngVU6O2V/UXdKpw22csQEdRCs25jC/kCRNtYdARPLIHlItuK+qL0NQ==", - "dev": true - }, - "node_modules/@mdn/browser-compat-data": { - "version": "5.2.49", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@prettier/plugin-xml": { - "version": "0.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@xml-tools/parser": "^1.0.2", - "prettier": ">=1.10" - } - }, - "node_modules/@salesforce/eslint-config-lwc": { - "version": "0.11.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "~7.13.14", - "@babel/eslint-parser": "~7.13.14", - "@lwc/eslint-plugin-lwc": "~1.0.0", - "eslint-plugin-import": "~2.22.1", - "eslint-plugin-jest": "~23.8.2", - "eslint-restricted-globals": "~0.2.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "eslint": "^6 || ^7" - } - }, - "node_modules/@salesforce/eslint-plugin-aura": { - "version": "2.1.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "eslint-plugin-compat": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": "^7 || ^8" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@salesforce/sfdx-lwc-jest/-/sfdx-lwc-jest-1.3.0.tgz", - "integrity": "sha512-DT6AjFLldoWqeI1MdcStVhLj3p+XndUrHdPVwUo+CdiBmnTqNSPBDY/snDZJwZZK61M88mKz2xDzNj7xug3i8g==", - "dev": true, - "dependencies": { - "@lwc/compiler": "2.31.0", - "@lwc/engine-dom": "2.31.0", - "@lwc/jest-preset": "11.5.4", - "@lwc/jest-resolver": "11.5.4", - "@lwc/jest-serializer": "11.5.4", - "@lwc/jest-transformer": "11.5.4", - "@lwc/module-resolver": "2.31.0", - "@lwc/synthetic-shadow": "2.31.0", - "@lwc/wire-service": "2.31.0", - "@salesforce/wire-service-jest-util": "4.0.1", - "chalk": "^4.1.2", - "fast-glob": "^3.2.12", - "jest": "27.4.7", - "yargs": "~17.6.2" - }, - "bin": { - "lwc-jest": "bin/sfdx-lwc-jest", - "sfdx-lwc-jest": "bin/sfdx-lwc-jest" - } - }, - "node_modules/@salesforce/sfdx-lwc-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/@salesforce/sfdx-lwc-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/@salesforce/sfdx-lwc-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/@salesforce/sfdx-lwc-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/@salesforce/sfdx-lwc-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/@salesforce/sfdx-lwc-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/@salesforce/wire-service-jest-util": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@salesforce/wire-service-jest-util/-/wire-service-jest-util-4.0.1.tgz", - "integrity": "sha512-6u3ZGXDCeRnKSX8WHRpVQAXmGiee6NkhmQb0gXmcPAm8zW/Q7o7lRJNvXKnxnXY7qyiKXVYDQAFKJjtGpaCfjw==", - "dev": true, - "peerDependencies": { - "@lwc/engine-dom": "^2.0.0" - } - }, - "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.25.24", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", - "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "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/@tsconfig/node14": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", - "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.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.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "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/json-schema": { - "version": "7.0.11", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.0.tgz", - "integrity": "sha512-cumHmIAf6On83X7yP+LrsEyUOf/YlociZelmpRYaGFydoaPdxdt80MAbu6vWerQT2COCp2nPvHdsbD7tHn/YlQ==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", - "dev": true - }, - "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/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/@xml-tools/parser": { - "version": "1.0.11", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "chevrotain": "7.1.1" - } - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "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-globals/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-jsx": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "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", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-metadata-inferer": { - "version": "0.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@mdn/browser-compat-data": "^5.2.34" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", - "dev": true, - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "dev": true, - "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-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/babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "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-jest/node_modules/babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/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-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": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.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": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "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.21.5", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "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-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/call-bind": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001477", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/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/chevrotain": { - "version": "7.1.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "regexp-to-ast": "0.5.0" - } - }, - "node_modules/ci-info": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "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", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.19", - "dev": true, - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "dev": true, - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "6.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/compare-versions": { - "version": "3.6.0", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/contains-path": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/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/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.4", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true - }, - "node_modules/dedent": { - "version": "0.7.0", - "dev": true, - "license": "MIT" - }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/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/electron-to-chromium": { - "version": "1.4.356", - "dev": true, - "license": "ISC" - }, - "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", - "dev": true, - "license": "MIT" - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.21.2", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.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": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "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": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "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": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "7.32.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "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": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "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", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "6.15.0", - "dev": true, - "license": "MIT", - "dependencies": { - "get-stdin": "^6.0.0" - }, - "bin": { - "eslint-config-prettier-check": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=3.14.1" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.7.4", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-compat": { - "version": "4.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@mdn/browser-compat-data": "^5.2.47", - "@tsconfig/node14": "^1.0.3", - "ast-metadata-inferer": "^0.8.0", - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001473", - "find-up": "^5.0.0", - "lodash.memoize": "4.1.2", - "semver": "7.3.8" - }, - "engines": { - "node": ">=14.x" - }, - "peerDependencies": { - "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-compat/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-compat/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-compat/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/eslint-plugin-import": { - "version": "2.22.1", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", - "has": "^1.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "1.5.0", - "dev": true, - "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-jest": { - "version": "23.8.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/experimental-utils": "^2.5.0" - }, - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-restricted-globals": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "dev": true, - "license": "MIT", - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/espree": { - "version": "7.3.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/acorn": { - "version": "7.4.1", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "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/execa/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/execa/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/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.15.0", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-versions": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "semver-regex": "^3.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "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", - "dev": true, - "license": "MIT" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "dev": true, - "license": "ISC" - }, - "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-stdin": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "dev": true, - "license": "ISC" - }, - "node_modules/has": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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/hosted-git-info": { - "version": "2.8.9", - "dev": true, - "license": "ISC" - }, - "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-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/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/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/husky": { - "version": "4.3.8", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "compare-versions": "^3.6.0", - "cosmiconfig": "^7.0.0", - "find-versions": "^4.0.0", - "opencollective-postinstall": "^2.0.2", - "pkg-dir": "^5.0.0", - "please-upgrade-node": "^3.2.0", - "slash": "^3.0.0", - "which-pm-runs": "^1.0.0" - }, - "bin": { - "husky-run": "bin/run.js", - "husky-upgrade": "lib/upgrader/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/husky" - } - }, - "node_modules/husky/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/husky/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/husky/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/husky/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/husky/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/husky/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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/ignore": { - "version": "4.0.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-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/import-local/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/import-local/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/import-local/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/import-local/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/import-local/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/imurmurhash": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.11.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "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", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "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", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "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.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "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.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-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/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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/jest-circus/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/jest-circus/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/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.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "dev": true, - "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-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/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/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-cli/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/jest-cli/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/jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-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/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "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/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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/jest-config/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/jest-config/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/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.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-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/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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/jest-diff/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/jest-diff/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/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.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-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/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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/jest-each/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/jest-each/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/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.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-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/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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/jest-jasmine2/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/jest-jasmine2/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/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.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "dev": true, - "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-leak-detector/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/jest-leak-detector/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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/jest-leak-detector/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/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/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/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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/jest-matcher-utils/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/jest-matcher-utils/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/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.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-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/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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/jest-message-util/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/jest-message-util/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/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.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-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.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-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.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-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.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dev": true, - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "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.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/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/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/jest-snapshot/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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/jest-snapshot/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/jest-snapshot/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/jest-snapshot/node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", - "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-snapshot/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/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-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/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/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/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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/jest-validate/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/jest-validate/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/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.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-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.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "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/joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/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/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/jsesc": { - "version": "2.5.2", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "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", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/line-column": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/line-column/-/line-column-1.0.2.tgz", - "integrity": "sha512-Ktrjk5noGYlHsVnYWh62FLVs4hTb8A3e+vucNZMgPeAOITdshMSgv4cCZQeRDjm7+goqmo6+liZwTXo+U3sVww==", - "dev": true, - "dependencies": { - "isarray": "^1.0.0", - "isobject": "^2.0.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/lint-staged": { - "version": "10.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "cli-truncate": "^2.1.0", - "commander": "^6.2.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", - "dedent": "^0.7.0", - "enquirer": "^2.3.6", - "execa": "^4.1.0", - "listr2": "^3.2.2", - "log-symbols": "^4.0.0", - "micromatch": "^4.0.2", - "normalize-path": "^3.0.0", - "please-upgrade-node": "^3.2.0", - "string-argv": "0.3.1", - "stringify-object": "^3.3.0" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" - } - }, - "node_modules/lint-staged/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/lint-staged/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/lint-staged/node_modules/execa": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/lint-staged/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/listr2": { - "version": "3.14.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } - } - }, - "node_modules/load-json-file": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-update": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-update/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "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/merge-stream": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.10", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nwsapi": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.5.tgz", - "integrity": "sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==", - "dev": true - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opencollective-postinstall": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "bin": { - "opencollective-postinstall": "index.js" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "dev": true, - "license": "MIT", - "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": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-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/parent-module": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "dev": true, - "license": "MIT" - }, - "node_modules/path-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^5.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/please-upgrade-node": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "semver-compare": "^1.0.0" - } - }, - "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-plugin-apex": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/prettier-plugin-apex/-/prettier-plugin-apex-1.13.0.tgz", - "integrity": "sha512-QeGHrNOR6EXoH0Mto385FDrRC+XSCc/8zvtqNvhEaFovEMC7InDp2Mn5WxjJzQUdgtUYoXL+NYcSm3nxMqsymQ==", - "dev": true, - "dependencies": { - "axios": "^1.0.0", - "jest-docblock": "^29.0.0", - "wait-on": "^7.0.0", - "yargs": "^17.0.0" - }, - "bin": { - "apex-ast-serializer": "vendor/apex-ast-serializer/bin/apex-ast-serializer", - "apex-ast-serializer-http": "vendor/apex-ast-serializer/bin/apex-ast-serializer-http", - "start-apex-server": "dist/bin/start-apex-server.js", - "stop-apex-server": "dist/bin/stop-apex-server.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "peerDependencies": { - "prettier": "^2.0.0" - } - }, - "node_modules/prettier-plugin-apex/node_modules/jest-docblock": { - "version": "29.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/prettier-plugin-apex/node_modules/yargs": { - "version": "17.7.1", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/pretty-format": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", - "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.4.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.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/progress": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "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-from-env": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/read-pkg": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-try": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regexp-to-ast": { - "version": "0.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, - "dependencies": { - "is-core-module": "^2.11.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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "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/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver-compare": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/semver-regex": { - "version": "3.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "dev": true, - "license": "ISC" - }, - "node_modules/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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/source-map": { - "version": "0.5.7", - "dev": true, - "license": "BSD-3-Clause", - "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/spdx-correct": { - "version": "3.2.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.13", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "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/string-argv": { - "version": "0.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6.19" - } - }, - "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", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/table": { - "version": "6.8.1", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/table/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/table/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/table/node_modules/slice-ansi": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "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/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", - "dev": true, - "license": "MIT" - }, - "node_modules/throat": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "dev": true, - "license": "MIT" - }, - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "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/tsconfig-paths": { - "version": "3.14.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/tslib": { - "version": "2.5.0", - "dev": true, - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/type-check": { - "version": "0.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "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", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray-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": "5.0.4", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "dev": true, - "license": "MIT" - }, - "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.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/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==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", - "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/wait-on": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", - "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", - "dev": true, - "dependencies": { - "axios": "^1.6.1", - "joi": "^17.11.0", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.1" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "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/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/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", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-pm-runs": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "license": "ISC" - }, - "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.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "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": "3.1.1", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "1.10.2", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/FollowUpAppointment/package.json b/FollowUpAppointment/package.json deleted file mode 100644 index 8b9a5d6..0000000 --- a/FollowUpAppointment/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "salesforce-app", - "private": true, - "version": "1.0.0", - "description": "Salesforce App", - "scripts": { - "lint": "npm run lint:lwc && npm run lint:aura", - "lint:aura": "eslint **/aura/**", - "lint:lwc": "eslint **/lwc/**", - "test": "npm run test:unit", - "test:unit": "sfdx-lwc-jest", - "test:unit:watch": "sfdx-lwc-jest --watch", - "test:unit:debug": "sfdx-lwc-jest --debug", - "test:unit:coverage": "sfdx-lwc-jest --coverage", - "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", - "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"" - }, - "devDependencies": { - "@prettier/plugin-xml": "^0.12.0", - "@salesforce/eslint-config-lwc": "^0.11.0", - "@salesforce/eslint-plugin-aura": "^2.0.0", - "@salesforce/sfdx-lwc-jest": "^1.3.0", - "eslint": "^7.24.0", - "eslint-config-prettier": "^6.11.0", - "husky": "^4.2.1", - "lint-staged": "^10.0.7", - "prettier": "2.8.8", - "prettier-plugin-apex": "^1.13.0" - }, - "lint-staged": { - "**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}": [ - "prettier --write" - ], - "**/{aura|lwc}/**": [ - "eslint" - ] - } -} diff --git a/FollowUpAppointment/sfdx-project.json b/FollowUpAppointment/sfdx-project.json deleted file mode 100644 index 3d9b272..0000000 --- a/FollowUpAppointment/sfdx-project.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "packageDirectories": [ - { - "path": "force-app", - "package": "Follow-Up Appointment for Field Service Mobile", - "versionName": "Summer' 23", - "versionNumber": "1.2.0.NEXT", - "versionDescription": "To configure the settings, from the App Launcher, find and select Follow-Up Appointment Settings. Using this package, mobile workers can create and schedule follow-up appointments for customers directly from the mobile mobile app.", - "default": true, - "dependencies": [ - { - "package": "FSL" - } - ] - } - ], - "name": "Follow-Up Appointment for Field Service Mobile", - "namespace": "", - "sfdcLoginUrl": "https://login.salesforce.com", - "sourceApiVersion": "55.0", - "packageAliases": { - "Follow-Up Appointment for Field Service Mobile": "0HoB00000008PtFKAU", - "FSL": "04t3y000001drQt", - "Follow-Up Appointment for Field Service Mobile@0.1.0-1": "04tB0000000h4nGIAQ", - "Follow-Up Appointment for Field Service Mobile@0.1.0-6": "04tB0000000h6C7IAI", - "Follow-Up Appointment for Field Service Mobile@1.2.0-1": "04tB0000000h6CCIAY", - "Follow-Up Appointment for Field Service Mobile@1.2.0-2": "04tB0000000h6GZIAY", - "Follow-Up Appointment for Field Service Mobile@1.2.0-3": "04tB0000000h6H8IAI", - "Follow-Up Appointment for Field Service Mobile@1.2.0-4": "04tB0000000h6HSIAY", - "Follow-Up Appointment for Field Service Mobile@1.2.0-5": "04tB0000000h6HcIAI", - "Follow-Up Appointment for Field Service Mobile@1.2.0-6": "04tB0000000h6HhIAI", - "Follow-Up Appointment for Field Service Mobile@1.2.0-8": "04tB0000000h6nBIAQ", - "Follow-Up Appointment for Field Service Mobile@1.2.0-14": "04tB0000000h8fpIAA" - } -} diff --git a/HelloWorld/.husky/pre-commit b/HelloWorld/.husky/pre-commit deleted file mode 100755 index feac116..0000000 --- a/HelloWorld/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npm run precommit \ No newline at end of file diff --git a/HelloWorld/.prettierignore b/HelloWorld/.prettierignore deleted file mode 100755 index f3720b2..0000000 --- a/HelloWorld/.prettierignore +++ /dev/null @@ -1,10 +0,0 @@ -# List files or directories below to ignore them when running prettier -# More information: https://prettier.io/docs/en/ignore.html -# - -**/staticresources/** -.localdevserver -.sfdx -.vscode - -coverage/ \ No newline at end of file diff --git a/HelloWorld/.prettierrc b/HelloWorld/.prettierrc deleted file mode 100755 index 15683b6..0000000 --- a/HelloWorld/.prettierrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "trailingComma": "none", - "overrides": [ - { - "files": "**/lwc/**/*.html", - "options": { "parser": "lwc" } - }, - { - "files": "*.{cmp,page,component}", - "options": { "parser": "html" } - } - ] -} diff --git a/HelloWorld/.vscode/extensions.json b/HelloWorld/.vscode/extensions.json deleted file mode 100644 index 7e6cb10..0000000 --- a/HelloWorld/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "salesforce.salesforcedx-vscode", - "redhat.vscode-xml", - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", - "financialforce.lana" - ] -} diff --git a/HelloWorld/.vscode/launch.json b/HelloWorld/.vscode/launch.json deleted file mode 100644 index e07e391..0000000 --- a/HelloWorld/.vscode/launch.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Launch Apex Replay Debugger", - "type": "apex-replay", - "request": "launch", - "logFile": "${command:AskForLogFileName}", - "stopOnEntry": true, - "trace": true - } - ] -} diff --git a/HelloWorld/.vscode/settings.json b/HelloWorld/.vscode/settings.json deleted file mode 100644 index 76decfb..0000000 --- a/HelloWorld/.vscode/settings.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "search.exclude": { - "**/node_modules": true, - "**/bower_components": true, - "**/.sfdx": true - } -} diff --git a/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.html b/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.html deleted file mode 100644 index 564d353..0000000 --- a/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.html +++ /dev/null @@ -1,3 +0,0 @@ - \ No newline at end of file diff --git a/HelloWorld/package.json b/HelloWorld/package.json deleted file mode 100644 index f6d6dc5..0000000 --- a/HelloWorld/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "salesforce-app", - "private": true, - "version": "1.0.0", - "description": "Salesforce App", - "scripts": { - "lint": "eslint **/{aura,lwc}/**", - "test": "npm run test:unit", - "test:unit": "sfdx-lwc-jest", - "test:unit:watch": "sfdx-lwc-jest --watch", - "test:unit:debug": "sfdx-lwc-jest --debug", - "test:unit:coverage": "sfdx-lwc-jest --coverage", - "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", - "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", - "postinstall": "husky install", - "precommit": "lint-staged" - }, - "devDependencies": { - "@lwc/eslint-plugin-lwc": "^1.5.0", - "@prettier/plugin-xml": "^2.2.0", - "@salesforce/eslint-config-lwc": "^3.3.3", - "@salesforce/eslint-plugin-aura": "^2.1.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "@salesforce/sfdx-lwc-jest": "^1.1.3", - "eslint": "^8.27.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jest": "^27.1.5", - "husky": "^8.0.2", - "lint-staged": "^13.0.3", - "prettier": "^2.7.1", - "prettier-plugin-apex": "^1.11.0" - }, - "lint-staged": { - "**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}": [ - "prettier --write" - ], - "**/{aura,lwc}/**": [ - "eslint" - ] - } -} diff --git a/HelloWorld/sfdx-project.json b/HelloWorld/sfdx-project.json deleted file mode 100644 index e52b8ee..0000000 --- a/HelloWorld/sfdx-project.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "packageDirectories": [ - { - "path": "force-app", - "default": true - } - ], - "name": "HelloWorld", - "namespace": "", - "sfdcLoginUrl": "https://login.salesforce.com", - "sourceApiVersion": "55.0" -} diff --git a/MobileDashboard/README.md b/MobileDashboard/README.md deleted file mode 100644 index 756ca31..0000000 --- a/MobileDashboard/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# Set Up the Mobile Dashboard Lightning Web Component (LWC) -Let your mobile workers easily see an overview of their data. For example, show a dashboard that lets workers know where they stand with the company’s KPIs. That way, they always know what they need to work on. - -**Note:** Mobile Dashboard LWC is an open-source component and is not supported by Salesforce Support. - -1. Enable access to LWCs. See [Define a Permission Set for Your Org](https://developer.salesforce.com/docs/atlas.en-us.mobile_offline.meta/mobile_offline/quickstart_lwc_action_org_setup.htm#quickstart_lwc_action_org_setup_create_permset). -2. Enable the permission set. - 1. From Setup, in the Quick Find box, enter `Users`, and then select **Users**. - 2. Select the required mobile user. - 3. Under Permission Set Assignments, click **Edit Assignments**. - 4. Enable **Field Service Mobile Dashboard Permissions**. - 5. Repeat these steps for all the relevant mobile users. -3. To install the package, click https://login.salesforce.com/packaging/installPackage.apexp?p0=04t1Q0000012EomQAE. If you choose to deploy the code instead of installing the package, make sure to complete these steps: - 1. Before deploying the code, enable using different languages. - - From Setup, in the Quick Find box, enter `Translation Workbench`, and then select **Translation Language Settings**. - - Click **Enable**. - - Deploy the code. - 2. Make the tab visible. - - From Setup, in the Quick Find box, enter `Users`, and then select **Profiles**. - - Edit the System Administrator profile. - - Under Tab Settings, set the Mobile Dashboard Settings tab to **Default On**. - 3. Make the fields visible. - - Form Setup, open the Object Manager. - - Search for and select **Mobile Dashboard Setting**. - - From Fields & Relationships, for each field, click **Set Field-Level Security** and select **Visible**. -4. From the Developer Console, run the script to get preconfigured cards for your dashboard: `DashboardPostInstall.onInstall();` -5. From the App Launcher, find and select **Mobile Dashboard Settings**. -6. Review the details of the cards and change them as needed. - - The preview cards show a dummy result of 1 record for each query. - - When the result of a query includes more than 2000 records, the dashboard shows 2000+ instead of the exact number. - - If the tabs get stuck when adding or editing a card, see [Enable Lightning Web Security in an Org](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.security_lwsec_enable). -7. Make sure the queried fields are visible. Otherwise, the query doesn’t return any results. - 1. From the object management settings for the object whose fields you want to make visible, go to **Fields & Relationships**. - 2. For the required fields, click **Set Field-Level Security** and make the field-level security visible for all profiles. -8. Connect the LWC to a global action. See [Add Global Actions to the Field Service Mobile App](https://help.salesforce.com/s/articleView?id=sf.mfs_global_actions.htm&type=5). - 1. For Action Type, select **Lightning Web Components**. - 2. For Lightning Web Component, select **c:mainDashboard**. -9. Add the global action to the required layout. -10. From the Field Service mobile app, open the LWC to verify the setup. diff --git a/MobileDashboard/force-app/main/default/classes/DashboardPostInstallTest.cls b/MobileDashboard/force-app/main/default/classes/DashboardPostInstallTest.cls deleted file mode 100644 index 1bd22ae..0000000 --- a/MobileDashboard/force-app/main/default/classes/DashboardPostInstallTest.cls +++ /dev/null @@ -1,14 +0,0 @@ -@isTest -public with sharing class DashboardPostInstallTest { - - @isTest - static void testInstallScriptPredefinedCards() { - List allCardsBefore = [SELECT Id FROM Mobile_Dashboard_Setting__c]; - Assert.areEqual(0, allCardsBefore.size()); - - DashboardPostInstall.onInstall(); - - List allCardsAfter = [SELECT Id FROM Mobile_Dashboard_Setting__c]; - Assert.areEqual(4, allCardsAfter.size()); - } -} diff --git a/MobileDashboard/force-app/main/default/classes/DashboardPostInstallTest.cls-meta.xml b/MobileDashboard/force-app/main/default/classes/DashboardPostInstallTest.cls-meta.xml deleted file mode 100644 index 9bbf7b4..0000000 --- a/MobileDashboard/force-app/main/default/classes/DashboardPostInstallTest.cls-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 56.0 - Active - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/classes/DashboardSettingsService.cls b/MobileDashboard/force-app/main/default/classes/DashboardSettingsService.cls deleted file mode 100644 index a249384..0000000 --- a/MobileDashboard/force-app/main/default/classes/DashboardSettingsService.cls +++ /dev/null @@ -1,198 +0,0 @@ -public with sharing class DashboardSettingsService { - - private static final String UNAUTH_MSG = 'Changing the dashboard settings is restricted to admins only.'; - - @AuraEnabled(cacheable=false) - public static List> getAllObjects(){ - List> objectsList = new List>(); - Map tempMap; - - for (Schema.SObjectType objType : Schema.getGlobalDescribe().Values()) { - String name = objType.getDescribe().getName(); - String label = objType.getDescribe().getLabel(); - if ( !name.containsignorecase('history') && - !name.containsignorecase('tag') && - !name.containsignorecase('share') && - !name.containsignorecase('feed') && - !name.containsignorecase('group') && - !name.containsignorecase('public') && - !objType.getDescribe().isCustomSetting() && - objType.getDescribe().isCreateable() && - objType.getDescribe().getRecordTypeInfos().size() > 0) { - tempMap = new Map(); - tempMap.put('value', name); - tempMap.put('label', label); - objectsList.add(tempMap); - } - } - - return objectsList; - } - - @AuraEnabled(cacheable=false) - public static List> getAllFields(String obj){ - SObjectType objType = Schema.getGlobalDescribe().get(obj); - Map fields = objType.getDescribe().fields.getMap(); - Set fieldsKeys = fields.keySet(); - - List> fieldsInfo = new List>(); - Map temp = new Map(); - Schema.DescribeFieldResult field; - - for (String key : fieldsKeys) { - field = fields.get(key).getDescribe(); - if (field.getType().name() != 'ADDRESS' && field.isAccessible()) { - temp = new Map(); - temp.put('value', field.getLocalName()); - temp.put('label', field.getLabel()); - temp.put('type', field.getType().name()); - fieldsInfo.add(temp); - } - } - - return fieldsInfo; - } - - @AuraEnabled(cacheable=false) - public static List> getAllPicklistOptions(String obj, String field) { - try { - SObjectType objType = Schema.getGlobalDescribe().get(obj); - Map fields = objType.getDescribe().fields.getMap(); - Schema.DescribeFieldResult dfr = fields.get(field).getDescribe(); - - List> picklistOptions = new List>(); - Map temp = new Map(); - - List picklistVals = dfr.getPicklistValues(); - for( Schema.PicklistEntry picklistVal : picklistVals){ - temp = new Map(); - temp.put('value', picklistVal.getValue()); - temp.put('label', picklistVal.getLabel()); - picklistOptions.add(temp); - } - - return picklistOptions; - } catch (Exception e) { - throw new HandledException(e.getMessage()); - } - } - - @AuraEnabled - public static Map getAllObjLabels(List apiNames) { - try { - Map objectLabels = new Map(); - String objectLabel; - for (String apiName : apiNames){ - objectLabel = Schema.getGlobalDescribe().get(apiName).getDescribe().getLabel(); - objectLabels.put(apiName, objectLabel); - } - return objectLabels; - } catch (Exception e) { - throw new HandledException(e.getMessage()); - } - } - - @AuraEnabled(cacheable=false) - public static String insertNewCard(Map data) { - try { - if (!isAuthorized()) { - throw new HandledException(UNAUTH_MSG); - } - Mobile_Dashboard_Setting__c newSetting = new Mobile_Dashboard_Setting__c( - Custom_Logic__c=data.get('customLogic'), - Layout__c=data.get('layout'), - Main_Filter_Logic__c=data.get('mainFilterLogic'), - Main_Filter__c=data.get('mainFilter'), - Object_Name__c=data.get('objectName'), - Order__c=Integer.valueOf(data.get('index')), - Sub_Filters__c=data.get('subFilters'), - Title__c=data.get('title') - ); - - insert newSetting; - return newSetting.Id; - } catch (Exception e) { - throw new HandledException(e.getMessage()); - } - } - - @AuraEnabled(cacheable=false) - public static void updateCard(String Id, Map data) { - try { - if (!isAuthorized()) { - throw new HandledException(UNAUTH_MSG); - } - Mobile_Dashboard_Setting__c setting = [ - SELECT - Custom_Logic__c, - Layout__c, - Main_Filter_Logic__c, - Main_Filter__c, - Object_Name__c, - Order__c, - Sub_Filters__c, - Title__c - FROM - Mobile_Dashboard_Setting__c - WHERE - Id = :Id - ]; - - setting.Custom_Logic__c = data.get('customLogic'); - setting.Layout__c = data.get('layout'); - setting.Main_Filter_Logic__c = data.get('mainFilterLogic'); - setting.Main_Filter__c = data.get('mainFilter'); - setting.Object_Name__c = data.get('objectName'); - setting.Order__c = Integer.valueOf(data.get('index')); - setting.Sub_Filters__c = data.get('subFilters'); - setting.Title__c = data.get('title'); - - update setting; - } catch (Exception e) { - throw new HandledException(e.getMessage()); - } - } - - @AuraEnabled(cacheable=false) - public static void deleteCard(String Id){ - try { - if (!isAuthorized()) { - throw new HandledException(UNAUTH_MSG); - } - Mobile_Dashboard_Setting__c setting = [SELECT Id FROM Mobile_Dashboard_Setting__c WHERE Id = :Id]; - delete setting; - } catch (Exception e) { - throw new HandledException(e.getMessage()); - } - } - - @AuraEnabled(cacheable=false) - public static void updateCardsOrder(List cardsIds){ - try { - if (!isAuthorized()) { - throw new HandledException(UNAUTH_MSG); - } - List allSettings = [SELECT Id, Order__c FROM Mobile_Dashboard_Setting__c]; - for (Mobile_Dashboard_Setting__c setting : allSettings) { - setting.Order__c = cardsIds.indexOf(setting.Id); - } - update allSettings; - } catch (Exception e) { - throw new HandledException(e.getMessage()); - } - } - - private static boolean isAuthorized() { - try { - List adminProfiles = [SELECT Id FROM Profile WHERE PermissionsContentAdministrator = true]; - for (Profile p : adminProfiles) { - if (p.Id == System.UserInfo.getProfileId()) { - return true; - } - } - return false; - } catch (Exception e) { - throw new HandledException(e.getMessage()); - } - } -} diff --git a/MobileDashboard/force-app/main/default/classes/DashboardSettingsServiceTest.cls b/MobileDashboard/force-app/main/default/classes/DashboardSettingsServiceTest.cls deleted file mode 100644 index 4572f6c..0000000 --- a/MobileDashboard/force-app/main/default/classes/DashboardSettingsServiceTest.cls +++ /dev/null @@ -1,218 +0,0 @@ -@isTest -public with sharing class DashboardSettingsServiceTest { - public static Mobile_Dashboard_Setting__c mds; - - static { - mds = new Mobile_Dashboard_Setting__c( - Title__c = 'Test Title', - Main_Filter_Logic__c = 'AND', - Order__c = 0, - Object_Name__c = 'Account' - ); - insert mds; - } - - @isTest - static void testGetAllObjects() { - try { - List> result = DashboardSettingsService.getAllObjects(); - - // get 2 examples - Map accountObject; - Map contactObject; - for (Map obj : result){ - if (obj.containsKey('value') && obj.get('value') == 'Account') { - accountObject = obj; - } - if (obj.containsKey('value') && obj.get('value') == 'Contact') { - contactObject = obj; - } - } - Assert.isNotNull(accountObject); - Assert.areEqual('Account', accountObject.get('label')); - - Assert.isNotNull(contactObject); - Assert.areEqual('Contact', contactObject.get('label')); - } catch (Exception e) { - Assert.fail('An exception was thrown: ' + e.getMessage()); - } - } - - @isTest - static void testGetAllFields() { - try { - List> result = DashboardSettingsService.getAllFields('Account'); - - // get 2 examples - Map nameField; - Map phoneField; - for (Map field : result){ - if (field.containsKey('value') && field.get('value') == 'Name'){ - nameField = field; - } - if (field.containsKey('value') && field.get('value') == 'Phone'){ - phoneField = field; - } - } - Assert.isNotNull(nameField); - Assert.areEqual('Account Name', nameField.get('label')); - - Assert.isNotNull(phoneField); - Assert.areEqual('Account Phone', phoneField.get('label')); - } catch (Exception e) { - Assert.fail('An exception was thrown: ' + e.getMessage()); - } - } - - @isTest - static void testGetAllPicklistOptions(){ - try { - List> result = DashboardSettingsService.getAllPicklistOptions('ServiceAppointment', 'Status'); - - Assert.isNotNull(result); - - // get 2 examples - Map completed; - Map canceled; - for (Map option : result){ - if (option.containsKey('value') && option.get('value') == 'Completed'){ - completed = option; - } - if (option.containsKey('value') && option.get('value') == 'Canceled'){ - canceled = option; - } - } - - Assert.isNotNull(completed); - Assert.isNotNull(canceled); - } catch (Exception e) { - Assert.fail('An exception was thrown: ' + e.getMessage()); - } - } - - @isTest - static void testGetAllObjLabels(){ - try { - List apiNames = new List{ 'ServiceAppointment', 'Case' }; - Map result = DashboardSettingsService.getAllObjLabels(apiNames); - - Assert.areEqual('Service Appointment', result.get(apiNames.get(0))); - Assert.areEqual('Case', result.get(apiNames.get(1))); - } catch (Exception e) { - Assert.fail('An exception was thrown: ' + e.getMessage()); - } - } - - @isTest - static void testInsertNewCard(){ - try { - List cardsBefore = [SELECT Id FROM Mobile_Dashboard_Setting__c]; - Assert.isNotNull(cardsBefore); - Assert.areEqual(1, cardsBefore.size()); - - Map data = new Map(); - data.put('customLogic', ''); - data.put('layout', 'SIDE'); - data.put('mainFilterLogic', 'AND'); - data.put('mainFilter', ''); - data.put('objectName', 'Account'); - data.put('index', '1'); - data.put('subFilters', ''); - data.put('title', 'Test Title2'); - - DashboardSettingsService.insertNewCard(data); - - List cardsAfter = [SELECT Id FROM Mobile_Dashboard_Setting__c]; - Assert.isNotNull(cardsAfter); - Assert.areEqual(2, cardsAfter.size()); - } catch (Exception e) { - Assert.fail('An exception was thrown: ' + e.getMessage()); - } - } - - @isTest - static void testUpdateCard(){ - try { - Mobile_Dashboard_Setting__c cardBefore = [SELECT Id, Title__c FROM Mobile_Dashboard_Setting__c WHERE Id = :mds.Id]; - Assert.isNotNull(cardBefore); - Assert.areEqual('Test Title', cardBefore.Title__c); - - Map data = new Map(); - data.put('customLogic', ''); - data.put('layout', 'SIDE'); - data.put('mainFilterLogic', 'AND'); - data.put('mainFilter', ''); - data.put('objectName', 'Account'); - data.put('index', '0'); - data.put('subFilters', ''); - data.put('title', 'Updated Test Title'); - DashboardSettingsService.updateCard(mds.Id, data); - - Mobile_Dashboard_Setting__c cardAfter = [SELECT Id, Title__c FROM Mobile_Dashboard_Setting__c WHERE Id = :mds.Id]; - Assert.isNotNull(cardAfter); - Assert.areEqual('Updated Test Title', cardAfter.Title__c); - } catch (Exception e) { - Assert.fail('An exception was thrown: ' + e.getMessage()); - } - } - - @isTest - static void testDeleteCard(){ - try { - List cardsBefore = [SELECT Id FROM Mobile_Dashboard_Setting__c]; - Assert.isNotNull(cardsBefore); - Assert.areEqual(1, cardsBefore.size()); - - DashboardSettingsService.deleteCard(mds.Id); - - List cardsAfter = [SELECT Id FROM Mobile_Dashboard_Setting__c]; - Assert.isNotNull(cardsAfter); - Assert.areEqual(0, cardsAfter.size()); - } catch (Exception e) { - Assert.fail('An exception was thrown: ' + e.getMessage()); - } - } - - @isTest - static void testUpdateCardsOrder(){ - try { - Map data = new Map(); - data.put('customLogic', ''); - data.put('layout', 'SIDE'); - data.put('mainFilterLogic', 'AND'); - data.put('mainFilter', ''); - data.put('objectName', 'Account'); - data.put('index', '1'); - data.put('subFilters', ''); - data.put('title', 'Test Title2'); - Id newId = DashboardSettingsService.insertNewCard(data); - - List cardsBefore = [SELECT Id, Title__c, Order__c FROM Mobile_Dashboard_Setting__c]; - for (Mobile_Dashboard_Setting__c card : cardsBefore) { - if (card.Title__c == 'Test Title') { - Assert.areEqual(0, card.Order__c); - } - if (card.Title__c == 'Test Title2') { - Assert.areEqual(1, card.Order__c); - } - } - - List cardsIds = new List(); - cardsIds.add(newId); - cardsIds.add(mds.Id); - DashboardSettingsService.updateCardsOrder(cardsIds); - - List cardsAfter = [SELECT Id, Title__c, Order__c FROM Mobile_Dashboard_Setting__c]; - for (Mobile_Dashboard_Setting__c card : cardsAfter) { - if (card.Title__c == 'Test Title') { - Assert.areEqual(1, card.Order__c); - } - if (card.Title__c == 'Test Title2') { - Assert.areEqual(0, card.Order__c); - } - } - } catch (Exception e) { - Assert.fail('An exception was thrown: ' + e.getMessage()); - } - } -} diff --git a/MobileDashboard/force-app/main/default/lwc/alertMessage/__tests__/alertMessage.test.js b/MobileDashboard/force-app/main/default/lwc/alertMessage/__tests__/alertMessage.test.js deleted file mode 100644 index b5b3a86..0000000 --- a/MobileDashboard/force-app/main/default/lwc/alertMessage/__tests__/alertMessage.test.js +++ /dev/null @@ -1,56 +0,0 @@ -import { createElement } from 'lwc'; -import AlertMessage from 'c/alertMessage'; - -let element; -describe('c-alert-message', () => { - beforeEach(() => { - element = createElement('c-alert-message', { - is: AlertMessage, - }); - - element.modalTitle = 'Title of the Modal'; - element.message = 'Body of the Modal'; - element.discardButtonText = 'Cancel'; - element.handleDiscardClick = jest.fn(); - element.close = jest.fn(); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('has all correct info', () => { - element.isDeleteMsg = false; - document.body.appendChild(element); - - const title = element.shadowRoot.querySelector('.modal-header h2'); - expect(title.textContent).toBe('Title of the Modal'); - - const body = element.shadowRoot.querySelector('.message'); - expect(body.textContent).toBe('Body of the Modal'); - }); - - it('calls close with no parameters when cancel clicked', async () => { - element.isDeleteMsg = false; - document.body.appendChild(element); - - const action = element.shadowRoot.querySelector('lightning-button'); - action.click(); - return Promise.resolve().then(() => { - expect(element.close).toHaveBeenCalled(); - }); - }); - - it('calls close with true when ok clicked', async () => { - element.isDeleteMsg = true; - document.body.appendChild(element); - - const action = element.shadowRoot.querySelector('lightning-button.slds-var-m-left_x-small'); - action.click(); - return Promise.resolve().then(() => { - expect(element.close).toHaveBeenCalledWith(true); - }); - }); -}); diff --git a/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.css b/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.css deleted file mode 100644 index 145ee31..0000000 --- a/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.css +++ /dev/null @@ -1,19 +0,0 @@ -.modal-header { - display: flex; - justify-content: center; - align-items: center; - font-size: 20px; - font-weight: 400; - line-height: 30px; -} - -.message { - font-size: 13px; - font-weight: 400; - line-height: 20px; -} - -.error-icon { - margin-right: 8px; - --lwc-colorTextIconDefault: #BA0517; -} \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.html b/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.html deleted file mode 100644 index e1e93dd..0000000 --- a/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.html +++ /dev/null @@ -1,23 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.js b/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.js deleted file mode 100644 index 4d00ebd..0000000 --- a/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.js +++ /dev/null @@ -1,20 +0,0 @@ -import { api } from 'lwc'; -import LightningModal from 'lightning/modal'; -import customLabels from './labels'; - -export default class AlertMessage extends LightningModal { - @api modalTitle; - @api message; - @api discardButtonText; - @api isDeleteMsg; - - LABELS = customLabels; - - handleDiscardClick = () => { - this.close(); - }; - - handleDeleteClick = () => { - this.close(true); - }; -} diff --git a/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.js-meta.xml b/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/alertMessage/labels.js b/MobileDashboard/force-app/main/default/lwc/alertMessage/labels.js deleted file mode 100644 index ae97e6c..0000000 --- a/MobileDashboard/force-app/main/default/lwc/alertMessage/labels.js +++ /dev/null @@ -1,7 +0,0 @@ -import MobileDashboard_settings_delete_button from '@salesforce/label/c.MobileDashboard_settings_delete_button'; - -const customLabels = { - MobileDashboard_settings_delete_button, -}; - -export default customLabels; diff --git a/MobileDashboard/force-app/main/default/lwc/basicFilter/__tests__/basicFilter.test.js b/MobileDashboard/force-app/main/default/lwc/basicFilter/__tests__/basicFilter.test.js deleted file mode 100644 index b02641b..0000000 --- a/MobileDashboard/force-app/main/default/lwc/basicFilter/__tests__/basicFilter.test.js +++ /dev/null @@ -1,219 +0,0 @@ -import { createElement } from 'lwc'; -import BasicFilter from 'c/basicFilter'; - -let element; - -let fieldsCombo; -let operatorCombo; -let valueField; -let quantityField; -let unitCombo; - -jest.mock( - '@salesforce/apex/DashboardSettingsService.getAllPicklistOptions', - () => { - return { - default: jest.fn(() => [{ value: 'option1', label: 'Option 1' }]), - }; - }, - { virtual: true } -); - -describe('c-basic-filter', () => { - beforeEach(() => { - element = createElement('c-basic-filter', { - is: BasicFilter, - }); - - element.objectValue = 'Account'; - element.index = 0; - element.fieldsOptions = [ - { label: 'My Email', value: 'myEmail', type: 'EMAIL' }, - { label: 'My Reference', value: 'myReference', type: 'REFERENCE' }, - { label: 'My Date', value: 'myDate', type: 'DATE' }, - { label: 'My Boolean', value: 'myBoolean', type: 'BOOLEAN' }, - { label: 'My Picklist', value: 'myPicklist', type: 'PICKLIST' }, - ]; - element.field = ''; - element.operator = ''; - element.value = ''; - element.quantity = ''; - element.unit = ''; - element.updateSubFilter = jest.fn(); - - document.body.appendChild(element); - - fieldsCombo = element.shadowRoot.querySelector('.field-combo'); - operatorCombo = element.shadowRoot.querySelector('.operator-combo'); - valueField = element.shadowRoot.querySelector('.value-input'); - quantityField = element.shadowRoot.querySelector('.quantity-input'); - unitCombo = element.shadowRoot.querySelector('.unit-combo'); - - jest.useFakeTimers(); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('sets operators list correctly when selecting a date field', async () => { - fieldsCombo.value = 'myDate'; - fieldsCombo.dispatchEvent(new Event('change')); - jest.runAllTimers(); - return Promise.resolve().then(() => { - operatorCombo = element.shadowRoot.querySelector('.operator-combo'); - expect(operatorCombo.label).toBe('c.MobileDashboard_basic_filter_date_operator'); - }); - }); - - it('sets qunatity and unit as visible when selecting a special operator', async () => { - expect(quantityField).toBeNull(); - expect(unitCombo).toBeNull(); - - fieldsCombo.value = 'myDate'; - fieldsCombo.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - operatorCombo = element.shadowRoot.querySelector('.operator-combo'); - operatorCombo.value = 'next'; - operatorCombo.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - quantityField = element.shadowRoot.querySelector('.quantity-input'); - unitCombo = element.shadowRoot.querySelector('.unit-combo'); - expect(quantityField).not.toBeNull(); - expect(unitCombo).not.toBeNull(); - }); - }); - }); - - it('sets operator as hidden if field is boolean', async () => { - expect(operatorCombo).not.toBeNull(); - - fieldsCombo.value = 'myBoolean'; - fieldsCombo.dispatchEvent(new Event('change')); - jest.runAllTimers(); - return Promise.resolve().then(async () => { - operatorCombo = element.shadowRoot.querySelector('.operator-combo'); - expect(operatorCombo).toBeNull(); - }); - }); - - it('sets operator as hidden if field is picklist', async () => { - expect(operatorCombo).not.toBeNull(); - - fieldsCombo.value = 'myPicklist'; - fieldsCombo.dispatchEvent(new Event('change')); - jest.runAllTimers(); - return Promise.resolve().then(async () => { - operatorCombo = element.shadowRoot.querySelector('.operator-combo'); - expect(operatorCombo).toBeNull(); - }); - }); - - it('sets value as hidden when selecting the today operator', async () => { - expect(valueField).not.toBeNull(); - - fieldsCombo.value = 'myDate'; - fieldsCombo.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - operatorCombo = element.shadowRoot.querySelector('.operator-combo'); - operatorCombo.value = 'today'; - operatorCombo.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - valueField = element.shadowRoot.querySelector('.value-input'); - expect(valueField).toBeNull(); - }); - }); - }); - - it('sets value input type as the field type', async () => { - expect(valueField).not.toBeNull(); - - fieldsCombo.value = 'myEmail'; - fieldsCombo.dispatchEvent(new Event('change')); - jest.runAllTimers(); - return Promise.resolve().then(() => { - valueField = element.shadowRoot.querySelector('.value-input'); - expect(valueField.type).toBe('EMAIL'); - }); - }); - - it('sets value input type as text when selecting a non-supported field type', async () => { - expect(valueField).not.toBeNull(); - - fieldsCombo.value = 'myReference'; - fieldsCombo.dispatchEvent(new Event('change')); - return Promise.resolve().then(() => { - valueField = element.shadowRoot.querySelector('.value-input'); - expect(valueField.type).toBe('text'); - }); - }); - - it('calls updateSubFilter when updating value', async () => { - expect(operatorCombo).not.toBeNull(); - - valueField.value = 'abc'; - valueField.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - expect(element.updateSubFilter).toHaveBeenCalledWith(0, { value: 'abc' }); - }); - }); - - it('calls updateSubFilter when updating quantity', async () => { - fieldsCombo.value = 'myDate'; - fieldsCombo.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - operatorCombo = element.shadowRoot.querySelector('.operator-combo'); - operatorCombo.value = 'last'; - operatorCombo.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - quantityField = element.shadowRoot.querySelector('.quantity-input'); - quantityField.value = '7'; - quantityField.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - expect(element.updateSubFilter).toHaveBeenCalledWith(0, { quantity: '7' }); - }); - }); - }); - }); - - it('calls updateSubFilter when updating unit', async () => { - fieldsCombo.value = 'myDate'; - fieldsCombo.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - operatorCombo = element.shadowRoot.querySelector('.operator-combo'); - operatorCombo.value = 'last'; - operatorCombo.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - unitCombo = element.shadowRoot.querySelector('.unit-combo'); - unitCombo.value = 'day'; - unitCombo.dispatchEvent(new Event('change')); - return Promise.resolve().then(async () => { - expect(element.updateSubFilter).toHaveBeenCalledWith(0, { - unit: 'day', - unitDisplay: 'c.MobileDashboard_settings_card_display_unit_days', - }); - }); - }); - }); - }); - - it('return true from checkValidation when fields are valid', async () => { - fieldsCombo.validity = { valid: true }; - operatorCombo.validity = { valid: true }; - valueField.validity = { valid: true }; - - const isValid = element.checkValidation(); - expect(isValid).toBeTruthy; - }); - - it('return false from checkValidation when fields are not valid', async () => { - fieldsCombo.validity = { valid: true }; - operatorCombo.validity = { valid: false }; - valueField.validity = { valid: false }; - - const isValid = element.checkValidation(); - expect(isValid).toBeFalsy; - }); -}); diff --git a/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.css b/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.css deleted file mode 100644 index e91b3fb..0000000 --- a/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.css +++ /dev/null @@ -1,16 +0,0 @@ -.props-list { - display: flex; - flex-direction: row; -} - -lightning-combobox, .quantity-input { - margin-right: 8px; -} - -.field-combo, .value-input { - flex: 2; -} - -.operator-combo { - flex: 1; -} diff --git a/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.html b/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.html deleted file mode 100644 index 6acc7c0..0000000 --- a/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.html +++ /dev/null @@ -1,96 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.js b/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.js deleted file mode 100644 index ecef53d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.js +++ /dev/null @@ -1,313 +0,0 @@ -import { LightningElement, api } from 'lwc'; -import getAllPicklistOptions from '@salesforce/apex/DashboardSettingsService.getAllPicklistOptions'; -import customLabels from './labels'; - -export default class BasicFilter extends LightningElement { - @api objectValue; - @api index; - @api fieldsOptions; - @api field; - @api operator; - @api value; - @api quantity; - @api unit; - @api updateSubFilter; - LABELS = customLabels; - - picklistOptions; - - SUPPORTED_INPUT_TYPES = [ - 'checkbox', - 'checkbox-button', - 'date', - 'datetime', - 'time', - 'email', - 'file', - 'password', - 'search', - 'tel', - 'url', - 'number', - 'text', - 'toggle', - ]; - - connectedCallback() { - this.refreshPicklistOptions(this.field); - } - - @api checkValidation() { - let isValid = true; - - const combos = this.template.querySelectorAll('lightning-combobox'); - const inputs = this.template.querySelectorAll('lightning-input'); - const all = [...combos, ...inputs]; - - all.forEach((i) => { - if (!i.validity.valid) { - i.focus(); - i.blur(); - i.classList.add('slds-has-error'); - isValid = false; - } - }); - - return isValid; - } - - /* Field */ - - get filterFieldValue() { - return this.field; - } - - get filterFieldType() { - return this.fieldsOptions?.find((opt) => opt.value === this.field)?.type; - } - - get isFieldTypeDate() { - return this.filterFieldType === 'DATE' || this.filterFieldType === 'DATETIME'; - } - - get isFieldTypePicklist() { - return this.filterFieldType === 'PICKLIST'; - } - - get isFieldTypeBoolean() { - return this.filterFieldType === 'BOOLEAN'; - } - - get isFieldTypeRegular() { - return ( - (!this.isFieldTypeBoolean && !this.isFieldTypePicklist && !this.isFieldTypeDate) || - (this.isFieldTypeDate && !this.isSpecialOperator) - ); - } - - onFilterFieldChange = (e) => { - this.value = this.quantity = this.unit = this.unitDisplay = ''; - const selectedField = e.target.value; - setTimeout(() => { - this.field = selectedField; - this.operator = this.isFieldNoOperator ? 'eq' : this.isFieldTypeDate ? 'today' : 'eq'; - this.refreshPicklistOptions(this.field); - this.updateSubFilter(this.index, { - field: this.field, - fieldDisplay: this.fieldsOptions?.find((opt) => opt.value === this.field)?.label, - fieldType: this.fieldsOptions?.find((opt) => opt.value === this.field)?.type, - value: this.isFieldTypeBoolean ? true : '', - operator: this.operator, - operatorDisplay: this.getOperatorDisplay(), - quantity: '', - unit: '', - unitDisplay: '', - }); - }, 0); - }; - - /* Operator */ - - get filterOperatorValue() { - return this.operator; - } - - get showDefaultOperator() { - return !this.isFieldTypeBoolean && !this.isFieldTypePicklist && !this.isFieldTypeDate; - } - - get isSpecialOperator() { - return ['today', 'last', 'next'].includes(this.operator); - } - - get isFieldNoOperator() { - return this.isFieldTypeBoolean || this.isFieldTypePicklist; - } - - get filterOperatorOptions() { - return [ - { - label: this.LABELS.MobileDashboard_basic_filter_operator_equals, - value: 'eq', - display: '=', - }, - { - label: this.LABELS.MobileDashboard_basic_filter_operator_not_equal, - value: 'ne', - display: '≠', - }, - { - label: this.LABELS.MobileDashboard_basic_filter_operator_less_than, - value: 'lt', - display: '<', - }, - { - label: this.LABELS.MobileDashboard_basic_filter_operator_greater_than, - value: 'gt', - display: '>', - }, - { - label: this.LABELS.MobileDashboard_basic_filter_operator_less_or_equal, - value: 'lte', - display: '≤', - }, - { - label: this.LABELS.MobileDashboard_basic_filter_operator_greater_or_equal, - value: 'gte', - display: '≥', - }, - { - label: this.LABELS.MobileDashboard_basic_filter_operator_contains, - value: 'like', - display: this.LABELS.MobileDashboard_basic_filter_operator_contains, - }, - ]; - } - - get dateFilterOperatorOptions() { - return [ - { - label: this.LABELS.MobileDashboard_basic_filter_date_type_today, - value: 'today', - display: this.LABELS.MobileDashboard_settings_card_display_operator_today, - }, - { - label: this.LABELS.MobileDashboard_basic_filter_date_type_next, - value: 'next', - display: this.LABELS.MobileDashboard_settings_card_display_operator_next, - }, - { - label: this.LABELS.MobileDashboard_basic_filter_date_type_last, - value: 'last', - display: this.LABELS.MobileDashboard_settings_card_display_operator_last, - }, - { label: this.LABELS.MobileDashboard_basic_filter_date_type_on, value: 'eq', display: '=' }, - { - label: this.LABELS.MobileDashboard_basic_filter_date_type_before, - value: 'lt', - display: '<', - }, - { - label: this.LABELS.MobileDashboard_basic_filter_date_type_after, - value: 'gt', - display: '>', - }, - ]; - } - - getOperatorDisplay() { - return ( - this.isFieldTypeDate ? this.dateFilterOperatorOptions : this.filterOperatorOptions - )?.find((opt) => opt.value === this.operator)?.display; - } - - onFilterOperatorChange = (e) => { - this.operator = e.target.value; - this.value = this.quantity = this.unit = ''; - this.updateSubFilter(this.index, { - operator: this.operator, - operatorDisplay: this.getOperatorDisplay(), - value: '', - quantity: '', - unit: '', - unitDisplay: '', - }); - }; - - /* Value */ - - get filterValue() { - return this.value; - } - - get showValueField() { - return this.operator !== 'today'; - } - - get valueFieldType() { - if (this.SUPPORTED_INPUT_TYPES.includes(this.filterFieldType?.toLowerCase())) { - return this.filterFieldType; - } - return 'text'; - } - - get fieldInputLabel() { - return this.filterFieldType === 'DATETIME' - ? '' - : this.LABELS.MobileDashboard_basic_filter_value; - } - - get filterValueOptions() { - return this.picklistOptions; - } - - async refreshPicklistOptions(field) { - if (!field) return; - if (!this.filterFieldType) { - setTimeout(() => { - this.refreshPicklistOptions(field); - }, 500); - } else if (this.isFieldTypePicklist) { - const allOptions = await getAllPicklistOptions({ obj: this.objectValue, field }); - this.picklistOptions = allOptions.sort((f1, f2) => (f1.label < f2.label ? -1 : 1)); - } else { - this.picklistOptions = []; - } - } - - onFilterValueChange = (e) => { - this.value = this.isFieldTypeBoolean ? e.target.checked : e.target.value; - this.updateSubFilter(this.index, { value: this.value }); - }; - - /* Quantity */ - - get filterQuantityValue() { - return this.quantity; - } - - onFilterQuantityChange = (e) => { - this.quantity = e.target.value; - this.updateSubFilter(this.index, { - quantity: this.quantity, - }); - }; - - /* Unit */ - - get filterUnitValue() { - return this.unit; - } - - get filterUnitValueOptions() { - return [ - { - label: this.LABELS.MobileDashboard_settings_card_display_unit_days, - value: 'day', - display: this.LABELS.MobileDashboard_settings_card_display_unit_days, - }, - { - label: this.LABELS.MobileDashboard_settings_card_display_unit_weeks, - value: 'week', - display: this.LABELS.MobileDashboard_settings_card_display_unit_weeks, - }, - { - label: this.LABELS.MobileDashboard_settings_card_display_unit_months, - value: 'month', - display: this.LABELS.MobileDashboard_settings_card_display_unit_months, - }, - ]; - } - - getUnitDisplay() { - return this.filterUnitValueOptions?.find((opt) => opt.value === this.unit)?.display; - } - - onFilterUnitChange = (e) => { - this.unit = e.target.value; - this.updateSubFilter(this.index, { - unit: this.unit, - unitDisplay: this.getUnitDisplay(), - }); - }; -} diff --git a/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.js-meta.xml b/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/basicFilter/labels.js b/MobileDashboard/force-app/main/default/lwc/basicFilter/labels.js deleted file mode 100644 index 02d7ee2..0000000 --- a/MobileDashboard/force-app/main/default/lwc/basicFilter/labels.js +++ /dev/null @@ -1,55 +0,0 @@ -import MobileDashboard_basic_filter_field from '@salesforce/label/c.MobileDashboard_basic_filter_field'; -import MobileDashboard_settings_select_placeholder from '@salesforce/label/c.MobileDashboard_settings_select_placeholder'; -import MobileDashboard_basic_filter_operator from '@salesforce/label/c.MobileDashboard_basic_filter_operator'; -import MobileDashboard_basic_filter_operator_equals from '@salesforce/label/c.MobileDashboard_basic_filter_operator_equals'; -import MobileDashboard_basic_filter_operator_not_equal from '@salesforce/label/c.MobileDashboard_basic_filter_operator_not_equal'; -import MobileDashboard_basic_filter_operator_less_than from '@salesforce/label/c.MobileDashboard_basic_filter_operator_less_than'; -import MobileDashboard_basic_filter_operator_greater_than from '@salesforce/label/c.MobileDashboard_basic_filter_operator_greater_than'; -import MobileDashboard_basic_filter_operator_less_or_equal from '@salesforce/label/c.MobileDashboard_basic_filter_operator_less_or_equal'; -import MobileDashboard_basic_filter_operator_greater_or_equal from '@salesforce/label/c.MobileDashboard_basic_filter_operator_greater_or_equal'; -import MobileDashboard_basic_filter_operator_contains from '@salesforce/label/c.MobileDashboard_basic_filter_operator_contains'; -import MobileDashboard_basic_filter_date_operator from '@salesforce/label/c.MobileDashboard_basic_filter_date_operator'; -import MobileDashboard_basic_filter_date_type_today from '@salesforce/label/c.MobileDashboard_basic_filter_date_type_today'; -import MobileDashboard_basic_filter_date_type_last from '@salesforce/label/c.MobileDashboard_basic_filter_date_type_last'; -import MobileDashboard_basic_filter_date_type_next from '@salesforce/label/c.MobileDashboard_basic_filter_date_type_next'; -import MobileDashboard_basic_filter_date_type_on from '@salesforce/label/c.MobileDashboard_basic_filter_date_type_on'; -import MobileDashboard_basic_filter_date_type_before from '@salesforce/label/c.MobileDashboard_basic_filter_date_type_before'; -import MobileDashboard_basic_filter_date_type_after from '@salesforce/label/c.MobileDashboard_basic_filter_date_type_after'; -import MobileDashboard_settings_card_display_operator_today from '@salesforce/label/c.MobileDashboard_settings_card_display_operator_today'; -import MobileDashboard_settings_card_display_operator_next from '@salesforce/label/c.MobileDashboard_settings_card_display_operator_next'; -import MobileDashboard_settings_card_display_operator_last from '@salesforce/label/c.MobileDashboard_settings_card_display_operator_last'; -import MobileDashboard_settings_card_display_unit_days from '@salesforce/label/c.MobileDashboard_settings_card_display_unit_days'; -import MobileDashboard_settings_card_display_unit_weeks from '@salesforce/label/c.MobileDashboard_settings_card_display_unit_weeks'; -import MobileDashboard_settings_card_display_unit_months from '@salesforce/label/c.MobileDashboard_settings_card_display_unit_months'; -import MobileDashboard_basic_filter_value from '@salesforce/label/c.MobileDashboard_basic_filter_value'; -import MobileDashboard_basic_filter_unit from '@salesforce/label/c.MobileDashboard_basic_filter_unit'; - -const customLabels = { - MobileDashboard_basic_filter_field, - MobileDashboard_settings_select_placeholder, - MobileDashboard_basic_filter_operator, - MobileDashboard_basic_filter_operator_equals, - MobileDashboard_basic_filter_operator_not_equal, - MobileDashboard_basic_filter_operator_less_than, - MobileDashboard_basic_filter_operator_greater_than, - MobileDashboard_basic_filter_operator_less_or_equal, - MobileDashboard_basic_filter_operator_greater_or_equal, - MobileDashboard_basic_filter_operator_contains, - MobileDashboard_basic_filter_date_operator, - MobileDashboard_basic_filter_date_type_today, - MobileDashboard_basic_filter_date_type_next, - MobileDashboard_basic_filter_date_type_last, - MobileDashboard_basic_filter_date_type_on, - MobileDashboard_basic_filter_date_type_before, - MobileDashboard_basic_filter_date_type_after, - MobileDashboard_settings_card_display_operator_today, - MobileDashboard_settings_card_display_operator_next, - MobileDashboard_settings_card_display_operator_last, - MobileDashboard_settings_card_display_unit_days, - MobileDashboard_settings_card_display_unit_weeks, - MobileDashboard_settings_card_display_unit_months, - MobileDashboard_basic_filter_value, - MobileDashboard_basic_filter_unit, -}; - -export default customLabels; diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/__tests__/dashboardAddButton.test.js b/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/__tests__/dashboardAddButton.test.js deleted file mode 100644 index 811cd9a..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/__tests__/dashboardAddButton.test.js +++ /dev/null @@ -1,35 +0,0 @@ -import { createElement } from 'lwc'; -import DashboardAddButton from 'c/dashboardAddButton'; - -let element; -describe('c-dashboard-add-button', () => { - beforeEach(() => { - element = createElement('c-add-button', { - is: DashboardAddButton, - }); - - element.label = 'Button label'; - element.handleAddClick = jest.fn(); - element.disabled = false; - document.body.appendChild(element); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('shows correct label', () => { - const label = element.shadowRoot.querySelector('lightning-button'); - expect(label.title).toBe('Button label'); - }); - - it('calls function when clicked', async () => { - const action = element.shadowRoot.querySelector('lightning-button'); - action.click(); - return Promise.resolve().then(() => { - expect(element.handleAddClick).toHaveBeenCalled(); - }); - }); -}); diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.html b/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.html deleted file mode 100644 index 13854f9..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.html +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.js b/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.js deleted file mode 100644 index f4c4dc8..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.js +++ /dev/null @@ -1,7 +0,0 @@ -import { LightningElement, api } from 'lwc'; - -export default class DashboardAddButton extends LightningElement { - @api label; - @api handleAddClick; - @api disabled; -} diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.js-meta.xml b/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/__tests__/dashboardIconsPicker.test.js b/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/__tests__/dashboardIconsPicker.test.js deleted file mode 100644 index 6b39c3b..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/__tests__/dashboardIconsPicker.test.js +++ /dev/null @@ -1,30 +0,0 @@ -import { createElement } from 'lwc'; -import DashboardIconsPicker from 'c/dashboardIconsPicker'; - -let element; -describe('c-dashboard-icons-picker', () => { - beforeEach(() => { - element = createElement('c-dashboard-icons-picker', { - is: DashboardIconsPicker, - }); - - element.setIcon = jest.fn(); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('calls setIcon when an icon selected', async () => { - element.selectedIcon = ''; - document.body.appendChild(element); - - const action = element.shadowRoot.querySelector('lightning-menu-item'); - action.click(); - return Promise.resolve().then(() => { - expect(element.setIcon).toHaveBeenCalledWith('utility:info'); - }); - }); -}); diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.html b/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.html deleted file mode 100644 index 738fc8d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.html +++ /dev/null @@ -1,19 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.js b/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.js deleted file mode 100644 index d34b75e..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.js +++ /dev/null @@ -1,78 +0,0 @@ -import { LightningElement, api } from 'lwc'; -import customLabels from './labels'; - -export default class DashboardIconsPicker extends LightningElement { - @api selectedIcon; - @api setIcon; - - LABELS = customLabels; - - iconGroups = [ - { - label: this.LABELS.MobileDashboard_icons_list_subtitle_status, - icons: [ - { label: this.LABELS.MobileDashboard_icons_list_info, name: 'utility:info' }, - { label: this.LABELS.MobileDashboard_icons_list_success, name: 'utility:success' }, - { label: this.LABELS.MobileDashboard_icons_list_warning, name: 'utility:warning' }, - { label: this.LABELS.MobileDashboard_icons_list_error, name: 'utility:error' }, - { label: this.LABELS.MobileDashboard_icons_list_new, name: 'utility:routing_offline' }, - { label: this.LABELS.MobileDashboard_icons_list_in_progress, name: 'utility:away' }, - { label: this.LABELS.MobileDashboard_icons_list_cannot_complete, name: 'utility:ban' }, - ], - }, - { - label: this.LABELS.MobileDashboard_icons_list_subtitle_sentiment, - icons: [ - { label: this.LABELS.MobileDashboard_icons_list_positive, name: 'utility:emoji' }, - { - label: this.LABELS.MobileDashboard_icons_list_neutral, - name: 'utility:sentiment_neutral', - }, - { - label: this.LABELS.MobileDashboard_icons_list_negative, - name: 'utility:sentiment_negative', - }, - ], - }, - { - label: this.LABELS.MobileDashboard_icons_list_subtitle_record_types, - icons: [ - { label: this.LABELS.MobileDashboard_icons_list_case, name: 'utility:case' }, - { label: this.LABELS.MobileDashboard_icons_list_lead, name: 'utility:lead' }, - { label: this.LABELS.MobileDashboard_icons_list_opportunity, name: 'utility:opportunity' }, - { label: this.LABELS.MobileDashboard_icons_list_quote, name: 'utility:quote' }, - ], - }, - { - label: this.LABELS.MobileDashboard_icons_list_subtitle_other, - icons: [ - { label: this.LABELS.MobileDashboard_icons_list_approval, name: 'utility:approval' }, - { label: this.LABELS.MobileDashboard_icons_list_clock, name: 'utility:clock' }, - { label: this.LABELS.MobileDashboard_icons_list_event, name: 'utility:event' }, - { label: this.LABELS.MobileDashboard_icons_list_favorite, name: 'utility:favorite' }, - { label: this.LABELS.MobileDashboard_icons_list_like, name: 'utility:like' }, - { label: this.LABELS.MobileDashboard_icons_list_dislike, name: 'utility:dislike' }, - { label: this.LABELS.MobileDashboard_icons_list_location, name: 'utility:checkin' }, - { label: this.LABELS.MobileDashboard_icons_list_priority, name: 'utility:priority' }, - { label: this.LABELS.MobileDashboard_icons_list_user, name: 'utility:user' }, - { label: this.LABELS.MobileDashboard_icons_list_people, name: 'utility:people' }, - ], - }, - ]; - - handleIconClick = (e) => { - this.selectedIcon = e.target.value; - this.setIcon(this.selectedIcon); - }; - - get selectedIconLabel() { - const icon = this.iconGroups - .flatMap((group) => group.icons) - .find((icon) => icon.name === this.selectedIcon); - return icon ? icon.label : null; - } - - get menuLabel() { - return this.selectedIconLabel ?? this.LABELS.MobileDashboard_settings_select_placeholder; - } -} diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.js-meta.xml b/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/labels.js b/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/labels.js deleted file mode 100644 index 2f09233..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/labels.js +++ /dev/null @@ -1,65 +0,0 @@ -import MobileDashboard_sub_filter_icon_field from '@salesforce/label/c.MobileDashboard_sub_filter_icon_field'; -import MobileDashboard_settings_select_placeholder from '@salesforce/label/c.MobileDashboard_settings_select_placeholder'; -import MobileDashboard_icons_list_subtitle_status from '@salesforce/label/c.MobileDashboard_icons_list_subtitle_status'; -import MobileDashboard_icons_list_info from '@salesforce/label/c.MobileDashboard_icons_list_info'; -import MobileDashboard_icons_list_success from '@salesforce/label/c.MobileDashboard_icons_list_success'; -import MobileDashboard_icons_list_warning from '@salesforce/label/c.MobileDashboard_icons_list_warning'; -import MobileDashboard_icons_list_error from '@salesforce/label/c.MobileDashboard_icons_list_error'; -import MobileDashboard_icons_list_new from '@salesforce/label/c.MobileDashboard_icons_list_new'; -import MobileDashboard_icons_list_in_progress from '@salesforce/label/c.MobileDashboard_icons_list_in_progress'; -import MobileDashboard_icons_list_cannot_complete from '@salesforce/label/c.MobileDashboard_icons_list_cannot_complete'; -import MobileDashboard_icons_list_subtitle_sentiment from '@salesforce/label/c.MobileDashboard_icons_list_subtitle_sentiment'; -import MobileDashboard_icons_list_positive from '@salesforce/label/c.MobileDashboard_icons_list_positive'; -import MobileDashboard_icons_list_neutral from '@salesforce/label/c.MobileDashboard_icons_list_neutral'; -import MobileDashboard_icons_list_negative from '@salesforce/label/c.MobileDashboard_icons_list_negative'; -import MobileDashboard_icons_list_subtitle_record_types from '@salesforce/label/c.MobileDashboard_icons_list_subtitle_record_types'; -import MobileDashboard_icons_list_case from '@salesforce/label/c.MobileDashboard_icons_list_case'; -import MobileDashboard_icons_list_lead from '@salesforce/label/c.MobileDashboard_icons_list_lead'; -import MobileDashboard_icons_list_opportunity from '@salesforce/label/c.MobileDashboard_icons_list_opportunity'; -import MobileDashboard_icons_list_quote from '@salesforce/label/c.MobileDashboard_icons_list_quote'; -import MobileDashboard_icons_list_subtitle_other from '@salesforce/label/c.MobileDashboard_icons_list_subtitle_other'; -import MobileDashboard_icons_list_approval from '@salesforce/label/c.MobileDashboard_icons_list_approval'; -import MobileDashboard_icons_list_clock from '@salesforce/label/c.MobileDashboard_icons_list_clock'; -import MobileDashboard_icons_list_event from '@salesforce/label/c.MobileDashboard_icons_list_event'; -import MobileDashboard_icons_list_favorite from '@salesforce/label/c.MobileDashboard_icons_list_favorite'; -import MobileDashboard_icons_list_like from '@salesforce/label/c.MobileDashboard_icons_list_like'; -import MobileDashboard_icons_list_dislike from '@salesforce/label/c.MobileDashboard_icons_list_dislike'; -import MobileDashboard_icons_list_location from '@salesforce/label/c.MobileDashboard_icons_list_location'; -import MobileDashboard_icons_list_priority from '@salesforce/label/c.MobileDashboard_icons_list_priority'; -import MobileDashboard_icons_list_user from '@salesforce/label/c.MobileDashboard_icons_list_user'; -import MobileDashboard_icons_list_people from '@salesforce/label/c.MobileDashboard_icons_list_people'; - -const customLabels = { - MobileDashboard_sub_filter_icon_field, - MobileDashboard_settings_select_placeholder, - MobileDashboard_icons_list_subtitle_status, - MobileDashboard_icons_list_info, - MobileDashboard_icons_list_success, - MobileDashboard_icons_list_warning, - MobileDashboard_icons_list_error, - MobileDashboard_icons_list_new, - MobileDashboard_icons_list_in_progress, - MobileDashboard_icons_list_cannot_complete, - MobileDashboard_icons_list_subtitle_sentiment, - MobileDashboard_icons_list_positive, - MobileDashboard_icons_list_neutral, - MobileDashboard_icons_list_negative, - MobileDashboard_icons_list_subtitle_record_types, - MobileDashboard_icons_list_case, - MobileDashboard_icons_list_lead, - MobileDashboard_icons_list_opportunity, - MobileDashboard_icons_list_quote, - MobileDashboard_icons_list_subtitle_other, - MobileDashboard_icons_list_approval, - MobileDashboard_icons_list_clock, - MobileDashboard_icons_list_event, - MobileDashboard_icons_list_favorite, - MobileDashboard_icons_list_like, - MobileDashboard_icons_list_dislike, - MobileDashboard_icons_list_location, - MobileDashboard_icons_list_priority, - MobileDashboard_icons_list_user, - MobileDashboard_icons_list_people, -}; - -export default customLabels; diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/__tests__/dashboardSettingsCard.test.js b/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/__tests__/dashboardSettingsCard.test.js deleted file mode 100644 index 798cc4a..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/__tests__/dashboardSettingsCard.test.js +++ /dev/null @@ -1,139 +0,0 @@ -import { createElement } from 'lwc'; -import DashboardSettingsCard from 'c/dashboardSettingsCard'; - -jest.mock( - './labels', - () => { - return { - MobileDashboard_card_filter_titleTime: 'test', - }; - }, - { virtual: true } -); - -let element; -describe('c-dashboard-settings-card', () => { - beforeEach(() => { - element = createElement('c-dashboard-settings-card', { - is: DashboardSettingsCard, - }); - - element.index = 0; - element.card = { - index: 1, - title: 'card title', - object: { label: 'Account' }, - filter: { - conditionLogic: 'AND', - subFilters: [ - { - key: 'rwn1ft', - fieldDisplay: 'Time Sheet End Date', - value: '', - unitDisplay: 'days', - quantity: '14', - operatorDisplay: 'last', - }, - { - key: '131fda', - fieldDisplay: 'Time Sheet Start Date', - value: '', - unitDisplay: 'weeks', - quantity: '1', - operatorDisplay: 'last', - }, - ], - }, - subFilters: [ - { - key: 'rwn1fa', - fieldDisplay: 'Time Sheet End Date', - value: '', - unitDisplay: 'days', - quantity: '14', - operatorDisplay: 'last', - }, - { - key: '131fdb', - fieldDisplay: 'Time Sheet Start Date', - value: '', - unitDisplay: 'weeks', - quantity: '1', - operatorDisplay: 'last', - }, - ], - layout: 'SIDE', - }; - element.handleEditCardClick = jest.fn(); - element.moveCardUp = jest.fn(); - element.moveCardDown = jest.fn(); - element.duplicateCard = jest.fn(); - element.deleteCard = jest.fn(); - - document.body.appendChild(element); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('should have correct title', () => { - const title = element.shadowRoot.querySelector('.title'); - expect(title.textContent).toBe(`1card title`); - }); - - it('should have correct criteria text', () => { - const filterSection = element.shadowRoot.querySelectorAll('.details-section')[1]; - const text = filterSection.textContent - .replace('c.MobileDashboard_card_filter_title', 'Filter') - .replace('c.MobileDashboard_settings_card_display_logic_and', 'AND'); - expect(text).toBe( - `FilterTime Sheet End Date last 14 daysAND\u00A0\u00A0\u00A0Time Sheet Start Date last 1 weeks` - ); - }); - - it('should call moveCardUp when edit clicked', async () => { - const actionGroup = element.shadowRoot.querySelectorAll('lightning-button-group')[0]; - const action = actionGroup.querySelectorAll('lightning-button-icon')[0]; - action.click(); - return Promise.resolve().then(() => { - expect(element.moveCardUp).toHaveBeenCalled(); - }); - }); - - it('should call moveCardDown when edit clicked', async () => { - const actionGroup = element.shadowRoot.querySelectorAll('lightning-button-group')[0]; - const action = actionGroup.querySelectorAll('lightning-button-icon')[1]; - action.click(); - return Promise.resolve().then(() => { - expect(element.moveCardDown).toHaveBeenCalled(); - }); - }); - - it('should call handleEditCardClick when edit clicked', async () => { - const actionGroup = element.shadowRoot.querySelectorAll('lightning-button-group')[1]; - const action = actionGroup.querySelector('lightning-button'); - action.click(); - return Promise.resolve().then(() => { - expect(element.handleEditCardClick).toHaveBeenCalled(); - }); - }); - - it('should call duplicateCard when duplicate clicked', async () => { - const action = element.shadowRoot.querySelectorAll('lightning-menu-item')[0]; - action.click(); - return Promise.resolve().then(() => { - expect(element.duplicateCard).toHaveBeenCalled(); - }); - }); - - it('should call deleteCard when delete clicked', async () => { - const action = element.shadowRoot.querySelectorAll('lightning-menu-item')[1]; - action.click(); - return Promise.resolve().then(() => { - expect(element.deleteCard).toHaveBeenCalled(); - }); - }); -}); diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.css b/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.css deleted file mode 100644 index bfc1666..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.css +++ /dev/null @@ -1,89 +0,0 @@ -lightning-card { - width: 100%; -} - -.card-details { - width: 100%; - border: 1px solid #C9C9C9; - border-radius: 0.25rem; - margin-bottom: 16px; -} - -.details-header { - width: 100%; - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - padding: 12px; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-top-left-radius: 4px; - border-top-right-radius: 4px; -} - -.title { - display: flex; - flex-direction: row; - align-items: center; - font-size: 16px; -} - -.number { - width: 32px; - height: 32px; - border-radius: 16px; - background-color: #D8E6FE; - display: flex; - align-items: center; - justify-content: center; - margin-right: 16px; -} - -.number p { - font-weight: 700; - font-size: 18px; - line-height: 27px; -} - -lightning-button-menu { - background: white; - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -.details-body { - display: flex; - flex-direction: row; - justify-content: space-between; - padding: 16px; -} - -.details { - display: flex; - flex-direction: column; -} - -.details-section { - margin-bottom: 16px; -} - -h3 { - font-size: 12px; - font-weight: 700; - line-height: 23px; - margin-bottom: 8px; -} - -.details-section p { - font-size: 13px; - line-height: 20px; -} - -.preview { - width: 370px; -} - -lightning-helptext { - margin-left: 8px; -} \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.html b/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.html deleted file mode 100644 index 618b09c..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.html +++ /dev/null @@ -1,61 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.js-meta.xml b/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/labels.js b/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/labels.js deleted file mode 100644 index 966e7f5..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/labels.js +++ /dev/null @@ -1,29 +0,0 @@ -import MobileDashboard_settings_card_edit_button from '@salesforce/label/c.MobileDashboard_settings_card_edit_button'; -import MobileDashboard_settings_duplicate_button from '@salesforce/label/c.MobileDashboard_settings_duplicate_button'; -import MobileDashboard_settings_delete_button from '@salesforce/label/c.MobileDashboard_settings_delete_button'; -import MobileDashboard_settings_card_arrow_move_up from '@salesforce/label/c.MobileDashboard_settings_card_arrow_move_up'; -import MobileDashboard_settings_card_arrow_move_dn from '@salesforce/label/c.MobileDashboard_settings_card_arrow_move_dn'; -import MobileDashboard_settings_card_arrow_more_options from '@salesforce/label/c.MobileDashboard_settings_card_arrow_more_options'; -import MobileDashboard_card_object_field from '@salesforce/label/c.MobileDashboard_card_object_field'; -import MobileDashboard_card_filter_title from '@salesforce/label/c.MobileDashboard_card_filter_title'; -import MobileDashboard_preview_title from '@salesforce/label/c.MobileDashboard_preview_title'; -import MobileDashboard_preview_title_infobubble from '@salesforce/label/c.MobileDashboard_preview_title_infobubble'; -import MobileDashboard_settings_card_display_logic_and from '@salesforce/label/c.MobileDashboard_settings_card_display_logic_and'; -import MobileDashboard_settings_card_display_logic_or from '@salesforce/label/c.MobileDashboard_settings_card_display_logic_or'; - -const customLabels = { - MobileDashboard_settings_card_edit_button, - MobileDashboard_settings_duplicate_button, - MobileDashboard_settings_delete_button, - MobileDashboard_settings_card_arrow_move_up, - MobileDashboard_settings_card_arrow_move_dn, - MobileDashboard_settings_card_arrow_more_options, - MobileDashboard_card_object_field, - MobileDashboard_card_filter_title, - MobileDashboard_preview_title, - MobileDashboard_preview_title_infobubble, - MobileDashboard_settings_card_display_logic_and, - MobileDashboard_settings_card_display_logic_or, -}; - -export default customLabels; diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/__tests__/dashboardSettingsMain.test.js b/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/__tests__/dashboardSettingsMain.test.js deleted file mode 100644 index 3f436ed..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/__tests__/dashboardSettingsMain.test.js +++ /dev/null @@ -1,172 +0,0 @@ -import { createElement } from 'lwc'; -import DashboardSettingsMain from 'c/dashboardSettingsMain'; -import { graphql } from 'lightning/uiGraphQLApi'; - -jest.mock( - '@salesforce/apex/DashboardSettingsService.getAllObjLabels', - () => { - return { - default: jest.fn(() => ({ - Asset: 'Asset', - ServiceAppointment: 'Service Appointment', - })), - }; - }, - { virtual: true } -); - -jest.mock( - '@salesforce/apex/DashboardSettingsService.insertNewCard', - () => { - return { - default: jest.fn(() => 1), - }; - }, - { virtual: true } -); - -jest.mock( - '@salesforce/apex/DashboardSettingsService.updateCardsOrder', - () => { - return { - default: jest.fn(), - }; - }, - { virtual: true } -); - -let element; -describe('c-dashboard-settings-main', () => { - beforeEach(() => { - element = createElement('c-dashboard-settings-main', { - is: DashboardSettingsMain, - }); - - document.body.appendChild(element); - - graphql.emit({ - uiapi: { - query: { - Mobile_Dashboard_Setting__c: { - edges: [ - { - node: { - Id: 'a0oRO0000005xCYYAY', - Object_Name__c: { - value: 'ServiceAppointment', - }, - Title__c: { - value: 'My Upcoming Service Appointments', - }, - Main_Filter__c: { - value: - '[{"key":"hog03n","field":"SchedStartTime","fieldDisplay":"Scheduled Start","fieldType":"DATETIME","operator":"last","value":"","unit":"month","unitDisplay":"months","quantity":"16","label":"","icon":"","color":"#747474","operatorDisplay":"last"}]', - }, - Main_Filter_Logic__c: { - value: 'AND', - }, - Custom_Logic__c: { - value: null, - }, - Layout__c: { - value: 'STACK', - }, - Sub_Filters__c: { - value: - '[{"key":"hhrget","field":"Status","fieldDisplay":"Status","fieldType":"PICKLIST","operator":"eq","operatorDisplay":"=","value":"Scheduled","unit":"","unitDisplay":"","quantity":"","label":"Scheduled","icon":"utility:clock","color":"#747474"},{"key":"le98t2","field":"Status","fieldDisplay":"Status","fieldType":"PICKLIST","operator":"eq","operatorDisplay":"=","value":"Canceled","unit":"","unitDisplay":"","quantity":"","label":"Canceled","icon":"utility:warning","color":"#8C4B02"},{"key":"6ze7fr","field":"Status","fieldDisplay":"Status","fieldType":"PICKLIST","operator":"eq","operatorDisplay":"=","value":"Completed","unit":"","unitDisplay":"","quantity":"","label":"Completed","icon":"utility:success","color":"#2E844A"}]', - }, - Order__c: { - value: 0, - }, - }, - }, - { - node: { - Id: 'a0oRO0000005xHjYAI', - Object_Name__c: { - value: 'Asset', - }, - Title__c: { - value: 'My Asset', - }, - Main_Filter__c: { - value: '[]', - }, - Main_Filter_Logic__c: { - value: 'OR', - }, - Custom_Logic__c: { - value: null, - }, - Layout__c: { - value: 'SIDE', - }, - Sub_Filters__c: { - value: - '[{"key":"pzlqyw","field":"Name","fieldDisplay":"Asset Name","fieldType":"STRING","operator":"eq","value":"ABC","unit":"","unitDisplay":"","quantity":"","label":"ABC","icon":"","color":"#747474","operatorDisplay":"="},{"key":"bmu42o","field":"Name","fieldDisplay":"Asset Name","fieldType":"STRING","operator":"eq","value":"DEF","unit":"","unitDisplay":"","quantity":"","label":"DEF","icon":"","color":"#747474","operatorDisplay":"="},{"key":"se7sdp","field":"Name","fieldDisplay":"Asset Name","fieldType":"STRING","operator":"like","value":"Asset","unit":"","unitDisplay":"","quantity":"","label":"None","icon":"","color":"#747474","operatorDisplay":"contains"}]', - }, - Order__c: { - value: 1, - }, - }, - }, - ], - }, - }, - }, - }); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('should have 2 cards', () => { - const cards = element.shadowRoot.querySelectorAll('c-dashboard-settings-card'); - expect(cards).toHaveLength(2); - }); - - it('should switch cards on moveCardUp called for second card', async () => { - const card0 = element.shadowRoot.querySelectorAll('c-dashboard-settings-card')[0]; - const card1 = element.shadowRoot.querySelectorAll('c-dashboard-settings-card')[1]; - - element.moveCardUp(1); - return Promise.resolve().then(() => { - expect(card0.index).toBe(1); - expect(card1.index).toBe(0); - }); - }); - - it('should switch cards on moveCardDown called for first card', async () => { - const card0 = element.shadowRoot.querySelectorAll('c-dashboard-settings-card')[0]; - const card1 = element.shadowRoot.querySelectorAll('c-dashboard-settings-card')[1]; - - element.moveCardDown(0); - return Promise.resolve().then(() => { - expect(card0.index).toBe(1); - expect(card1.index).toBe(0); - }); - }); - - it('should have 3 cards after duplicating', async () => { - element.duplicateCard(0); - return Promise.resolve().then(async () => { - return Promise.resolve().then(() => { - const cards = element.shadowRoot.querySelectorAll('c-dashboard-settings-card'); - expect(cards).toHaveLength(3); - }); - }); - }); - - it('should not duplicate if index is invalid', async () => { - element.duplicateCard(-1); - return Promise.resolve().then(async () => { - return Promise.resolve().then(() => { - const cards = element.shadowRoot.querySelectorAll('c-dashboard-settings-card'); - expect(cards).toHaveLength(2); - }); - }); - }); -}); diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.css b/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.css deleted file mode 100644 index 9c8b989..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.css +++ /dev/null @@ -1,38 +0,0 @@ -.dashboard-settings-page-main-container { - max-width: 1300px; -} - -c-dashboard-toast-message { - position: fixed; - left: 35%; - z-index: 5; -} - -.header-icon { - margin-right: 12px; -} - -lightning-card { - width: 100%; -} - -.main-card { - padding: 24px; -} - -.settings-description { - margin-bottom: 16px; -} - -.settings-description p { - font-size: 13px; - line-height: 20px; - color: #444444; -} - -.settings-description h1 { - font-size: 16px; - line-height: 24px; - margin-bottom: 8px; - color: #181818; -} diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.html b/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.html deleted file mode 100644 index b657232..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.html +++ /dev/null @@ -1,56 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.js b/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.js deleted file mode 100644 index b35bc55..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.js +++ /dev/null @@ -1,263 +0,0 @@ -import { LightningElement, wire, api } from 'lwc'; -import getAllObjects from '@salesforce/apex/DashboardSettingsService.getAllObjects'; -import insertNewCard from '@salesforce/apex/DashboardSettingsService.insertNewCard'; -import updateCard from '@salesforce/apex/DashboardSettingsService.updateCard'; -import deleteCard from '@salesforce/apex/DashboardSettingsService.deleteCard'; -import updateCardsOrder from '@salesforce/apex/DashboardSettingsService.updateCardsOrder'; -import getAllObjLabels from '@salesforce/apex/DashboardSettingsService.getAllObjLabels'; -import { gql, graphql } from 'lightning/uiGraphQLApi'; -import EditCardModal from 'c/editCardModal'; -import AlertMessage from 'c/alertMessage'; -import overrideCSS from './overrideCSS'; -import customLabels from './labels'; - -export default class DashboardSettingsMain extends LightningElement { - LABELS = customLabels; - dashboardCards = []; - - EMPTY_CARD = { - key: '', - title: '', - object: { value: '', label: '' }, - filter: { - conditionLogic: '', - subFilters: [], - customLogic: '', - }, - layout: 'SIDE', - subFilters: [ - { key: '', field: '', operator: '', value: '', color: '#747474', label: '', icon: '' }, - ], - }; - - objectsOptions = []; - toastService; - GET_DASHBOARD_SETTINGS_QRY = ''; - - async connectedCallback() { - const myStyle = document.createElement('style'); - myStyle.innerHTML = overrideCSS; - document.head.appendChild(myStyle); - - this.GET_DASHBOARD_SETTINGS_QRY = gql` - ${this.getDashboardQuery()} - `; - - const allObjects = await getAllObjects(); - this.objectsOptions = allObjects?.sort((f1, f2) => (f1.label < f2.label ? -1 : 1)) ?? []; - } - - renderedCallback() { - this.toastService = this.template.querySelector('c-dashboard-toast-message'); - } - - getDashboardQuery() { - return `query GetAllDashboardSettings { - uiapi { - query { - Mobile_Dashboard_Setting__c { - edges { - node { - Id, - Object_Name__c { - value - } - Title__c { - value - } - Main_Filter__c { - value - } - Main_Filter_Logic__c { - value - } - Custom_Logic__c { - value - } - Layout__c { - value - } - Sub_Filters__c { - value - } - Order__c { - value - } - } - } - } - } - } - }`; - } - - @wire(graphql, { - query: '$GET_DASHBOARD_SETTINGS_QRY', - }) - GetAllDashboardSettings({ data, errors }) { - if (data) { - const dbDashboardSettings = data?.uiapi?.query['Mobile_Dashboard_Setting__c']?.edges; - this.buildDashboardCards(dbDashboardSettings); - } - if (errors) { - console.log(JSON.stringify(errors)); - } - } - - get loading() { - return !this.objectsOptions?.length; - } - - handleEditCardClick = (index) => { - this.openEditCardModal(true, index); - }; - - handleAddCardClick = () => { - this.openEditCardModal(false); - }; - - @api moveCardUp = (ind) => { - this.moveCardFromTo(ind, ind - 1); - }; - - @api moveCardDown = (ind) => { - this.moveCardFromTo(ind, ind + 1); - }; - - moveCardFromTo = async (from, to) => { - const card = this.dashboardCards[from]; - this.dashboardCards.splice(from, 1); - this.dashboardCards.splice(to, 0, card); - this.dashboardCards = [...this.dashboardCards]; - await updateCardsOrder({ cardsIds: this.dashboardCards.map((c) => c.Id) }); - }; - - @api duplicateCard = async (ind) => { - try { - const card = this.dashboardCards[ind]; - const newCard = { ...card, key: this.generateUniqueID() }; - const Id = await insertNewCard({ data: this.buildDataForServer(newCard) }); - this.dashboardCards.splice(ind + 1, 0, { ...newCard, Id }); - this.dashboardCards = [...this.dashboardCards]; - await updateCardsOrder({ cardsIds: this.dashboardCards.map((c) => c.Id) }); - } catch (error) { - console.log(JSON.stringify(error)); - this.toastService.showToast( - 'error', - this.LABELS.MobileDashboard_settings_error_duplicate_card - ); - } - }; - - deleteCard = async (ind) => { - const toDelete = await AlertMessage.open({ - size: 'small', - modalTitle: this.LABELS.MobileDashboard_settings_delete_card_warning_title, - message: this.LABELS.MobileDashboard_settings_delete_card_warning_body, - discardButtonText: this.LABELS.MobileDashboard_settings_cancel_button, - isDeleteMsg: true, - }); - - if (toDelete) { - try { - await deleteCard({ Id: this.dashboardCards[ind].Id }); - this.dashboardCards.splice(ind, 1); - this.dashboardCards = [...this.dashboardCards]; - await updateCardsOrder({ cardsIds: this.dashboardCards.map((c) => c.Id) }); - } catch (error) { - console.log(JSON.stringify(error)); - this.toastService.showToast( - 'error', - this.LABELS.MobileDashboard_settings_error_delete_card - ); - } - } - }; - - openEditCardModal = async (isEdit, cardIndex) => { - const result = await EditCardModal.open({ - size: 'medium', - modalTitle: isEdit - ? this.LABELS.MobileDashboard_settings_edit_card_modal_title - : this.LABELS.MobileDashboard_settings_new_card_modal_title, - objectsOptions: this.objectsOptions, - card: this.dashboardCards[cardIndex] ?? { ...this.EMPTY_CARD, key: this.generateUniqueID() }, - generateUniqueID: this.generateUniqueID, - }); - - if (result) { - try { - const data = this.buildDataForServer(result, cardIndex); - if (isEdit) { - await updateCard({ Id: result.Id, data }); - this.dashboardCards[cardIndex] = result; - this.dashboardCards = [...this.dashboardCards]; - } else { - const Id = await insertNewCard({ data }); - this.dashboardCards = [...this.dashboardCards, { Id, ...result }]; - } - } catch (error) { - console.log(JSON.stringify(error)); - this.toastService.showToast( - 'error', - isEdit - ? this.LABELS.MobileDashboard_settings_error_save_card - : this.LABELS.MobileDashboard_settings_error_add_card - ); - } - } - }; - - async buildDashboardCards(dbDashboardSettings) { - const objLabels = await this.getAllObjLabels(dbDashboardSettings); - dbDashboardSettings?.forEach((settings) => { - settings = settings.node; - const mainFilter = JSON.parse(settings.Main_Filter__c.value); - const subFilters = JSON.parse(settings.Sub_Filters__c.value); - this.dashboardCards[settings.Order__c.value] = { - Id: settings.Id, - key: this.generateUniqueID(), - title: settings.Title__c.value, - object: { - value: settings.Object_Name__c.value, - label: objLabels[settings.Object_Name__c.value], - }, - filter: { - conditionLogic: settings.Main_Filter_Logic__c.value, - subFilters: mainFilter.map((sf) => ({ - key: this.generateUniqueID(), - ...sf, - })), - customLogic: settings.Custom_Logic__c.value, - }, - layout: settings.Layout__c.value, - subFilters: subFilters.map((sf) => ({ - key: this.generateUniqueID(), - ...sf, - })), - }; - }); - this.dashboardCards = [...this.dashboardCards]; - } - - async getAllObjLabels(dbDashboardSettings) { - const allApiNames = dbDashboardSettings?.map((s) => s.node.Object_Name__c.value); - const labels = await getAllObjLabels({ apiNames: allApiNames }); - return labels; - } - - buildDataForServer = (data, cardIndex) => ({ - customLogic: data.filter.customLogic, - layout: data.layout, - mainFilterLogic: data.filter.conditionLogic, - mainFilter: JSON.stringify(data.filter.subFilters), - objectName: data.object.value, - index: cardIndex ?? this.dashboardCards.length, - subFilters: JSON.stringify(data.subFilters), - title: data.title, - }); - - generateUniqueID() { - return Math.random().toString(36).substring(2, 8); - } -} diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/labels.js b/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/labels.js deleted file mode 100644 index 5bc8090..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/labels.js +++ /dev/null @@ -1,31 +0,0 @@ -import MobileDashboard_settings_header from '@salesforce/label/c.MobileDashboard_settings_header'; -import MobileDashboard_settings_title from '@salesforce/label/c.MobileDashboard_settings_title'; -import MobileDashboard_settings_description from '@salesforce/label/c.MobileDashboard_settings_description'; -import MobileDashboard_settings_add_card_button from '@salesforce/label/c.MobileDashboard_settings_add_card_button'; -import MobileDashboard_settings_cancel_button from '@salesforce/label/c.MobileDashboard_settings_cancel_button'; -import MobileDashboard_settings_delete_card_warning_title from '@salesforce/label/c.MobileDashboard_settings_delete_card_warning_title'; -import MobileDashboard_settings_new_card_modal_title from '@salesforce/label/c.MobileDashboard_settings_new_card_modal_title'; -import MobileDashboard_settings_delete_card_warning_body from '@salesforce/label/c.MobileDashboard_settings_delete_card_warning_body'; -import MobileDashboard_settings_edit_card_modal_title from '@salesforce/label/c.MobileDashboard_settings_edit_card_modal_title'; -import MobileDashboard_settings_error_add_card from '@salesforce/label/c.MobileDashboard_settings_error_add_card'; -import MobileDashboard_settings_error_save_card from '@salesforce/label/c.MobileDashboard_settings_error_save_card'; -import MobileDashboard_settings_error_delete_card from '@salesforce/label/c.MobileDashboard_settings_error_delete_card'; -import MobileDashboard_settings_error_duplicate_card from '@salesforce/label/c.MobileDashboard_settings_error_duplicate_card'; - -const customLabels = { - MobileDashboard_settings_header, - MobileDashboard_settings_title, - MobileDashboard_settings_description, - MobileDashboard_settings_add_card_button, - MobileDashboard_settings_cancel_button, - MobileDashboard_settings_delete_card_warning_title, - MobileDashboard_settings_new_card_modal_title, - MobileDashboard_settings_delete_card_warning_body, - MobileDashboard_settings_edit_card_modal_title, - MobileDashboard_settings_error_add_card, - MobileDashboard_settings_error_save_card, - MobileDashboard_settings_error_delete_card, - MobileDashboard_settings_error_duplicate_card, -}; - -export default customLabels; diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/__tests__/dashboardToastMessage.test.js b/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/__tests__/dashboardToastMessage.test.js deleted file mode 100644 index aa775b8..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/__tests__/dashboardToastMessage.test.js +++ /dev/null @@ -1,46 +0,0 @@ -import { createElement } from 'lwc'; -import DashboardToastMessage from 'c/dashboardToastMessage'; - -let element; -describe('c-dashboard-toast-message', () => { - beforeEach(() => { - element = createElement('c-dashboard-toast-message', { - is: DashboardToastMessage, - }); - - document.body.appendChild(element); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('adds and removes a message to DOM', async () => { - jest.useFakeTimers(); - element.showToast('error', 'the message'); - return Promise.resolve().then(async () => { - let toasts = element.shadowRoot.querySelectorAll('.slds-notify_toast'); - expect(toasts).toHaveLength(1); - - jest.runAllTimers(); - return Promise.resolve().then(() => { - toasts = element.shadowRoot.querySelectorAll('.slds-notify_toast'); - expect(toasts).toHaveLength(0); - }); - }); - }); - - it('removes the message on close click', async () => { - element.showToast('error', 'the message'); - return Promise.resolve().then(async () => { - const close = element.shadowRoot.querySelector('lightning-button-icon'); - close.click(); - return Promise.resolve().then(() => { - const toasts = element.shadowRoot.querySelectorAll('.slds-notify_toast'); - expect(toasts).toHaveLength(0); - }); - }); - }); -}); diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.html b/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.html deleted file mode 100644 index 001ec97..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.html +++ /dev/null @@ -1,39 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.js-meta.xml b/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/editCardModal/__tests__/editCardModal.test.js b/MobileDashboard/force-app/main/default/lwc/editCardModal/__tests__/editCardModal.test.js deleted file mode 100644 index 90f5de5..0000000 --- a/MobileDashboard/force-app/main/default/lwc/editCardModal/__tests__/editCardModal.test.js +++ /dev/null @@ -1,265 +0,0 @@ -import { createElement } from 'lwc'; -import EditCardModal from 'c/editCardModal'; - -jest.mock( - '@salesforce/apex/DashboardSettingsService.getAllFields', - () => { - return { - default: jest.fn(() => [{ value: 'AccountName', label: 'Account Name' }]), - }; - }, - { virtual: true } -); - -let element; -let tabset; - -describe('c-edit-card-modal', () => { - beforeEach(() => { - element = createElement('c-edit-card-modal', { - is: EditCardModal, - }); - - element.objectsOptions = [ - { label: 'Account', value: 'Account' }, - { label: 'Contact', value: 'Contact' }, - ]; - element.generateUniqueID = jest.fn(() => 'abc'); - element.close = jest.fn(); - element.card = { - index: 1, - title: 'card title', - object: { label: 'Account', value: 'Account' }, - filter: { - conditionLogic: 'AND', - subFilters: [ - { - key: 'rwn1ft', - fieldDisplay: 'Time Sheet End Date', - value: '', - unitDisplay: 'days', - quantity: '14', - operatorDisplay: 'last', - }, - { - key: '131fda', - fieldDisplay: 'Time Sheet Start Date', - value: '', - unitDisplay: 'weeks', - quantity: '1', - operatorDisplay: 'last', - }, - ], - }, - subFilters: [ - { - key: 'rwn1fa', - fieldDisplay: 'Time Sheet End Date', - value: '', - unitDisplay: 'days', - quantity: '14', - operatorDisplay: 'last', - }, - { - key: '131fdb', - fieldDisplay: 'Time Sheet Start Date', - value: '', - unitDisplay: 'weeks', - quantity: '1', - operatorDisplay: 'last', - }, - ], - layout: 'SIDE', - }; - - document.body.appendChild(element); - - tabset = element.shadowRoot.querySelector('lightning-tabset'); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('closes modal on cancel', async () => { - const cancel = element.shadowRoot.querySelectorAll('lightning-button')[0]; - cancel.click(); - return Promise.resolve().then(() => { - expect(element.close).toHaveBeenCalled(); - }); - }); - - it('closes modal on save', async () => { - const title = element.shadowRoot.querySelector('.name-field-input'); - const obj = element.shadowRoot.querySelector('.object-combobox'); - - title.validity = { valid: true }; - obj.validity = { valid: true }; - - const basicFilters = element.shadowRoot.querySelectorAll('c-basic-filter'); - basicFilters.forEach((bf) => { - bf.checkValidation = () => true; - }); - - const subFilters = element.shadowRoot.querySelectorAll('c-sub-filter-card'); - subFilters.forEach((sf) => { - sf.checkValidation = () => true; - }); - - const save = element.shadowRoot.querySelectorAll('lightning-button')[1]; - save.click(); - return Promise.resolve().then(() => { - expect(element.close).toHaveBeenCalled(); - }); - }); - - it('leaves modal open on save with invalid fields', async () => { - const title = element.shadowRoot.querySelector('.name-field-input'); - const obj = element.shadowRoot.querySelector('.object-combobox'); - - title.validity = { valid: false }; - obj.validity = { valid: false }; - - const basicFilters = element.shadowRoot.querySelectorAll('c-basic-filter'); - basicFilters.forEach((bf) => { - bf.checkValidation = () => false; - }); - - const subFilters = element.shadowRoot.querySelectorAll('c-sub-filter-card'); - subFilters.forEach((sf) => { - sf.checkValidation = () => false; - }); - - const save = element.shadowRoot.querySelectorAll('lightning-button')[1]; - save.click(); - return Promise.resolve().then(() => { - expect(element.close).not.toHaveBeenCalled(); - }); - }); - - it('clears main conditions when changing object', async () => { - let conditions = element.shadowRoot.querySelectorAll('.condition'); - expect(conditions).toHaveLength(2); - - const objectCombobox = element.shadowRoot.querySelector('.object-combobox'); - objectCombobox.value = 'Contact'; - objectCombobox.dispatchEvent(new Event('change')); - return Promise.resolve().then(() => { - conditions = element.shadowRoot.querySelectorAll('.condition'); - expect(conditions).toHaveLength(0); - }); - }); - - it('empties field options when changing to null object', async () => { - expect(element.fieldsOptions).toHaveLength(1); - - const objectCombobox = element.shadowRoot.querySelector('.object-combobox'); - objectCombobox.value = ''; - objectCombobox.dispatchEvent(new Event('change')); - return Promise.resolve().then(() => { - expect(element.fieldsOptions).toHaveLength(0); - }); - }); - - it('does not clear main conditions when changing condition logic', async () => { - let conditions = element.shadowRoot.querySelectorAll('.condition'); - expect(conditions).toHaveLength(2); - - const conditionCombobox = element.shadowRoot.querySelector('.condition-combobox'); - conditionCombobox.value = 'OR'; - conditionCombobox.dispatchEvent(new Event('change')); - return Promise.resolve().then(() => { - conditions = element.shadowRoot.querySelectorAll('.condition'); - expect(conditions).toHaveLength(2); - }); - }); - - it('adds condition on handleAddConditionClick call', async () => { - let conditions = element.shadowRoot.querySelectorAll('.condition'); - expect(conditions).toHaveLength(2); - - element.handleAddConditionClick(); - return Promise.resolve().then(() => { - conditions = element.shadowRoot.querySelectorAll('.condition'); - expect(conditions).toHaveLength(3); - }); - }); - - it('removes condition when delete clicked', async () => { - let conditions = element.shadowRoot.querySelectorAll('.condition'); - expect(conditions).toHaveLength(2); - - const deleteButton = element.shadowRoot.querySelector('.condition lightning-button-icon'); - deleteButton.click(); - return Promise.resolve().then(() => { - conditions = element.shadowRoot.querySelectorAll('.condition'); - expect(conditions).toHaveLength(1); - }); - }); - - describe('tests details tab', () => { - beforeEach(() => { - tabset.activeTabValue = 'details-tab'; - }); - - it('add sub filter on handleAddSubFilterClick call', async () => { - let subFilters = element.shadowRoot.querySelectorAll('c-sub-filter-card'); - expect(subFilters).toHaveLength(2); - - element.handleAddSubFilterClick(); - return Promise.resolve().then(() => { - subFilters = element.shadowRoot.querySelectorAll('c-sub-filter-card'); - expect(subFilters).toHaveLength(3); - }); - }); - - it('add sub filter on duplicateSubFilter call', async () => { - let subFilters = element.shadowRoot.querySelectorAll('c-sub-filter-card'); - expect(subFilters).toHaveLength(2); - - element.duplicateSubFilter(0); - return Promise.resolve().then(() => { - subFilters = element.shadowRoot.querySelectorAll('c-sub-filter-card'); - expect(subFilters).toHaveLength(3); - }); - }); - }); - - it('reorders sub filters on drag', async () => { - const firstSubFilter = element.shadowRoot.querySelectorAll('c-sub-filter-card')[0]; - const secondSubFilter = element.shadowRoot.querySelectorAll('c-sub-filter-card')[1]; - - const eStart = new Event('dragstart'); - const eEnter = new Event('dragenter'); - const eEnd = new Event('dragend'); - const eDrop = new Event('drop'); - secondSubFilter.dispatchEvent(eStart); - firstSubFilter.dispatchEvent(eEnter); - secondSubFilter.dispatchEvent(eEnd); - secondSubFilter.dispatchEvent(eDrop); - - return Promise.resolve().then(() => { - expect(firstSubFilter.index).toBe(1); - expect(secondSubFilter.index).toBe(0); - }); - }); - - it('does not reorder sub filters if entering with a filter to itself', async () => { - const firstSubFilter = element.shadowRoot.querySelectorAll('c-sub-filter-card')[0]; - - const eStart = new Event('dragstart'); - const eEnter = new Event('dragenter'); - const eEnd = new Event('dragend'); - const eDrop = new Event('drop'); - firstSubFilter.dispatchEvent(eStart); - firstSubFilter.dispatchEvent(eEnter); - firstSubFilter.dispatchEvent(eEnd); - firstSubFilter.dispatchEvent(eDrop); - - return Promise.resolve().then(() => { - expect(firstSubFilter.index).toBe(0); - }); - }); -}); diff --git a/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.css b/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.css deleted file mode 100644 index fa13365..0000000 --- a/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.css +++ /dev/null @@ -1,150 +0,0 @@ -.layout-container { - display: flex; - flex-direction: column; -} - -.layout-comp { - flex: 1; -} - -.not-last { - margin-right: 38px; -} - -.layout-text { - flex: 1; -} - -.layout-img { - flex: 3; -} - -.card-layout-container { - display: flex; -} - -.layout-radio-container { - display: flex; - flex-direction: row; -} - -.layout-radio { - display: flex; - flex-direction: column; - margin-right: 60px; -} - -.sub-filters-container { - display: flex; - flex-direction: column; -} - -lightning-helptext { - margin-left: 8px; -} - -h1 { - font-size: 14px; - line-height: 24px; - font-weight: 700; - color: #181818; - margin-bottom: 16px; -} - -h2 { - font-size: 12px; - line-height: 18px; - font-weight: 700; - color: #444444; - margin-bottom: 16px; -} - -p { - font-size: 13px; - line-height: 20px; - color: #444444; - margin-bottom: 16px; -} - -.bold-p { - font-weight: 700; -} - -.card-data-title { - margin-bottom: 0; -} - -.card-props { - display: flex; - flex-direction: row; - justify-content: space-evenly; - margin-bottom: 16px; -} - -.card-props lightning-input, -.card-props lightning-combobox { - width: 100%; -} - -.card-props lightning-input { - margin-right: 16px; -} - -.obj-filter { - display: flex; - flex-direction: column; - justify-content: space-between; - background-color: #F3F3F3; - border: 1px solid #C9C9C9; - border-radius: 4px; - padding: 12px; -} - -.condition-combobox, c-basic-filter { - margin-bottom: 12px; -} - -.condition { - display: flex; - flex-direction: row; -} - -.logic-text { - width: 64px; - display: flex; - align-items: end; - justify-content: end; - margin-bottom: 12px; - margin-right: 16px; - font-weight: 700; - font-size: 14px; - line-height: 21px; -} - -c-basic-filter { - flex-grow: 1; -} - -.custom-logic-input { - margin: 12px 0; -} - -c-dashboard-add-button { - margin-top: 12px; -} - -lightning-button-icon { - background-color: white; - align-self: end; - margin-bottom: 12px; -} - -lightning-modal-footer lightning-button { - margin-left: 12px; -} - -.dragged { - border: 1px solid #032D60; - transition: 0.01s; - transform: translateX(-9999px); -} \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.html b/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.html deleted file mode 100644 index 65363af..0000000 --- a/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.html +++ /dev/null @@ -1,147 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.js b/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.js deleted file mode 100644 index 88b7767..0000000 --- a/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.js +++ /dev/null @@ -1,331 +0,0 @@ -import { api } from 'lwc'; -import LightningModal from 'lightning/modal'; -import AlertMessage from 'c/alertMessage'; -import getAllFields from '@salesforce/apex/DashboardSettingsService.getAllFields'; -import SIDE_EXAMPLE_SVG from '@salesforce/resourceUrl/side_example'; -import STACK_EXAMPLE_SVG from '@salesforce/resourceUrl/stack_example'; -import customLabels from './labels'; - -export default class EditCardModal extends LightningModal { - @api modalTitle; - @api objectsOptions; - @api card; - @api generateUniqueID; - LABELS = customLabels; - - @api fieldsOptions; - tempCard; - EMPTY_SUB_FILTER = { - key: '', - field: '', - fieldDisplay: '', - fieldType: '', - operator: '', - operatorDisplay: '', - value: '', - unit: '', - unitDisplay: '', - quantity: '', - label: '', - icon: '', - color: '#747474', - }; - - side_svg_url = `${SIDE_EXAMPLE_SVG}#side_example`; - stack_svg_url = `${STACK_EXAMPLE_SVG}#stack_example`; - - connectedCallback() { - this.tempCard = { ...this.card }; - this.refreshFieldsOptions(this.tempCard.object?.value); - } - - renderedCallback() { - this.detectSubFilterDrag(); - } - - handleCancelClick = () => { - this.close(); - }; - - handleSaveClick = () => { - if (this.checkValidation()) { - this.close(this.tempCard); - } - }; - - onTitleChange = (e) => { - this.tempCard.title = e.target.value; - }; - - onObjectComboChange = (e) => { - this.tempCard = { - ...this.tempCard, - object: { - value: e.target.value, - label: e.target.options.find((opt) => opt.value === e.detail?.value)?.label, - }, - filter: { - ...this.tempCard.filter, - subFilters: [], - }, - subFilters: [this.EMPTY_SUB_FILTER], - }; - - this.refreshFieldsOptions(this.tempCard.object?.value); - }; - - get conditionOptions() { - return [ - { label: this.LABELS.MobileDashboard_card_modal_details_filter_logic_and, value: 'AND' }, - { label: this.LABELS.MobileDashboard_card_modal_details_filter_logic_or, value: 'OR' }, - { - label: this.LABELS.MobileDashboard_card_modal_details_filter_logic_custom, - value: 'CUSTOM', - }, - ]; - } - - onConditionOptionsChange = (e) => { - let newCard = JSON.parse(JSON.stringify(this.tempCard)); - newCard.filter.conditionLogic = e.target.value; - this.tempCard = { ...newCard }; - }; - - onCustomLogicChange = (e) => { - let newCard = JSON.parse(JSON.stringify(this.tempCard)); - newCard.filter.customLogic = e.target.value; - this.tempCard = { ...newCard }; - }; - - onDesignTabSelected = async () => { - this.detectSubFilterDrag(); - }; - - onLayoutRadioChange = (e) => { - let newCard = JSON.parse(JSON.stringify(this.tempCard)); - newCard.layout = e.target.value; - this.tempCard = { ...newCard }; - }; - - @api handleAddConditionClick = () => { - let newCard = JSON.parse(JSON.stringify(this.tempCard)); - newCard.filter.subFilters.push({ ...this.EMPTY_SUB_FILTER, key: this.generateUniqueID() }); - this.tempCard = { ...newCard }; - }; - - @api handleAddSubFilterClick = () => { - let newCard = JSON.parse(JSON.stringify(this.tempCard)); - newCard.subFilters.push({ ...this.EMPTY_SUB_FILTER, key: this.generateUniqueID() }); - this.tempCard = { ...newCard }; - }; - - handleDeleteCondClick = (e) => { - const index = e.target.value; - let newCard = JSON.parse(JSON.stringify(this.tempCard)); - newCard.filter.subFilters.splice(index, 1); - this.tempCard = { ...newCard }; - }; - - updateSubFilter = (index, newVals) => { - let newCard = JSON.parse(JSON.stringify(this.tempCard)); - newCard.subFilters = newCard.subFilters ?? []; - newCard.subFilters[index] = { ...newCard.subFilters[index], ...newVals }; - this.tempCard = { ...newCard }; - }; - - @api duplicateSubFilter = (index) => { - let newCard = JSON.parse(JSON.stringify(this.tempCard)); - newCard.subFilters.splice(index + 1, 0, { - ...newCard.subFilters[index], - key: this.generateUniqueID(), - }); - this.tempCard = { ...newCard }; - }; - - @api deleteSubFilter = async (index) => { - const toDelete = await AlertMessage.open({ - size: 'small', - modalTitle: this.LABELS.MobileDashboard_settings_delete_sub_filter_warning_title, - message: this.LABELS.MobileDashboard_settings_delete_sub_filter_warning_body, - discardButtonText: this.LABELS.MobileDashboard_settings_cancel_button, - isDeleteMsg: true, - }); - - if (toDelete) { - let newCard = JSON.parse(JSON.stringify(this.tempCard)); - newCard.subFilters.splice(index, 1); - this.tempCard = { ...newCard }; - } - }; - - updateMainSubFilter = (index, newVals) => { - let newCard = JSON.parse(JSON.stringify(this.tempCard)); - newCard.filter.subFilters = newCard.filter?.subFilters ?? []; - newCard.filter.subFilters[index] = { ...newCard.filter.subFilters[index], ...newVals }; - this.tempCard = { ...newCard }; - }; - - async refreshFieldsOptions(obj) { - if (!obj) { - this.fieldsOptions = []; - return; - } - const allFields = await getAllFields({ obj }); - this.fieldsOptions = allFields.sort((f1, f2) => (f1.label < f2.label ? -1 : 1)); - } - - get loading() { - return !this.fieldsOptions; - } - - get subFilters() { - return this.tempCard?.subFilters ?? []; - } - - get mainSubFilters() { - let subFilters = this.tempCard?.filter?.subFilters ?? []; - subFilters = subFilters.map((s, i) => ({ ...s, displayText: this.getLogicDisplayText(i) })); - return subFilters; - } - - getLogicDisplayText(ind) { - if (this.isCustomLogic) return ind + 1; - if (ind === 0) return ''; - else return this.conditionLogicText; - } - - get isCustomLogic() { - return this.tempCard.filter.conditionLogic === 'CUSTOM'; - } - - get conditionLogicText() { - return this.tempCard.filter.conditionLogic === 'AND' - ? this.LABELS.MobileDashboard_card_modal_details_and_between_logic - : this.LABELS.MobileDashboard_card_modal_details_or_between_logic; - } - - get isLayoutSide() { - return this.tempCard.layout === 'SIDE'; - } - - get isLayoutStack() { - return this.tempCard.layout === 'STACK'; - } - - get disableConditionLogic() { - return !this.tempCard.object?.value; - } - - get disableAddCondition() { - return !this.tempCard.object?.value || !this.tempCard.filter.conditionLogic; - } - - detectSubFilterDrag = async () => { - const filters = this.template.querySelectorAll('c-sub-filter-card'); - if (filters.length !== this.tempCard.subFilters.length) { - setTimeout(() => { - this.detectSubFilterDrag(); - }, 500); - } - let dragged = -1; - let dest = -1; - filters.forEach((f) => { - f.ondragstart = (e) => { - dragged = e.target.index; - f.classList.add('dragged'); - }; - - f.ondragenter = (e) => { - for (let filter of filters) { - filter.removeDragDivider(); - } - if (dragged !== e.target.index) { - f.addDragDivider(); - dest = e.target.index; - } else { - dest = -1; - } - }; - - f.ondragend = () => { - for (let filter of filters) { - filter.removeDragDivider(); - } - f.classList.remove('dragged'); - f.disableDrag(); - }; - - f.ondragover = (e) => e.preventDefault(); - - f.ondrop = (e) => { - f.disableDrag(); - if (dragged > -1 && dest > -1) { - this.reorderSubFilters(dragged, dest); - } - }; - }); - }; - - reorderSubFilters = (oldInd, newInd) => { - if (oldInd < newInd) newInd--; - const filter = this.tempCard.subFilters[oldInd]; - let newCard = JSON.parse(JSON.stringify(this.tempCard)); - newCard.subFilters.splice(oldInd, 1); - newCard.subFilters.splice(newInd, 0, filter); - this.tempCard = { ...newCard }; - }; - - checkValidation() { - let isValid = true; - const tabset = this.template.querySelector('lightning-tabset'); - - // check title, object and custom logic (if shown) - const inputs = []; - inputs.push(this.template.querySelector('.name-field-input')); - inputs.push(this.template.querySelector('.object-combobox')); - - const customLogic = this.template.querySelector('.custom-logic-input'); - if (customLogic) inputs.push(this.template.querySelector('.custom-logic-input')); - - inputs.forEach((input) => { - if (!input.validity.valid) { - input.focus(); - input.blur(); - input.classList.add('slds-has-error'); - isValid = false; - tabset.activeTabValue = 'details-tab'; - } - }); - - // check main basic filters - const basicFilters = this.template.querySelectorAll('c-basic-filter'); - basicFilters.forEach((b) => { - if (!b.checkValidation()) { - isValid = false; - tabset.activeTabValue = 'details-tab'; - } - }); - - // check sub filters - const filters = this.template.querySelectorAll('c-sub-filter-card'); - filters.forEach((sub) => { - if (!sub.checkValidation()) { - if (isValid) tabset.activeTabValue = 'design-tab'; - isValid = false; - } - }); - - // need to check scenario where we haven't moved to the second tab (selector won't work because they're still hidden), - // and there could be an empty place-holder sub-filter - if (JSON.stringify(this.subFilters) === JSON.stringify([this.EMPTY_SUB_FILTER])) { - isValid = false; - tabset.activeTabValue = 'design-tab'; - setTimeout(() => { - const filter = this.template.querySelector('c-sub-filter-card'); - filter.checkValidation(); - }, 0); - } - - return isValid; - } -} diff --git a/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.js-meta.xml b/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/editCardModal/labels.js b/MobileDashboard/force-app/main/default/lwc/editCardModal/labels.js deleted file mode 100644 index af6e2cd..0000000 --- a/MobileDashboard/force-app/main/default/lwc/editCardModal/labels.js +++ /dev/null @@ -1,61 +0,0 @@ -import MobileDashboard_card_modal_details_tab_name from '@salesforce/label/c.MobileDashboard_card_modal_details_tab_name'; -import MobileDashboard_card_modal_details_name_field from '@salesforce/label/c.MobileDashboard_card_modal_details_name_field'; -import MobileDashboard_card_object_field from '@salesforce/label/c.MobileDashboard_card_object_field'; -import MobileDashboard_card_filter_title from '@salesforce/label/c.MobileDashboard_card_filter_title'; -import MobileDashboard_card_modal_details_filter_logic_field from '@salesforce/label/c.MobileDashboard_card_modal_details_filter_logic_field'; -import MobileDashboard_settings_select_placeholder from '@salesforce/label/c.MobileDashboard_settings_select_placeholder'; -import MobileDashboard_card_modal_details_filter_logic_and from '@salesforce/label/c.MobileDashboard_card_modal_details_filter_logic_and'; -import MobileDashboard_card_modal_details_filter_logic_or from '@salesforce/label/c.MobileDashboard_card_modal_details_filter_logic_or'; -import MobileDashboard_card_modal_details_filter_logic_custom from '@salesforce/label/c.MobileDashboard_card_modal_details_filter_logic_custom'; -import MobileDashboard_card_modal_details_custom_logic_field from '@salesforce/label/c.MobileDashboard_card_modal_details_custom_logic_field'; -import MobileDashboard_card_modal_details_add_condition_button from '@salesforce/label/c.MobileDashboard_card_modal_details_add_condition_button'; -import MobileDashboard_settings_save_button from '@salesforce/label/c.MobileDashboard_settings_save_button'; -import MobileDashboard_settings_cancel_button from '@salesforce/label/c.MobileDashboard_settings_cancel_button'; -import MobileDashboard_card_modal_design_tab_name from '@salesforce/label/c.MobileDashboard_card_modal_design_tab_name'; -import MobileDashboard_card_modal_design_tab_layout_title from '@salesforce/label/c.MobileDashboard_card_modal_design_tab_layout_title'; -import MobileDashboard_card_modal_design_tab_layout_side_title from '@salesforce/label/c.MobileDashboard_card_modal_design_tab_layout_side_title'; -import MobileDashboard_card_modal_design_tab_layout_side_description from '@salesforce/label/c.MobileDashboard_card_modal_design_tab_layout_side_description'; -import MobileDashboard_card_modal_design_tab_layout_stack_title from '@salesforce/label/c.MobileDashboard_card_modal_design_tab_layout_stack_title'; -import MobileDashboard_card_modal_design_tab_layout_stack_description from '@salesforce/label/c.MobileDashboard_card_modal_design_tab_layout_stack_description'; -import MobileDashboard_card_modal_design_tab_card_data_title from '@salesforce/label/c.MobileDashboard_card_modal_design_tab_card_data_title'; -import MobileDashboard_settings_delete_sub_filter_warning_title from '@salesforce/label/c.MobileDashboard_settings_delete_sub_filter_warning_title'; -import MobileDashboard_settings_delete_sub_filter_warning_body from '@salesforce/label/c.MobileDashboard_settings_delete_sub_filter_warning_body'; -import MobileDashboard_card_modal_design_tab_add_data_button from '@salesforce/label/c.MobileDashboard_card_modal_design_tab_add_data_button'; -import MobileDashboard_card_modal_details_filter_field_infobubble from '@salesforce/label/c.MobileDashboard_card_modal_details_filter_field_infobubble'; -import MobileDashboard_card_modal_details_remove_condition_button from '@salesforce/label/c.MobileDashboard_card_modal_details_remove_condition_button'; -import MobileDashboard_card_modal_details_custom_logic_field_infobubble from '@salesforce/label/c.MobileDashboard_card_modal_details_custom_logic_field_infobubble'; -import MobileDashboard_card_modal_details_and_between_logic from '@salesforce/label/c.MobileDashboard_card_modal_details_and_between_logic'; -import MobileDashboard_card_modal_details_or_between_logic from '@salesforce/label/c.MobileDashboard_card_modal_details_or_between_logic'; - -const customLabels = { - MobileDashboard_card_modal_details_tab_name, - MobileDashboard_card_modal_details_name_field, - MobileDashboard_card_object_field, - MobileDashboard_card_modal_details_filter_field_infobubble, - MobileDashboard_card_filter_title, - MobileDashboard_card_modal_details_filter_logic_field, - MobileDashboard_settings_select_placeholder, - MobileDashboard_card_modal_details_filter_logic_and, - MobileDashboard_card_modal_details_filter_logic_or, - MobileDashboard_card_modal_details_filter_logic_custom, - MobileDashboard_card_modal_details_custom_logic_field, - MobileDashboard_card_modal_details_add_condition_button, - MobileDashboard_settings_save_button, - MobileDashboard_settings_cancel_button, - MobileDashboard_card_modal_design_tab_name, - MobileDashboard_card_modal_design_tab_layout_title, - MobileDashboard_card_modal_design_tab_layout_side_title, - MobileDashboard_card_modal_design_tab_layout_side_description, - MobileDashboard_card_modal_design_tab_layout_stack_title, - MobileDashboard_card_modal_design_tab_layout_stack_description, - MobileDashboard_card_modal_design_tab_card_data_title, - MobileDashboard_settings_delete_sub_filter_warning_title, - MobileDashboard_settings_delete_sub_filter_warning_body, - MobileDashboard_card_modal_design_tab_add_data_button, - MobileDashboard_card_modal_details_remove_condition_button, - MobileDashboard_card_modal_details_custom_logic_field_infobubble, - MobileDashboard_card_modal_details_and_between_logic, - MobileDashboard_card_modal_details_or_between_logic, -}; - -export default customLabels; diff --git a/MobileDashboard/force-app/main/default/lwc/jsconfig.json b/MobileDashboard/force-app/main/default/lwc/jsconfig.json deleted file mode 100644 index a72666d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/jsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "experimentalDecorators": true - }, - "include": ["**/*", "../../../../.sfdx/typings/lwc/**/*.d.ts"], - "paths": { - "c/*": ["*"] - }, - "typeAcquisition": { - "include": ["jest"] - } -} diff --git a/MobileDashboard/force-app/main/default/lwc/mainDashboard/__tests__/mainDashboard.test.js b/MobileDashboard/force-app/main/default/lwc/mainDashboard/__tests__/mainDashboard.test.js deleted file mode 100644 index 0dd4e7e..0000000 --- a/MobileDashboard/force-app/main/default/lwc/mainDashboard/__tests__/mainDashboard.test.js +++ /dev/null @@ -1,97 +0,0 @@ -import { createElement } from 'lwc'; -import MainDashboard from 'c/mainDashboard'; -import { graphql } from 'lightning/uiGraphQLApi'; - -let element; -describe('c-main-dashboard', () => { - beforeEach(() => { - element = createElement('c-main-dashboard', { - is: MainDashboard, - }); - - document.body.appendChild(element); - - graphql.emit({ - uiapi: { - query: { - Mobile_Dashboard_Setting__c: { - edges: [ - { - node: { - Id: 'a0oRO0000005xCYYAY', - Object_Name__c: { - value: 'ServiceAppointment', - }, - Title__c: { - value: 'My Upcoming Service Appointments', - }, - Main_Filter__c: { - value: - '[{"key":"hog03n","field":"SchedStartTime","fieldDisplay":"Scheduled Start","fieldType":"DATETIME","operator":"last","value":"","unit":"month","unitDisplay":"months","quantity":"16","label":"","icon":"","color":"#747474","operatorDisplay":"last"}]', - }, - Main_Filter_Logic__c: { - value: 'AND', - }, - Custom_Logic__c: { - value: null, - }, - Layout__c: { - value: 'STACK', - }, - Sub_Filters__c: { - value: - '[{"key":"hhrget","field":"Status","fieldDisplay":"Status","fieldType":"PICKLIST","operator":"eq","operatorDisplay":"=","value":"Scheduled","unit":"","unitDisplay":"","quantity":"","label":"Scheduled","icon":"utility:clock","color":"#747474"},{"key":"le98t2","field":"Status","fieldDisplay":"Status","fieldType":"PICKLIST","operator":"eq","operatorDisplay":"=","value":"Canceled","unit":"","unitDisplay":"","quantity":"","label":"Canceled","icon":"utility:warning","color":"#8C4B02"},{"key":"6ze7fr","field":"Status","fieldDisplay":"Status","fieldType":"PICKLIST","operator":"eq","operatorDisplay":"=","value":"Completed","unit":"","unitDisplay":"","quantity":"","label":"Completed","icon":"utility:success","color":"#2E844A"}]', - }, - Order__c: { - value: 0, - }, - }, - }, - { - node: { - Id: 'a0oRO0000005xHjYAI', - Object_Name__c: { - value: 'Asset', - }, - Title__c: { - value: 'My Asset', - }, - Main_Filter__c: { - value: '[]', - }, - Main_Filter_Logic__c: { - value: 'OR', - }, - Custom_Logic__c: { - value: null, - }, - Layout__c: { - value: 'SIDE', - }, - Sub_Filters__c: { - value: - '[{"key":"pzlqyw","field":"Name","fieldDisplay":"Asset Name","fieldType":"STRING","operator":"eq","value":"ABC","unit":"","unitDisplay":"","quantity":"","label":"ABC","icon":"","color":"#747474","operatorDisplay":"="},{"key":"bmu42o","field":"Name","fieldDisplay":"Asset Name","fieldType":"STRING","operator":"eq","value":"DEF","unit":"","unitDisplay":"","quantity":"","label":"DEF","icon":"","color":"#747474","operatorDisplay":"="},{"key":"se7sdp","field":"Name","fieldDisplay":"Asset Name","fieldType":"STRING","operator":"like","value":"Asset","unit":"","unitDisplay":"","quantity":"","label":"None","icon":"","color":"#747474","operatorDisplay":"contains"}]', - }, - Order__c: { - value: 1, - }, - }, - }, - ], - }, - }, - }, - }); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('should have 2 summary components', () => { - const cards = element.shadowRoot.querySelectorAll('c-summary-component'); - expect(cards).toHaveLength(2); - }); -}); diff --git a/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.css b/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.css deleted file mode 100644 index 425849b..0000000 --- a/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.css +++ /dev/null @@ -1,8 +0,0 @@ -.main-container { - background-color: var(--slds-g-color-neutral-base-90, #E5E5E5); - padding: 16px; - display: flex; - flex-direction: column; - overflow-y: scroll; - width: 100vw; -} \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.html b/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.html deleted file mode 100644 index fee69b1..0000000 --- a/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.html +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/subFilterCard/__tests__/subFilterCard.test.js b/MobileDashboard/force-app/main/default/lwc/subFilterCard/__tests__/subFilterCard.test.js deleted file mode 100644 index 6f2f409..0000000 --- a/MobileDashboard/force-app/main/default/lwc/subFilterCard/__tests__/subFilterCard.test.js +++ /dev/null @@ -1,96 +0,0 @@ -import { createElement } from 'lwc'; -import SubFilterCard from 'c/subFilterCard'; - -let element; -describe('c-sub-filter-card', () => { - beforeEach(() => { - element = createElement('c-sub-filter-card', { - is: SubFilterCard, - }); - - element.index = 0; - element.objectValue = 'Account'; - element.filter = { - key: 'xtao8a', - field: 'Status', - fieldDisplay: 'Status', - fieldType: 'PICKLIST', - operator: 'eq', - value: 'Completed', - label: 'Completed', - icon: 'utility: like', - color: '#3DBA63', - }; - element.fieldsOptions = [ - { label: 'A', value: 'a' }, - { label: 'B', value: 'b' }, - ]; - element.layout = 'SIDE'; - element.updateSubFilter = jest.fn(); - element.duplicateSubFilter = jest.fn(); - element.deleteSubFilter = jest.fn(); - - document.body.appendChild(element); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('Label and color are correct', () => { - const inputs = element.shadowRoot.querySelectorAll('lightning-input'); - const label = inputs[0]; - const color = inputs[1]; - expect(label.value).toBe('Completed'); - expect(color.value).toBe('#3DBA63'); - }); - - it('should call duplicateSubFilter when duplicate clicked', async () => { - const action = element.shadowRoot.querySelectorAll('lightning-menu-item')[0]; - action.click(); - return Promise.resolve().then(() => { - expect(element.duplicateSubFilter).toHaveBeenCalled(); - }); - }); - - it('should call deleteSubFilter when delete clicked', async () => { - const action = element.shadowRoot.querySelectorAll('lightning-menu-item')[1]; - action.click(); - return Promise.resolve().then(() => { - expect(element.deleteSubFilter).toHaveBeenCalled(); - }); - }); - - it('should call updateSubFilter when change label', async () => { - const inputs = element.shadowRoot.querySelectorAll('lightning-input'); - const label = inputs[0]; - label.value = 'a'; - label.dispatchEvent(new Event('change')); - return Promise.resolve().then(() => { - expect(element.updateSubFilter).toHaveBeenCalled(); - }); - }); - - it('should call updateSubFilter when change icon', async () => { - const inputs = element.shadowRoot.querySelectorAll('lightning-input'); - const icon = inputs[1]; - icon.value = 'utility:error'; - icon.dispatchEvent(new Event('change')); - return Promise.resolve().then(() => { - expect(element.updateSubFilter).toHaveBeenCalled(); - }); - }); - - it('return false from checkValidation when fields are valid', async () => { - const input = element.shadowRoot.querySelector('.label-input'); - input.validity = { valid: false }; - - const basic = element.shadowRoot.querySelector('c-basic-filter'); - basic.checkValidation = () => false; - - const isValid = element.checkValidation(); - expect(isValid).toBeFalsy; - }); -}); diff --git a/MobileDashboard/force-app/main/default/lwc/subFilterCard/labels.js b/MobileDashboard/force-app/main/default/lwc/subFilterCard/labels.js deleted file mode 100644 index a4ae9a2..0000000 --- a/MobileDashboard/force-app/main/default/lwc/subFilterCard/labels.js +++ /dev/null @@ -1,21 +0,0 @@ -import MobileDashboard_settings_duplicate_button from '@salesforce/label/c.MobileDashboard_settings_duplicate_button'; -import MobileDashboard_settings_delete_button from '@salesforce/label/c.MobileDashboard_settings_delete_button'; -import MobileDashboard_sub_filter_label_field from '@salesforce/label/c.MobileDashboard_sub_filter_label_field'; -import MobileDashboard_sub_filter_color_field from '@salesforce/label/c.MobileDashboard_sub_filter_color_field'; -import MobileDashboard_sub_filter_color_field_infobubble from '@salesforce/label/c.MobileDashboard_sub_filter_color_field_infobubble'; -import MobileDashboard_preview_title from '@salesforce/label/c.MobileDashboard_preview_title'; -import MobileDashboard_preview_title_infobubble from '@salesforce/label/c.MobileDashboard_preview_title_infobubble'; -import MobileDashboard_sub_filter_options from '@salesforce/label/c.MobileDashboard_sub_filter_options'; - -const customLabels = { - MobileDashboard_settings_duplicate_button, - MobileDashboard_settings_delete_button, - MobileDashboard_sub_filter_label_field, - MobileDashboard_sub_filter_color_field, - MobileDashboard_sub_filter_color_field_infobubble, - MobileDashboard_preview_title, - MobileDashboard_preview_title_infobubble, - MobileDashboard_sub_filter_options, -}; - -export default customLabels; diff --git a/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.css b/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.css deleted file mode 100644 index 7376028..0000000 --- a/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.css +++ /dev/null @@ -1,86 +0,0 @@ -.drag-divider { - margin: 6px 0; - height: 0; - width: 100%; - height: 2px; -} - -.drag-divider-active { - background-color: #1B96FF; -} - -h3 { - color: #444444; - font-weight: 700; - font-size: 13px; - line-height: 20px; -} - -.sub-filter { - display: flex; - flex-direction: row; - justify-content: space-between; - background-color: #F3F3F3; - border: 1px solid #C9C9C9; - border-radius: 4px; - padding: 12px; -} - -.grabber { - cursor: move; - margin-right: 20px; - display: flex; - align-items: center; - flex-shrink: 0; -} - -.row { - display: flex; - flex-direction: row; -} - -.menu { - flex-shrink: 0; -} - -lightning-button-menu { - background: white; -} - -.props-container { - width: calc(50% - 104px); - margin-right: 24px; - display: flex; - flex-direction: column; - justify-content: space-between; - flex: 1; -} - -lightning-input, lightning-combobox, c-dashboard-icons-picker { - margin-right: 16px; -} - -c-basic-filter { - flex: 1; -} - -.preview { - margin-right: 24px; - display: flex; - flex-direction: column; - justify-content: start; - flex: 2; -} - -.slds-form-element__label { - line-height: 22px; -} - -lightning-helptext { - margin-left: 8px; -} - -.props-list { - display: flex; - flex-direction: row; -} diff --git a/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.html b/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.html deleted file mode 100644 index fd81a01..0000000 --- a/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.html +++ /dev/null @@ -1,62 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.js-meta.xml b/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/__tests__/subFilterSummaryComponent.test.js b/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/__tests__/subFilterSummaryComponent.test.js deleted file mode 100644 index eabcfa3..0000000 --- a/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/__tests__/subFilterSummaryComponent.test.js +++ /dev/null @@ -1,47 +0,0 @@ -import { createElement } from 'lwc'; -import SubFilterSummaryComponent from 'c/subFilterSummaryComponent'; - -let element; -describe('c-sub-filter-summary-component', () => { - beforeEach(() => { - element = createElement('c-sub-filter-summary-component', { - is: SubFilterSummaryComponent, - }); - - element.counter = 5; - element.icon = 'utility:like'; - element.label = 'the label'; - element.color = '#123456'; - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('should show correct info', () => { - document.body.appendChild(element); - - const counter = element.shadowRoot.querySelector('.sub-counter'); - const subLabel = element.shadowRoot.querySelector('.sub-label'); - expect(counter.textContent).toBe('5'); - expect(subLabel.textContent).toBe('the label'); - }); - - it('should have side class', () => { - element.layout = 'SIDE'; - document.body.appendChild(element); - - const container = element.shadowRoot.querySelector('div'); - expect(container.classList).toContain('side'); - }); - - it('should have stack class', () => { - element.layout = 'STACK'; - document.body.appendChild(element); - - const container = element.shadowRoot.querySelector('div'); - expect(container.classList).toContain('stack'); - }); -}); diff --git a/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.css b/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.css deleted file mode 100644 index b005105..0000000 --- a/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.css +++ /dev/null @@ -1,49 +0,0 @@ -.main-container { - background-color: white; - min-width: 95px; - padding: 8px; - border: 2px solid var(--slds-g-color-neutral-base-95, #F3F3F3); - border-radius: 12px; - display: flex; -} - -.placeholder { - height: 24px; -} - -.side { - flex-direction: column; - justify-content: center; - height: 66px; -} - -.stack { - flex-direction: row; - align-items: center; -} - -.sub-counter { - font-size: 20px; - line-height: 24px; -} - -.side .sub-counter { - margin-bottom: 4px; -} - -.stack .sub-counter { - margin-right: 16px; -} - -.sub-label { - display: flex; - flex-direction: row; - align-items: center; - font-weight: 700; - font-size: 12px; - line-height: 18px; -} - -.icon { - margin-right: 4px; -} \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.html b/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.html deleted file mode 100644 index 6174b0a..0000000 --- a/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.html +++ /dev/null @@ -1,20 +0,0 @@ - diff --git a/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.js b/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.js deleted file mode 100644 index a141285..0000000 --- a/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.js +++ /dev/null @@ -1,38 +0,0 @@ -import { LightningElement, api } from 'lwc'; - -export default class SubFilterSummaryComponent extends LightningElement { - @api counter; - @api icon; - @api label; - @api color; - @api layout; - - renderedCallback() { - const text = this.template.querySelector('.sub-label'); - if (text) text.style.color = this.color; - const icon = this.template.querySelector('.icon'); - if (icon) { - icon.setAttribute( - 'style', - `--lwc-colorTextIconDefault: ${this.color}; - --sds-c-icon-color-foreground-default: ${this.color}` - ); - } - } - - get noData() { - return !this.label; - } - - get mainContainerClass() { - return `main-container ${this.layout === 'SIDE' ? 'side' : 'stack'}`; - } - - get counterDisplay() { - return this.counter.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); - } - - get displayPlus() { - return this.counter === 2000; - } -} diff --git a/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.js-meta.xml b/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/summaryComponent/BuildGraphQL.js b/MobileDashboard/force-app/main/default/lwc/summaryComponent/BuildGraphQL.js deleted file mode 100644 index c0a5b15..0000000 --- a/MobileDashboard/force-app/main/default/lwc/summaryComponent/BuildGraphQL.js +++ /dev/null @@ -1,549 +0,0 @@ -export class DQM { - static cpx(s = '') { - console.log(`%c${s ?? ''}`, 'background:#ffcc33;color:#000;'); - } - static get MaxNumOfTokens() { - return 26; - } //number of chars in ABC. - static get NumOfParsingIterations() { - return 20; - } - static charx(offset = 0) { - return String.fromCharCode('A'.charCodeAt(0) + offset); - } - static sanitizex(s = '') { - return (s ?? '').replaceAll('and', '&').replaceAll('or', '|').replaceAll(' ', '').toLowerCase(); - } - - static calcDateFromToday(numOfDays) { - //retunrs yyyy-mm-dd - try { - numOfDays = parseInt(numOfDays); - numOfDays = isNaN(numOfDays) ? 0 : numOfDays; - if (numOfDays === 'NaN') numOfDays = 0; - const dt = new Date(); - dt.setDate(dt.getDate() + numOfDays); - let ret = dt.toISOString().slice(0, 'yyyy-mm-dd'.length); - return ret; - } catch (ex) { - let dx = new Date(); - dx.setDate(dx.getDate()); - return dx.toISOString().slice(0, 'yyyy-mm-dd'.length); - } - } - - static isoDayStart(yyyy_mm_dd) { - //2023-04-05T23:59:59.999Z - return yyyy_mm_dd + 'T00:00:00.000Z'; - } - static isoDayEnd(yyyy_mm_dd) { - return yyyy_mm_dd + 'T23:59:59.999Z'; - } - - static isValidToken(token = '') { - try { - let tokenx = token.slice(1, token.length - 1); //each token has brackets around it but none inside it - let is_and = tokenx.includes('&'); - let is_or = tokenx.includes('|'); - if (is_and && is_or) return false; - if (!is_and && !is_or) return true; - let op = is_and ? '&' : '|'; - let arx = tokenx.split(op); - if (arx.pop() == '') return false; //happens if op is last char if tokenx or if tokenx is empty - return true; - } catch (ex) { - DQM.cpx('isValidToken() ex: ' + ex.message); - return false; - } - } - - static valueFormatter(idx, value, field_type, is_like = false) { - try { - if (typeof value == 'undefined' || typeof field_type == 'undefined') { - DQM.cpx(`valueFormatter(${idx}) - invalid input 01`); - return ''; - } - - value = typeof value == 'string' ? value.trim() : value; - field_type = field_type.trim(); - if (value === undefined || field_type === undefined) { - DQM.cpx( - `valueFormatter(${idx}) - invalid input 02 - value=[${value}] field_type=[${field_type}] ` - ); - return; - } - - field_type = field_type.toLowerCase(); - let is_add_quotes = - [ - 'string', - 'picklist', - 'combobox', - 'date', - 'datetime', - 'phone', - 'email', - 'url', - 'address', - 'text', - ].includes(field_type) || is_like; - let valuex = is_like ? `%${value}%` : value; - valuex = is_add_quotes ? `"${valuex}"` : valuex; - if (field_type == 'datetime') { - const isoString = new Date(value).toISOString(); - valuex = `{value:"${isoString}"}`; - } else if (field_type == 'date') { - valuex = `{value:${valuex}}`; - } - return valuex; - } catch (ex) { - DQM.cpx( - `valueFormatter(${idx}) ex: ${ex.message} value=[${value}] field_type=[${field_type}] ` - ); - return ''; - } - } - - static singleTokenParser(obx) { - try { - const regExp = /\(([^()]+)\)/g; - let tmp = obx.phrase.match(regExp); - if (!tmp || obx.is_done) { - obx.is_done = true; - return; - } - [...tmp].forEach((token) => { - if (obx.counter >= DQM.MaxNumOfTokens) { - //the obx.dic is from A to Z. which should be more than enough. - obx.error_msg = 'Invalid expression.'; - obx.error_code = '101'; - obx.is_done = true; - return; - } - - if (!DQM.isValidToken(token)) { - obx.error_msg = 'Invalid expression.'; - obx.error_code = '102'; - obx.is_done = true; - return; - } - - let qry_obj = DQM.gqlConverter(token.slice(1, token.length - 1)); - if (qry_obj.error_msg) { - obx.error_msg = qry_obj.error_msg; - obx.error_code = qry_obj.error_code; - obx.is_done = true; - return; - } - let tag = DQM.charx(obx.counter++); - obx.dic[tag] = qry_obj.qry; - obx.phrase = obx.phrase.replace(token, tag); - }); - } catch (ex) { - DQM.cpx('singleTokenParser() ex: ' + ex.message); - obx.error_msg = ex.message; - obx.error_code = '110'; - obx.is_done = true; - } - } - - static gqlConverter(s = '') { - try { - //failure if ret.error_msg is not empty. success otherwise. - let ret = { qry: '', error_msg: '', error_code: '' }; - let is_and = s.includes('&'); - let is_or = s.includes('|'); - if (is_and && is_or) { - ret.error_msg = 'invalid expression.'; - ret.error_code = '201'; - return ret; - } - if (!is_and && !is_or) { - ret.qry = s; - return ret; - } //nothing to do. no operators in the string. - let op = is_and ? '&' : '|'; - let list = s.replaceAll('&', ',').replaceAll('|', ','); - ret.qry = `{${op}:[${list}]}`; - return ret; - } catch (ex) { - DQM.cpx('gqlConverter() ex: ' + ex.message); - ret.error_msg = ex.message; - ret.error_code = '202'; - return ret; - } - } - - static assembleQuery(obx, ret, main_filter) { - try { - for (const propx in obx.dic) { - let arx = obx.dic[propx].match(/[A-Z]/g); - if (!arx) continue; - arx.forEach((tag) => { - obx.dic[propx] = obx.dic[propx].replace(tag, obx.dic[tag]); - }); - } - - let finalx = obx.dic[DQM.charx(obx.counter - 1)]; //the last one - if (/^[1-9&|(){}\[\],:]*$/.test(finalx) !== true) { - ret.error_msg = 'Invalid expression.'; - ret.error_code = '301'; - ret.is_success = false; - return; - } - if (/\d{2}/.test(finalx)) { - //there should not be 2 or more digits in a row. elements are 1,2,...9 at most - ret.error_msg = 'Invalid expression.'; - ret.error_code = '302 (Filter numbers must be from 1 to 9)'; - ret.is_success = false; - return; - } - finalx = finalx.replaceAll('&', 'and').replaceAll('|', 'or'); - - let all_digits_in_final_phrase = finalx.replace(/\D/g, ''); - let max_allowed_digit = main_filter.length; - for (let i = max_allowed_digit + 1; i <= 9; i++) { - if (all_digits_in_final_phrase.includes(i.toString())) { - ret.error_msg = 'Invalid expression.'; - ret.error_code = '303 (Filter numbers with no matching filter)'; - ret.is_success = false; - return; - } - } - - //at this point we have a valid gql phrase with numbers that should be replaced with expressions from main_filter - for (let i = 1; i <= max_allowed_digit; i++) { - finalx = finalx.replaceAll(i.toString(), `<>`); - } - - for (let i = 1; i <= max_allowed_digit; i++) { - let filter = main_filter[i - 1]; - - //let valuex = DQM.valueFormatter(filter?.value, filter?.fieldType, filter?.operator?.toLowerCase().trim() == 'like'); - //let expx = `{${filter.field}:{${filter.operator}: ${valuex}}}`; - - finalx = finalx.replaceAll(`<>`, DQM.expression_maker(filter)); - } - ret.final_phrase = finalx; - ret.is_success = true; - } catch (ex) { - DQM.cpx('assembleQuery() ex: ' + ex.message); - ret.error_msg = ex.message; - ret.error_code = '309'; - ret.is_success = false; - } - } - - static initialPhraseValidation(phrase = '') { - try { - let s = DQM.sanitizex(phrase); - if (!s || s.includes('&&') || s.includes('||') || s.includes('()')) return '031'; - let num_of_left_bracket = s.split('(').length - 1; - let num_of_right_bracket = s.split(')').length - 1; - if (num_of_left_bracket != num_of_right_bracket) return '032'; - return true; - } catch (ex) { - DQM.cpx('initialPhraseValidation() ex: ' + ex.message); - return '033'; - } - } - - static gqlCustomPhraseMaker(phrasex, main_filter) { - try { - let phrase = (phrasex ?? '').toLowerCase(); - let ret = { - original_phrase: phrase, - final_phrase: '', - is_success: false, - error_msg: '', - error_code: '', - }; - let valx = DQM.initialPhraseValidation(phrase); //return value === true if valid, error code otherwise - if (valx !== true) { - ret.error_msg = 'Invalid custom expression'; - ret.error_code = valx; - return ret; - } - - let obx = { - counter: 0, - phrase: DQM.sanitizex(phrase), - dic: {}, - is_done: false, - error_msg: '', - error_code: '', - }; - - for (let i = 0; i < DQM.NumOfParsingIterations; i++) { - //20 iterations should be more than enough - DQM.singleTokenParser(obx); - if (obx.is_done || obx.error_msg) break; - } - - if (obx.error_msg) { - ret.error_msg = 'Custom: ' + obx.error_msg; - ret.error_code = '401'; - return ret; - } - if (!obx.is_done) { - ret.error_msg = 'Custom: invalid expression.'; - ret.error_code = '402'; - return ret; - } - let latest_qry = DQM.gqlConverter(obx.phrase); - if (latest_qry.error_msg) { - ret.error_msg = 'Custom: ' + latest_qry.error_msg; - ret.error_code = latest_qry.error_code; - } else { - obx.dic[DQM.charx(obx.counter++)] = latest_qry.qry; - DQM.assembleQuery(obx, ret, main_filter); - } - return ret; - } catch (ex) { - DQM.cpx('gqlCustomPhraseMaker() ex: ' + ex.message); - ret.error_msg = ex.message; - ret.error_code = '409'; - return ret; - } - } - - static isValidDataObject(obj) { - //todo: add tests - return !!obj; - } - - static relativeDateFilterMaker_IsoStyle(operator, filter) { - try { - let valuex; - if (operator == 'today') { - valuex = DQM.calcDateFromToday(0); - let startx = DQM.isoDayStart(valuex); - let endx = DQM.isoDayEnd(valuex); - let ret = `{and: [ - {${filter.field}: {gte: {value: "${startx}"}}}, - {${filter.field}: {lte: {value: "${endx}"}}} - ]}`; - return ret; - } - - if (operator == 'last' || operator == 'next') { - valuex = DQM.calcDateFromToday(0); - - if (operator == 'last') { - //including today - valuex = DQM.isoDayEnd(valuex); - } else { - //next - including today - valuex = DQM.isoDayStart(valuex); - } - - let opx = operator == 'last' ? 'lte' : 'gte'; - let f1 = `{${filter.field}:{${opx}:{value:"${valuex}"}}}`; - - let dirx = operator == 'last' ? -1 : 1; - let num_of_days = - dirx * - filter.quantity * - (filter.unit == 'month' ? 30 : 1) * - (filter.unit == 'week' ? 7 : 1); - valuex = DQM.calcDateFromToday(num_of_days); - - opx = operator == 'last' ? 'gte' : 'lte'; - if (operator == 'last') { - //including today - valuex = DQM.isoDayStart(valuex); - } else { - //next - including today - valuex = DQM.isoDayEnd(valuex); - } - let f2 = `{${filter.field}:{${opx}:{value:"${valuex}"}}}`; - - return `{and: [${f1}, ${f2}]}`; - } - - DQM.cpx('relativeDateFilterMaker_IsoStyle() - not supported yet'); - return null; - } catch (ex) { - DQM.cpx('relativeDateFilterMaker_IsoStyle() - ex: ' + ex.message); - return null; - } - } - - static relativeDateFilterMaker(operator, filter) { - try { - let valuex; - - if (filter.fieldType.toLowerCase() == 'datetime') { - return DQM.relativeDateFilterMaker_IsoStyle(operator, filter); - } - - if (operator == 'today') { - valuex = `"${DQM.calcDateFromToday(0)}"`; - return `{${filter.field}:{eq:{value:${valuex}}}}`; - } - if (operator == 'last' || operator == 'next') { - valuex = `"${DQM.calcDateFromToday(0)}"`; - let opx = operator == 'last' ? 'lte' : 'gte'; - let f1 = `{${filter.field}:{${opx}:{value:${valuex}}}}`; - - let dirx = operator == 'last' ? -1 : 1; - let num_of_days = - dirx * - filter.quantity * - (filter.unit == 'month' ? 30 : 1) * - (filter.unit == 'week' ? 7 : 1); - valuex = `"${DQM.calcDateFromToday(num_of_days)}"`; - - opx = operator == 'last' ? 'gte' : 'lte'; - let f2 = `{${filter.field}:{${opx}:{value:${valuex}}}}`; - - return `{and: [${f1}, ${f2}]}`; - } - DQM.cpx('relativeDateFilterMaker() - invalid input'); - return null; //should not happen - } catch (ex) { - DQM.cpx('relativeDateFilterMaker() - ex: ' + ex.message); - return null; - } - } - - static mainFilterExpressionMaker(obj) { - try { - let omni_main_filter = `{Id: {ne: "000000000000000000"}}`; - let main_filter_logic = obj?.node?.Main_Filter_Logic__c?.value?.toLowerCase().trim() ?? ''; - let main_filter_array = JSON.parse(obj?.node?.Main_Filter__c?.value); - if ( - !main_filter_logic || - !main_filter_array || - !Array.isArray(main_filter_array) || - main_filter_array.length < 1 || - !['and', 'or', 'custom'].includes(main_filter_logic) - ) { - return omni_main_filter; - } - - if (main_filter_logic == 'custom') { - let phrase = obj?.node?.Custom_Logic__c?.value ?? ''; - let oQry = DQM.gqlCustomPhraseMaker(phrase, main_filter_array); - if (!oQry.is_success) { - DQM.cpx(`${oQry.error_msg} - custom phrase:[${phrase}] - Error ${oQry.error_code}`); - return omni_main_filter; - } - return oQry.final_phrase; - } - - let filters = ''; - main_filter_array.forEach((filter) => { - let operator = filter?.operator?.toLowerCase().trim(); - if (!operator) return ''; //should not happen - if (['today', 'last', 'next'].includes(operator)) { - filters += DQM.relativeDateFilterMaker(operator, filter); - } else { - let valuex = DQM.valueFormatter(1, filter?.value, filter?.fieldType, operator == 'like'); - filters += `{${filter.field}:{${operator}:${valuex}}},`; - } - }); - let main_exp = `{ ${main_filter_logic}: [${filters}] }`; - return main_exp; - } catch (ex) { - DQM.cpx(`mainFilterExpressionMaker() ex: ${ex.message}`); - return ''; - } - } - - static expression_maker(filter) { - try { - let filterx; - if (!filter?.field || !filter?.operator || !filter?.value) return ''; - let operator = filter?.operator?.toLowerCase().trim(); - if (!operator) return []; //should not happen - - if (['today', 'last', 'next'].includes(operator)) { - filterx = DQM.relativeDateFilterMaker(operator, filter); - } else { - let valuex = DQM.valueFormatter(2, filter?.value, filter?.fieldType, operator == 'like'); - filterx = `{${filter.field}: {${filter.operator}: ${valuex}}}`; - } - return filterx; - } catch (ex) { - DQM.cpx(`expression_maker() ex: ${ex.message}`); - return []; - } - } - - static subFilterExpressionsArrayMaker(obj) { - try { - let sub_filters_arr = JSON.parse(obj?.node?.Sub_Filters__c?.value); - let sub_filter_expressions_array = []; - sub_filters_arr.forEach((filter, idx) => { - sub_filter_expressions_array.push(DQM.expression_maker(filter)); - }); - return sub_filter_expressions_array; - } catch (ex) { - DQM.cpx(`subFilterExpressionsArrayMaker() ex: ${ex.message}`); - return []; - } - } - - static subQueriesMaker(obj, main_filter_exp, sub_filter_expressions_array, is_mobile_qry) { - try { - let object_name = obj?.node?.Object_Name__c?.value; - if (!object_name) { - DQM.cpx('subQueriesMaker() - invalid object name.'); - return ''; - } - let sub_filters_arr = JSON.parse(obj?.node?.Sub_Filters__c?.value); - let sub_qrys = ''; - let mobilex = is_mobile_qry ? '@category(name: "recordQuery")' : ''; - sub_filters_arr.forEach((filter, idx) => { - let wherex = main_filter_exp?.trim() ? `${main_filter_exp}, ` : ''; - let qry = `counter_${idx}: ${object_name}(where: {and: [${wherex}${sub_filter_expressions_array[idx]}] }, first: 2000) ${mobilex} {edges{node{Id}}}`; - sub_qrys += qry; - }); - return sub_qrys; - } catch (ex) { - DQM.cpx(`subQueriesMaker() ex: ${ex.message}`); - return ''; - } - } - - static queryAssembler(object_name, sub_qrys, main_filter_exp, is_mobile_qry) { - try { - let mobilex = is_mobile_qry ? '@category(name: "recordQuery")' : ''; - let wherex = main_filter_exp?.trim() ? `where: ${main_filter_exp}, ` : ''; - let main_qry = `counter_main: ${object_name}(${wherex}first: 2000) ${mobilex} {edges{node{Id}}}`; - let qry = `query ${object_name}{uiapi {query { - ${main_qry} - ${sub_qrys} - }}}`; - return qry; - } catch (ex) { - DQM.cpx(`queryAssembler() ex: ${ex.message}`); - return ''; - } - } - - static gqlQueryMaker(obj) { - try { - if (!DQM.isValidDataObject(obj)) return ''; - let main_filter_exp = DQM.mainFilterExpressionMaker(obj); - let sub_filter_expressions_array = DQM.subFilterExpressionsArrayMaker(obj); - let sub_qrys = DQM.subQueriesMaker( - obj, - main_filter_exp, - sub_filter_expressions_array, - true /*obj.is_mobile_qry*/ - ); - let final_qry = DQM.queryAssembler( - obj.node.Object_Name__c.value, - sub_qrys, - main_filter_exp, - true /*obj.is_mobile_qry*/ - ); - return final_qry; - } catch (ex) { - DQM.cpx(`gqlQueryMaker() ex: ${ex.message}`); - return ''; - } - } -} diff --git a/MobileDashboard/force-app/main/default/lwc/summaryComponent/__tests__/summaryComponent.test.js b/MobileDashboard/force-app/main/default/lwc/summaryComponent/__tests__/summaryComponent.test.js deleted file mode 100644 index aa3dae1..0000000 --- a/MobileDashboard/force-app/main/default/lwc/summaryComponent/__tests__/summaryComponent.test.js +++ /dev/null @@ -1,139 +0,0 @@ -import { createElement } from 'lwc'; -import SummaryComponent from 'c/summaryComponent'; - -let element; -describe('c-summary-component', () => { - beforeEach(() => { - element = createElement('c-summary-component', { - is: SummaryComponent, - }); - }); - - afterEach(() => { - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it('should show 2 sub-filter-sum-components', async () => { - element.settings = { - subQueriesData: [ - { - index: 0, - count: 1, - subFilter: { - key: 'rwn1fa', - fieldDisplay: 'Time Sheet End Date', - value: '', - unitDisplay: 'days', - quantity: '14', - operatorDisplay: 'last', - }, - }, - { - index: 1, - count: 1, - subFilter: { - key: '131fdb', - fieldDisplay: 'Time Sheet Start Date', - value: '', - unitDisplay: 'weeks', - quantity: '1', - operatorDisplay: 'last', - }, - }, - ], - }; - element.demoMode = 'true'; - document.body.appendChild(element); - - return Promise.resolve().then(() => { - const subFilterSummaryComponents = element.shadowRoot.querySelectorAll( - 'c-sub-filter-summary-component' - ); - expect(subFilterSummaryComponents).toHaveLength(2); - }); - }); - - it('should show correct title', async () => { - element.settings = { - node: { - Id: 'a0oRO0000005xCKYAY', - Object_Name__c: { - value: 'ResourceAbsence', - }, - Title__c: { - value: 'My Absences', - }, - Main_Filter__c: { - value: - '[{"key":"ken22n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATETIME","operator":"last","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"last"}, {"key":"ken23n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATETIME","operator":"last","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"last"}]', - }, - Main_Filter_Logic__c: { - value: 'CUSTOM', - }, - Custom_Logic__c: { - value: '1 AND 2', - }, - Layout__c: { - value: 'SIDE', - }, - Sub_Filters__c: { - value: - '[{"key":"7wtchc","field":"FSL__Approved__c","fieldDisplay":"Approved","fieldType":"BOOLEAN","operator":"eq","value":true,"unit":"","unitDisplay":"","quantity":"","label":"Approved","icon":"utility:success","color":"#2E844A","operatorDisplay":"="},{"key":"e7fjv2","field":"FSL__Approved__c","fieldDisplay":"Approved","fieldType":"BOOLEAN","operator":"eq","value":false,"unit":"","unitDisplay":"","quantity":"","label":"Not Approved","icon":"utility:error","color":"#B72020","operatorDisplay":"="}]', - }, - Order__c: { - value: 0, - }, - }, - }; - element.demoMode = 'false'; - document.body.appendChild(element); - - return Promise.resolve().then(() => { - const title = element.shadowRoot.querySelector('.main-container>p'); - expect(title.textContent).toBe('My Absences (0)'); - }); - }); - - it('should show correct title', async () => { - element.settings = { - node: { - Id: 'a0oRO0000005xCKYAY', - Object_Name__c: { - value: 'ResourceAbsence', - }, - Title__c: { - value: 'The Absences', - }, - Main_Filter__c: { - value: - '[{"key":"ken22n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATE","operator":"today","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"last"}, {"key":"ken23n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATETIME","operator":"last","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"last"},{"key":"ken22n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATE","operator":"last","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"last"},{"key":"ken22n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATE","operator":"eq","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"="},{"key":"ken22n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATE","operator":"next","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"next"}]', - }, - Main_Filter_Logic__c: { - value: 'OR', - }, - Custom_Logic__c: { - value: '', - }, - Layout__c: { - value: 'SIDE', - }, - Sub_Filters__c: { - value: - '[{"key":"e7fjv2","field":"FSL__Approved__c","fieldDisplay":"Approved","fieldType":"BOOLEAN","operator":"eq","value":false,"unit":"","unitDisplay":"","quantity":"","label":"Not Approved","icon":"utility:error","color":"#B72020","operatorDisplay":"="}]', - }, - Order__c: { - value: 0, - }, - }, - }; - element.demoMode = 'false'; - document.body.appendChild(element); - - return Promise.resolve().then(() => { - const title = element.shadowRoot.querySelector('.main-container>p'); - expect(title.textContent).toBe('The Absences (0)'); - }); - }); -}); diff --git a/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.css b/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.css deleted file mode 100644 index ba793e6..0000000 --- a/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.css +++ /dev/null @@ -1,41 +0,0 @@ -.main-container { - background-color: var(--slds-g-color-neutral-base-100, white); - margin-bottom: 16px; - border-radius: 12px; -} - -p { - font-size: 16px; - line-height: 22px; - font-weight: 600; - padding: 13px 12px 0px 12px; - color: var(--slds-g-color-neutral-base-10, #181818); -} - -.padding-non-empty-card { - padding-bottom: 8px; -} - -.sub-container { - display: flex; - padding: 0 12px 12px 4px; -} - -.sub-container-side { - flex-direction: row; - flex-wrap: wrap; -} - -.sub-container-stack { - flex-direction: column; -} - -c-sub-filter-summary-component { - flex: 1; - margin-left: 8px; - margin-top: 8px; -} - -.border { - border: 1px solid #C9C9C9; -} \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.html b/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.html deleted file mode 100644 index 5da5bf1..0000000 --- a/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.html +++ /dev/null @@ -1,20 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.js b/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.js deleted file mode 100644 index 5a1aa23..0000000 --- a/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.js +++ /dev/null @@ -1,115 +0,0 @@ -import { LightningElement, api, wire } from 'lwc'; -import { gql, graphql, refreshGraphQL } from 'lightning/uiGraphQLApi'; -import { DQM } from './BuildGraphQL'; - -export default class SummaryComponent extends LightningElement { - @api settings; - @api demoMode; - - recordsCount = 0; - subQueriesData = []; - fullQuery = ''; - - queryResult; - refreshed = false; - - renderedCallback() { - if (this.isDemoMode) { - const subCounter = this.settings.subQueriesData.length; - this.recordsCount = subCounter === 0 ? 1 : subCounter; - this.subQueriesData = this.settings.subQueriesData; - } - } - - connectedCallback() { - if (!this.isDemoMode) { - this.fullQuery = this.buildQuery(); - } - } - - @wire(graphql, { - query: '$fullQuery', - }) - GetDbResults(result) { - this.queryResult = result; - const { data, errors } = result; - if (data) { - this.setRecordsAndSubQueries(data); - if (!this.refreshed) { - this.refreshed = true; - this.refreshGraphQL(); - } - } - if (errors) { - console.log(errors); - } - } - - buildQuery() { - return gql` - ${DQM.gqlQueryMaker(this.settings)} - `; - } - - getResults(data, queryName) { - return data?.uiapi?.query[queryName]?.edges?.length ?? 0; - } - - setRecordsAndSubQueries(data) { - this.recordsCount = this.getResults(data, 'counter_main'); - for (let [i, subFilter] of this.subFilters.entries()) { - this.subQueriesData[i] = { - count: this.getResults(data, `counter_${i}`), - index: i, - label: subFilter.label, - icon: subFilter.icon, - color: subFilter.color, - }; - } - this.subQueriesData = [...this.subQueriesData]; - } - - get subContainerClass() { - return `sub-container ${this.layout === 'SIDE' ? 'sub-container-side' : 'sub-container-stack'}`; - } - - get subFilters() { - return JSON.parse(this.settings?.node?.Sub_Filters__c.value ?? '[]'); - } - - get title() { - return this.isDemoMode ? this.settings?.Title__c : this.settings?.node?.Title__c.value; - } - - get layout() { - return this.isDemoMode ? this.settings?.Layout__c : this.settings?.node?.Layout__c.value; - } - - get isDemoMode() { - return this.demoMode === 'true'; - } - - get recordsCountDisplay() { - return this.recordsCount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); - } - - get displayPlus() { - return this.recordsCount === 2000; - } - - get mainContainerClass() { - return `main-container ${this.isDemoMode ? 'border' : ''}`; - } - - get isNonEmptyCard() { - return this.isDemoMode ? !!this.settings.subQueriesData.length : !!this.subFilters.length; - } - - get nonEmptyCardTitleClass() { - return this.isNonEmptyCard ? 'padding-non-empty-card' : ''; - } - - @api async refreshGraphQL() { - return refreshGraphQL(this.queryResult); - } -} diff --git a/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.js-meta.xml b/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 3e1affd..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 36e3c66..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - ОТСТРАНИ - - - STACK - НАСЛАГВАНЕ - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 5c4eb42..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - И - - - OR - ИЛИ - - - CUSTOM - ПО ИЗБОР - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 54b4e19..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 248be0d..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 8fff7e1..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index b1c146f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index e245456..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 473efc3..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index aea4e0d..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - VEDLE SEBE - - - STACK - NA SOBĚ - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 790bd5b..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - A - - - OR - NEBO - - - CUSTOM - VLASTNÍ - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index c04976d..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 3b421e2..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index ab29c69..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 680aaad..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 30b5c63..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 2a0f884..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index e9b62f7..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SIDE - - - STACK - STABEL - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index f3516f8..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - OG - - - OR - ELLER - - - CUSTOM - TILPASSET - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index b78003f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index dbfb6af..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 15512e2..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 0aa2d63..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 7c8a9da..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 3b2c188..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 91b010a..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SEITE - - - STACK - STAPEL - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 76fe186..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - UND - - - OR - ODER - - - CUSTOM - BENUTZERDEFINIERT - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 275273c..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 3b0593a..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index dc30077..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 8a34ab2..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 7c8a9da..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 13c08eb..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 8cb4906..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - ΠΑΡΑΘΕΣΗ - - - STACK - ΣΩΡΕΥΜΕΝΗ - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index e563c72..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - ΠΡΟΣΑΡΜΟΓΗ - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 5ba9176..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 8b152a2..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index aaebaf8..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 1a01d82..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index de2fab3..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 82ccfde..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index d6f246b..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SIDE - - - STACK - STACK - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 69495e2..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - CUSTOM - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 4b549f6..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index bba0aff..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 5c1473f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 802efcc..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index b113321..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 0a07d08..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 4555684..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - LADO - - - STACK - PILA - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index dbd09aa..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - Y - - - OR - O - - - CUSTOM - PERSONALIZADO - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index c912bce..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 8fb29e5..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 3ccad75..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 9155658..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 8623e6f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 0a07d08..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 4555684..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - LADO - - - STACK - PILA - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index dbd09aa..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - Y - - - OR - O - - - CUSTOM - PERSONALIZADO - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index c912bce..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 8fb29e5..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 3ccad75..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 9155658..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 8623e6f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 6f686f0..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 3324d2d..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - VIEREKKÄIN - - - STACK - PINO - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 55df5b1..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - JA - - - OR - TAI - - - CUSTOM - MUKAUTETTU - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index d0cc7c3..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index caf76de..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index a751fef..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index a55475e..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 3b856c9..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 9027bde..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index d7adb74..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - CÔTÉ - - - STACK - EMPILÉ - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 28627b2..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - PERSONNALISÉE - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 68a9f0d..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 51abf4e..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 2482d2d..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index b4b1d59..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 26666f4..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 9098687..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 69a6149..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - STRANA - - - STACK - GRUPA - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 27c9449..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - I - - - OR - ILI - - - CUSTOM - PRILAGOĐENO - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 0ab037e..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 65ea4d7..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 2e3346d..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index c444b97..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index d8e43cd..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 6d74607..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index a7a5c6d..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - EGYMÁS MELLETT - - - STACK - EGYMÁS ALATT - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 42c2348..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - ÉS - - - OR - VAGY - - - CUSTOM - EGYÉNI - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 625510a..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 531bd12..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index a3f299b..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 0eb3344..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index e314ee1..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index e5e02e2..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 12309a7..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SISI - - - STACK - TUMPUK - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 9cc551c..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - UBAHSUAI - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 07536c0..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 198b274..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 82fdd06..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index a093b96..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 94f5e29..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index ab89f5f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 142aec3..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - AFFIANCATO - - - STACK - IN PILA - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 81ac45b..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - PERSONALIZZATA - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 9bc3076..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index ae92e8c..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 750cc95..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index fd1e906..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 7319cdf..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 606162e..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 30e202c..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - צד - - - STACK - ערימה - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 56b619b..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - וגם - - - OR - או - - - CUSTOM - מותאם אישית - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index cfd7704..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 57a1752..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 193d85b..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 83e21fa..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index a490476..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index bc31142..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 48c407c..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - 横並び - - - STACK - 積み重ね - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 10f591e..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - カスタム - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 0568c67..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 3cc5fe2..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 2b4bcda..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index e5cddb4..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 7ea2e33..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 1f37bf6..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index b1726fa..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SIDE - - - STACK - STACK - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index d10c201..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - CUSTOM - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index d232d46..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index b9b022e..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index f796f40..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 0e94990..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index d044213..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index d0a6a58..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 68ed646..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SIDE (naast elkaar) - - - STACK - STACK (gestapeld) - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index ede4fba..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND (en) - - - OR - OR (of) - - - CUSTOM - CUSTOM (aangepast) - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 52b84f0..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 0773ae7..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 8d8032b..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 3978c32..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 7c8a9da..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index b466482..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 0ce97db..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SIDE - - - STACK - STABLE - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 5789a0b..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - TILPASSET - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index b78003f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index dbfb6af..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index b0b5ca1..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index e791f1c..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 633c06b..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index ac80a85..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 0582f69..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - OBOK - - - STACK - STOS - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 418141f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - ORAZ - - - OR - LUB - - - CUSTOM - NIESTANDARDOWY - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index a5e601e..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 6d46d22..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 8967517..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 9524eb3..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 6a156d8..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 0a07d08..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 8540271..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - LADO - - - STACK - PILHA - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 73851a3..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - E - - - OR - OU - - - CUSTOM - PERSONALIZADO - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index c912bce..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 32b75df..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 311f65b..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 9155658..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 8623e6f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 0a07d08..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index c96e9e8..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SIDE - - - STACK - STACK - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index a3af1ac..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - CUSTOM - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index c912bce..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 32b75df..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index b642bee..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 9155658..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 8623e6f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 152cca1..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 8403caa..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SECVENȚIAL - - - STACK - SUPRAPUS - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index a25d0ca..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - ȘI - - - OR - SAU - - - CUSTOM - PERSONALIZAT - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index ae98eec..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index e580e7b..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 750cc95..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 80e1a15..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index b0396f5..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index ba530db..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 89b084c..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SIDE - - - STACK - STACK - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index b33ca68..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - CUSTOM - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 4349e1f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 5f29e4d..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 862c2ea..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 1f977d9..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 3414c49..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 23ca945..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index e020773..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - VEDĽA SEBA - - - STACK - NAD SEBOU - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index c70f77a..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - VLASTNÉ - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 9039ab4..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index b06fa10..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index da5765f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 13c5da8..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index f0526ef..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index e5144b6..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index ef2965c..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - STRAN - - - STACK - SKLAD - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 59b39f1..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - IN - - - OR - ALI - - - CUSTOM - PO MERI - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index f1e8c81..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 5dbcf24..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index a08a164..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index b7f5ed6..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index d8e43cd..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index f58d609..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index dab6748..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SIDA - - - STACK - STAPEL - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 4dcbe7d..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - OCH - - - OR - ELLER - - - CUSTOM - EGEN - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index f60fa10..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index a898b13..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 5c1473f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 4889545..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 7c8a9da..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 595194a..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index fb37bfe..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SIDE - - - STACK - STACK - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 42ff3ca..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - CUSTOM - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index c13e1c9..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 37a5427..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 9d002bd..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 0380746..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index c5b6884..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index f411bb8..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 641d356..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - YAN YANA - - - STACK - İSTİF - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index afc02de..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - VE - - - OR - VEYA - - - CUSTOM - ÖZEL - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 69d4dee..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index c55b28d..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 71dc228..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 38c786a..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 436866b..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 7770461..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index cc37731..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - БІЧНА - - - STACK - СКЛАДЕНА - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 08ea013..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - ТА - - - OR - АБО - - - CUSTOM - НАЛАШТОВАНА - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 6726c72..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 737bb6d..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index fca0a8f..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index ddbcdf8..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 3414c49..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 99a6121..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 9e82aa3..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - CẠNH NHAU - - - STACK - XẾP CHỒNG - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index a32eeb5..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - TÙY CHỈNH - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 07b34d7..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 9df71f5..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index cffc7b3..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 25371e4..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index 845c708..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 9735e76..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 22a48a0..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - 侧面 - - - STACK - 堆栈 - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index a7e9667..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - - - - OR - - - - CUSTOM - 自定义 - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index 2b250e6..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index aae3bd3..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 35a7641..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index bf36f79..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index a948a92..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Custom_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Custom_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 85bcdf5..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Custom_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Custom_Logic__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Layout__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Layout__c.fieldTranslation-meta.xml deleted file mode 100644 index 04755fa..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Layout__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - Layout__c - - - SIDE - SIDE - - - STACK - STACK - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Main_Filter_Logic__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Main_Filter_Logic__c.fieldTranslation-meta.xml deleted file mode 100644 index 2e327e0..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Main_Filter_Logic__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - Main_Filter_Logic__c - - - AND - AND - - - OR - OR - - - CUSTOM - CUSTOM - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Main_Filter__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Main_Filter__c.fieldTranslation-meta.xml deleted file mode 100644 index cd09627..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Main_Filter__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Main_Filter__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Object_Name__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Object_Name__c.fieldTranslation-meta.xml deleted file mode 100644 index 8146f68..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Object_Name__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Object_Name__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Order__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Order__c.fieldTranslation-meta.xml deleted file mode 100644 index 2b4bcda..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Order__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Order__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Sub_Filters__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Sub_Filters__c.fieldTranslation-meta.xml deleted file mode 100644 index 0ee50ea..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Sub_Filters__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Sub_Filters__c - - diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Title__c.fieldTranslation-meta.xml b/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Title__c.fieldTranslation-meta.xml deleted file mode 100644 index c8fd102..0000000 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Title__c.fieldTranslation-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Title__c - - diff --git a/MobileDashboard/force-app/test/jest-mocks/lightning/modal.js b/MobileDashboard/force-app/test/jest-mocks/lightning/modal.js deleted file mode 100644 index ee04736..0000000 --- a/MobileDashboard/force-app/test/jest-mocks/lightning/modal.js +++ /dev/null @@ -1,5 +0,0 @@ -import { LightningElement, api } from 'lwc'; - -export default class LightningModal extends LightningElement { - @api close; -} diff --git a/MobileDashboard/force-app/test/jest-mocks/lightning/modalBody.html b/MobileDashboard/force-app/test/jest-mocks/lightning/modalBody.html deleted file mode 100644 index 705085b..0000000 --- a/MobileDashboard/force-app/test/jest-mocks/lightning/modalBody.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/test/jest-mocks/lightning/modalBody.js b/MobileDashboard/force-app/test/jest-mocks/lightning/modalBody.js deleted file mode 100644 index 2ef978f..0000000 --- a/MobileDashboard/force-app/test/jest-mocks/lightning/modalBody.js +++ /dev/null @@ -1,3 +0,0 @@ -import { LightningElement } from 'lwc'; - -export default class ModalBody extends LightningElement {} diff --git a/MobileDashboard/force-app/test/jest-mocks/lightning/modalFooter.html b/MobileDashboard/force-app/test/jest-mocks/lightning/modalFooter.html deleted file mode 100644 index 705085b..0000000 --- a/MobileDashboard/force-app/test/jest-mocks/lightning/modalFooter.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/test/jest-mocks/lightning/modalFooter.js b/MobileDashboard/force-app/test/jest-mocks/lightning/modalFooter.js deleted file mode 100644 index c4a4708..0000000 --- a/MobileDashboard/force-app/test/jest-mocks/lightning/modalFooter.js +++ /dev/null @@ -1,3 +0,0 @@ -import { LightningElement } from 'lwc'; - -export default class ModalFooter extends LightningElement {} diff --git a/MobileDashboard/force-app/test/jest-mocks/lightning/modalHeader.html b/MobileDashboard/force-app/test/jest-mocks/lightning/modalHeader.html deleted file mode 100644 index 705085b..0000000 --- a/MobileDashboard/force-app/test/jest-mocks/lightning/modalHeader.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/MobileDashboard/force-app/test/jest-mocks/lightning/modalHeader.js b/MobileDashboard/force-app/test/jest-mocks/lightning/modalHeader.js deleted file mode 100644 index 2268506..0000000 --- a/MobileDashboard/force-app/test/jest-mocks/lightning/modalHeader.js +++ /dev/null @@ -1,5 +0,0 @@ -import { LightningElement, api } from 'lwc'; - -export default class ModalHeader extends LightningElement { - @api label; -} diff --git a/MobileDashboard/force-app/test/jest-mocks/lightning/uiGraphQLApi.js b/MobileDashboard/force-app/test/jest-mocks/lightning/uiGraphQLApi.js deleted file mode 100644 index 7d115f3..0000000 --- a/MobileDashboard/force-app/test/jest-mocks/lightning/uiGraphQLApi.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2023, salesforce.com, inc. - * All rights reserved. - * SPDX-License-Identifier: MIT - * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT - */ -import { createTestWireAdapter } from '@salesforce/wire-service-jest-util'; - -export class graphql extends createTestWireAdapter() { - static emit(value, filterFn) { - super.emit({ data: value, errors: undefined }, filterFn); - } - - static emitErrors(errors, filterFn) { - super.emit({ data: undefined, errors }, filterFn); - } - - constructor(dataCallback) { - super(dataCallback); - - graphql.emit({ data: undefined, errors: undefined }); - } -} - -export const gql = jest.fn(); -export const refreshGraphQL = jest.fn(); diff --git a/MobileDashboard/jest.config.js b/MobileDashboard/jest.config.js deleted file mode 100644 index 1cf5545..0000000 --- a/MobileDashboard/jest.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const { jestConfig } = require('@salesforce/sfdx-lwc-jest/config'); - -module.exports = { - ...jestConfig, - modulePathIgnorePatterns: ['/.localdevserver'], - moduleNameMapper: { - '^lightning/modal$': '/force-app/test/jest-mocks/lightning/modal', - '^lightning/modalBody$': '/force-app/test/jest-mocks/lightning/modalBody', - '^lightning/modalFooter$': '/force-app/test/jest-mocks/lightning/modalFooter', - '^lightning/modalHeader$': '/force-app/test/jest-mocks/lightning/modalHeader', - '^lightning/uiGraphQLApi$': '/force-app/test/jest-mocks/lightning/uiGraphQLApi', - }, -}; diff --git a/MobileDashboard/package.json b/MobileDashboard/package.json deleted file mode 100644 index 13f2f54..0000000 --- a/MobileDashboard/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "salesforce-app", - "private": true, - "version": "1.0.0", - "description": "Salesforce App", - "scripts": { - "lint": "eslint **/{aura,lwc}/**", - "test": "npm run test:unit", - "test:unit": "sfdx-lwc-jest", - "test:unit:watch": "sfdx-lwc-jest --watch", - "test:unit:debug": "sfdx-lwc-jest --debug", - "test:unit:coverage": "sfdx-lwc-jest --coverage", - "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", - "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", - "postinstall": "husky install", - "precommit": "lint-staged" - }, - "devDependencies": { - "@lwc/eslint-plugin-lwc": "^1.1.2", - "@prettier/plugin-xml": "^2.0.1", - "@salesforce/eslint-config-lwc": "^3.2.3", - "@salesforce/eslint-plugin-aura": "^2.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "@salesforce/sfdx-lwc-jest": "^1.1.0", - "eslint": "^8.11.0", - "eslint-plugin-import": "^2.25.4", - "eslint-plugin-jest": "^26.1.2", - "husky": "^7.0.4", - "lint-staged": "^12.3.7", - "prettier": "^2.6.0", - "prettier-plugin-apex": "^1.10.0" - }, - "lint-staged": { - "**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}": [ - "prettier --write" - ], - "**/{aura,lwc}/**": [ - "eslint" - ] - } -} diff --git a/MobileDashboard/sfdx-project.json b/MobileDashboard/sfdx-project.json deleted file mode 100644 index 001cf96..0000000 --- a/MobileDashboard/sfdx-project.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "packageDirectories": [ - { - "path": "force-app", - "package": "Mobile Dashboard for Field Service Mobile", - "versionName": "Summer '24", - "versionNumber": "244.0.0.NEXT", - "default": true, - "versionDescription": "" - } - ], - "name": "Mobile Dashboard for Field Service Mobile", - "namespace": "", - "sfdcLoginUrl": "https://login.salesforce.com/", - "sourceApiVersion": "55.0", - "packageAliases": { - "Mobile Dashboard for Field Service Mobile": "0HoB00000008PtKKAU", - "Mobile Dashboard for Field Service Mobile@1.0.0-2": "04tB0000000h4nQIAQ", - "Mobile Dashboard for Field Service Mobile@1.1.0-1": "04tB0000000h4wAIAQ" - } -} diff --git a/MobileDashboard/yarn.lock b/MobileDashboard/yarn.lock deleted file mode 100644 index 241f79d..0000000 --- a/MobileDashboard/yarn.lock +++ /dev/null @@ -1,4067 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.1.0", "@ampproject/remapping@^2.2.0": - version "2.2.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" - dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" - -"@babel/compat-data@^7.20.5": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz" - -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.20.5", "@babel/core@^7.7.2", "@babel/core@^7.8.0", "@babel/core@~7.21.0": - version "7.21.3" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz" - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.3" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.3" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.3" - "@babel/types" "^7.21.3" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/core@~7.20.2": - version "7.20.12" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz" - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helpers" "^7.20.7" - "@babel/parser" "^7.20.7" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.12" - "@babel/types" "^7.20.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/eslint-parser@~7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz" - dependencies: - "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" - eslint-visitor-keys "^2.1.0" - semver "^6.3.0" - -"@babel/generator@^7.20.7", "@babel/generator@^7.21.3", "@babel/generator@^7.7.2": - version "7.21.3" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz" - dependencies: - "@babel/types" "^7.21.3" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/generator@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.5.tgz#17d0a1ea6b62f351d281350a5f80b87a810c4755" - dependencies: - "@babel/types" "^7.23.5" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz" - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - lru-cache "^5.1.1" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-member-expression-to-functions" "^7.21.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - -"@babel/helper-function-name@^7.21.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz" - dependencies: - "@babel/template" "^7.20.7" - "@babel/types" "^7.21.0" - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz" - dependencies: - "@babel/types" "^7.21.0" - -"@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@~7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.2": - version "7.21.2" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz" - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.2" - "@babel/types" "^7.21.2" - -"@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" - -"@babel/helper-replace-supers@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz" - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.20.7" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" - dependencies: - "@babel/types" "^7.20.2" - -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz" - dependencies: - "@babel/types" "^7.20.0" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" - -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - -"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.21.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz" - -"@babel/helpers@^7.20.7", "@babel/helpers@^7.21.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz" - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.3": - version "7.21.3" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz" - -"@babel/parser@^7.22.15", "@babel/parser@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.5.tgz#37dee97c4752af148e1d38c34b856b2507660563" - -"@babel/plugin-proposal-class-properties@~7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-object-rest-spread@~7.20.2": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-decorators@^7.19.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.20.0" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-transform-modules-commonjs@^7.19.6": - version "7.21.2" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz" - dependencies: - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-simple-access" "^7.20.2" - -"@babel/plugin-transform-parameters@^7.20.7": - version "7.21.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-typescript@^7.21.0": - version "7.21.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz" - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-typescript" "^7.20.0" - -"@babel/preset-typescript@^7.18.6": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.0.tgz" - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.21.0" - "@babel/plugin-transform-typescript" "^7.21.0" - -"@babel/template@^7.20.7", "@babel/template@^7.3.3": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/template@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/traverse@^7.20.12", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3", "@babel/traverse@^7.7.2": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.5.tgz#f546bf9aba9ef2b042c0e00d245990c15508e7ec" - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.5" - "@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.5" - "@babel/types" "^7.23.5" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.21.3" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz" - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.5.tgz#48d730a00c95109fa4393352705954d74fb5b602" - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - -"@eslint-community/eslint-utils@^4.2.0": - version "4.4.0" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.4.0": - version "4.4.1" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.4.1.tgz" - -"@eslint/eslintrc@^2.0.1": - version "2.0.1" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.1.tgz" - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.5.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.36.0": - version "8.36.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.36.0.tgz" - -"@hapi/hoek@^9.0.0": - version "9.3.0" - resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" - -"@hapi/topo@^5.0.0": - version "5.1.0" - resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" - dependencies: - "@hapi/hoek" "^9.0.0" - -"@humanwhocodes/config-array@^0.11.8": - version "0.11.8" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz" - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - 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" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - -"@jest/console@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz" - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - -"@jest/core@^27.4.7", "@jest/core@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz" - dependencies: - "@jest/console" "^27.5.1" - "@jest/reporters" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^27.5.1" - jest-config "^27.5.1" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-resolve-dependencies "^27.5.1" - jest-runner "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - jest-watcher "^27.5.1" - micromatch "^4.0.4" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz" - dependencies: - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - -"@jest/fake-timers@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz" - dependencies: - "@jest/types" "^27.5.1" - "@sinonjs/fake-timers" "^8.0.1" - "@types/node" "*" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -"@jest/globals@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/types" "^27.5.1" - expect "^27.5.1" - -"@jest/reporters@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz" - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-haste-map "^27.5.1" - jest-resolve "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^8.1.0" - -"@jest/schemas@^29.4.3": - version "29.4.3" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz" - dependencies: - "@sinclair/typebox" "^0.25.16" - -"@jest/source-map@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz" - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.9" - source-map "^0.6.0" - -"@jest/test-result@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz" - dependencies: - "@jest/console" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz" - dependencies: - "@jest/test-result" "^27.5.1" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-runtime "^27.5.1" - -"@jest/transform@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz" - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-regex-util "^27.5.1" - jest-util "^27.5.1" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" - 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" - -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - -"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz" - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@lwc/babel-plugin-component@2.31.0": - version "2.31.0" - resolved "https://registry.npmjs.org/@lwc/babel-plugin-component/-/babel-plugin-component-2.31.0.tgz" - dependencies: - "@babel/helper-module-imports" "~7.18.6" - "@lwc/errors" "2.31.0" - "@lwc/shared" "2.31.0" - line-column "~1.0.2" - -"@lwc/compiler@2.31.0": - version "2.31.0" - resolved "https://registry.npmjs.org/@lwc/compiler/-/compiler-2.31.0.tgz" - dependencies: - "@babel/core" "~7.20.2" - "@babel/plugin-proposal-class-properties" "~7.18.6" - "@babel/plugin-proposal-object-rest-spread" "~7.20.2" - "@lwc/babel-plugin-component" "2.31.0" - "@lwc/errors" "2.31.0" - "@lwc/shared" "2.31.0" - "@lwc/style-compiler" "2.31.0" - "@lwc/template-compiler" "2.31.0" - -"@lwc/engine-dom@2.31.0": - version "2.31.0" - resolved "https://registry.npmjs.org/@lwc/engine-dom/-/engine-dom-2.31.0.tgz" - -"@lwc/errors@2.31.0": - version "2.31.0" - resolved "https://registry.npmjs.org/@lwc/errors/-/errors-2.31.0.tgz" - -"@lwc/eslint-plugin-lwc@^1.1.2": - version "1.6.2" - resolved "https://registry.npmjs.org/@lwc/eslint-plugin-lwc/-/eslint-plugin-lwc-1.6.2.tgz" - dependencies: - globals "^13.20.0" - minimatch "^6.2.0" - -"@lwc/jest-preset@11.5.4": - version "11.5.4" - resolved "https://registry.npmjs.org/@lwc/jest-preset/-/jest-preset-11.5.4.tgz" - dependencies: - "@lwc/jest-resolver" "11.5.4" - "@lwc/jest-serializer" "11.5.4" - "@lwc/jest-transformer" "11.5.4" - -"@lwc/jest-resolver@11.5.4": - version "11.5.4" - resolved "https://registry.npmjs.org/@lwc/jest-resolver/-/jest-resolver-11.5.4.tgz" - -"@lwc/jest-serializer@11.5.4": - version "11.5.4" - resolved "https://registry.npmjs.org/@lwc/jest-serializer/-/jest-serializer-11.5.4.tgz" - dependencies: - pretty-format "^29.3.1" - -"@lwc/jest-transformer@11.5.4": - version "11.5.4" - resolved "https://registry.npmjs.org/@lwc/jest-transformer/-/jest-transformer-11.5.4.tgz" - dependencies: - "@babel/core" "^7.20.5" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-decorators" "^7.19.0" - "@babel/plugin-transform-modules-commonjs" "^7.19.6" - "@babel/preset-typescript" "^7.18.6" - babel-preset-jest "^29.2.0" - -"@lwc/module-resolver@2.31.0": - version "2.31.0" - resolved "https://registry.npmjs.org/@lwc/module-resolver/-/module-resolver-2.31.0.tgz" - dependencies: - resolve "~1.22.1" - -"@lwc/shared@2.31.0": - version "2.31.0" - resolved "https://registry.npmjs.org/@lwc/shared/-/shared-2.31.0.tgz" - -"@lwc/style-compiler@2.31.0": - version "2.31.0" - resolved "https://registry.npmjs.org/@lwc/style-compiler/-/style-compiler-2.31.0.tgz" - dependencies: - "@lwc/shared" "2.31.0" - postcss "~8.4.18" - postcss-selector-parser "~6.0.9" - postcss-value-parser "~4.2.0" - string.prototype.matchall "^4.0.8" - -"@lwc/synthetic-shadow@2.31.0": - version "2.31.0" - resolved "https://registry.npmjs.org/@lwc/synthetic-shadow/-/synthetic-shadow-2.31.0.tgz" - -"@lwc/template-compiler@2.31.0": - version "2.31.0" - resolved "https://registry.npmjs.org/@lwc/template-compiler/-/template-compiler-2.31.0.tgz" - dependencies: - "@lwc/errors" "2.31.0" - "@lwc/shared" "2.31.0" - acorn "~8.8.1" - astring "~1.8.3" - estree-walker "~2.0.2" - he "~1.2.0" - parse5 "~6.0.1" - -"@lwc/wire-service@2.31.0": - version "2.31.0" - resolved "https://registry.npmjs.org/@lwc/wire-service/-/wire-service-2.31.0.tgz" - -"@mdn/browser-compat-data@^3.3.14": - version "3.3.14" - resolved "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz" - -"@mdn/browser-compat-data@^5.2.34": - version "5.2.45" - resolved "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.2.45.tgz" - -"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": - version "5.1.1-v1" - resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" - dependencies: - eslint-scope "5.1.1" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@prettier/plugin-xml@^2.0.1": - version "2.2.0" - resolved "https://registry.npmjs.org/@prettier/plugin-xml/-/plugin-xml-2.2.0.tgz" - dependencies: - "@xml-tools/parser" "^1.0.11" - prettier ">=2.4.0" - -"@salesforce/eslint-config-lwc@^3.2.3": - version "3.4.0" - resolved "https://registry.npmjs.org/@salesforce/eslint-config-lwc/-/eslint-config-lwc-3.4.0.tgz" - dependencies: - "@babel/core" "~7.21.0" - "@babel/eslint-parser" "~7.19.1" - eslint-restricted-globals "~0.2.0" - semver "^7.3.8" - -"@salesforce/eslint-plugin-aura@^2.0.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@salesforce/eslint-plugin-aura/-/eslint-plugin-aura-2.1.0.tgz" - dependencies: - eslint-plugin-compat "^4.0.2" - -"@salesforce/eslint-plugin-lightning@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@salesforce/eslint-plugin-lightning/-/eslint-plugin-lightning-1.0.0.tgz" - -"@salesforce/sfdx-lwc-jest@^1.1.0": - version "1.3.0" - resolved "https://registry.npmjs.org/@salesforce/sfdx-lwc-jest/-/sfdx-lwc-jest-1.3.0.tgz" - dependencies: - "@lwc/compiler" "2.31.0" - "@lwc/engine-dom" "2.31.0" - "@lwc/jest-preset" "11.5.4" - "@lwc/jest-resolver" "11.5.4" - "@lwc/jest-serializer" "11.5.4" - "@lwc/jest-transformer" "11.5.4" - "@lwc/module-resolver" "2.31.0" - "@lwc/synthetic-shadow" "2.31.0" - "@lwc/wire-service" "2.31.0" - "@salesforce/wire-service-jest-util" "4.0.1" - chalk "^4.1.2" - fast-glob "^3.2.12" - jest "27.4.7" - yargs "~17.6.2" - -"@salesforce/wire-service-jest-util@4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@salesforce/wire-service-jest-util/-/wire-service-jest-util-4.0.1.tgz" - -"@sideway/address@^4.1.3": - version "4.1.4" - resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz" - dependencies: - "@hapi/hoek" "^9.0.0" - -"@sideway/formula@^3.0.1": - version "3.0.1" - resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" - -"@sideway/pinpoint@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" - -"@sinclair/typebox@^0.25.16": - version "0.25.24" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz" - -"@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz" - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^8.0.1": - version "8.1.0" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz" - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.20.0" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz" - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@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" - dependencies: - "@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" - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.18.3" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz" - dependencies: - "@babel/types" "^7.3.0" - -"@types/graceful-fs@^4.1.2": - version "4.1.6" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz" - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - -"@types/node@*": - version "18.15.10" - resolved "https://registry.npmjs.org/@types/node/-/node-18.15.10.tgz" - -"@types/prettier@^2.1.5": - version "2.7.2" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz" - -"@types/semver@^7.3.12": - version "7.3.13" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" - -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - -"@types/yargs@^16.0.0": - version "16.0.5" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz" - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/scope-manager@5.56.0": - version "5.56.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.56.0.tgz" - dependencies: - "@typescript-eslint/types" "5.56.0" - "@typescript-eslint/visitor-keys" "5.56.0" - -"@typescript-eslint/types@5.56.0": - version "5.56.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.56.0.tgz" - -"@typescript-eslint/typescript-estree@5.56.0": - version "5.56.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.56.0.tgz" - dependencies: - "@typescript-eslint/types" "5.56.0" - "@typescript-eslint/visitor-keys" "5.56.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@^5.10.0": - version "5.56.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.56.0.tgz" - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.56.0" - "@typescript-eslint/types" "5.56.0" - "@typescript-eslint/typescript-estree" "5.56.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.56.0": - version "5.56.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.56.0.tgz" - dependencies: - "@typescript-eslint/types" "5.56.0" - eslint-visitor-keys "^3.3.0" - -"@xml-tools/parser@^1.0.11": - version "1.0.11" - resolved "https://registry.npmjs.org/@xml-tools/parser/-/parser-1.0.11.tgz" - dependencies: - chevrotain "7.1.1" - -abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - -acorn@^8.2.4, acorn@^8.8.0, acorn@~8.8.1: - version "8.8.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" - -agent-base@6: - version "6.0.2" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" - dependencies: - debug "4" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv@^6.10.0, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - 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" - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - -ansi-styles@^6.0.0: - version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" - -anymatch@^3.0.3: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-includes@^3.1.6: - version "3.1.6" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - -array.prototype.flat@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -ast-metadata-inferer@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz" - dependencies: - "@mdn/browser-compat-data" "^3.3.14" - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" - -astring@~1.8.3: - version "1.8.4" - resolved "https://registry.npmjs.org/astring/-/astring-1.8.4.tgz" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - -axios@^0.25.0: - version "0.25.0" - resolved "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz" - dependencies: - follow-redirects "^1.14.7" - -axios@^1.0.0: - version "1.3.4" - resolved "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz" - dependencies: - follow-redirects "^1.15.0" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -babel-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz" - dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" - 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" - -babel-plugin-jest-hoist@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz" - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-jest-hoist@^29.5.0: - version "29.5.0" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz" - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" - 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" - -babel-preset-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz" - dependencies: - babel-plugin-jest-hoist "^27.5.1" - babel-preset-current-node-syntax "^1.0.0" - -babel-preset-jest@^29.2.0: - version "29.5.0" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz" - dependencies: - babel-plugin-jest-hoist "^29.5.0" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - dependencies: - fill-range "^7.0.1" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" - -browserslist@^4.21.3, browserslist@^4.21.5: - version "4.21.5" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" - dependencies: - caniuse-lite "^1.0.30001449" - electron-to-chromium "^1.4.284" - node-releases "^2.0.8" - update-browserslist-db "^1.0.10" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - -caniuse-lite@^1.0.30001449, caniuse-lite@^1.0.30001451: - version "1.0.30001470" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001470.tgz" - -chalk@^2.0.0, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - -chevrotain@7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/chevrotain/-/chevrotain-7.1.1.tgz" - dependencies: - regexp-to-ast "0.5.0" - -ci-info@^3.2.0: - version "3.8.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz" - -cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - dependencies: - restore-cursor "^3.1.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz" - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cli-truncate@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz" - dependencies: - slice-ansi "^5.0.0" - string-width "^5.0.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - -colorette@^2.0.16: - version "2.0.19" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - dependencies: - delayed-stream "~1.0.0" - -commander@^9.3.0: - version "9.5.0" - resolved "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" - dependencies: - cssom "~0.3.6" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz" - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - dependencies: - ms "2.1.2" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - dependencies: - ms "^2.1.1" - -decimal.js@^10.2.1: - version "10.4.3" - resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" - -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.2.0" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - -diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - dependencies: - path-type "^4.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - dependencies: - esutils "^2.0.2" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" - dependencies: - webidl-conversions "^5.0.0" - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" - -electron-to-chromium@^1.4.284: - version "1.4.340" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.340.tgz" - -emittery@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.21.2" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz" - dependencies: - array-buffer-byte-length "^1.0.0" - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.0" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.10" - is-weakref "^1.0.2" - object-inspect "^1.12.3" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.9" - -es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" - dependencies: - has "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz" - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-import-resolver-node@^0.3.7: - version "0.3.7" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz" - dependencies: - debug "^3.2.7" - is-core-module "^2.11.0" - resolve "^1.22.1" - -eslint-module-utils@^2.7.4: - version "2.7.4" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz" - dependencies: - debug "^3.2.7" - -eslint-plugin-compat@^4.0.2: - version "4.1.2" - resolved "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.1.2.tgz" - dependencies: - "@mdn/browser-compat-data" "^5.2.34" - ast-metadata-inferer "^0.7.0" - browserslist "^4.21.5" - caniuse-lite "^1.0.30001451" - find-up "^5.0.0" - lodash.memoize "4.1.2" - semver "7.3.8" - -eslint-plugin-import@^2.25.4: - version "2.27.5" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz" - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.1" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.7" - eslint-module-utils "^2.7.4" - has "^1.0.3" - is-core-module "^2.11.0" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.6" - resolve "^1.22.1" - semver "^6.3.0" - tsconfig-paths "^3.14.1" - -eslint-plugin-jest@^26.1.2: - version "26.9.0" - resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz" - dependencies: - "@typescript-eslint/utils" "^5.10.0" - -eslint-restricted-globals@~0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.2.0.tgz" - -eslint-scope@5.1.1, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" - -eslint@^8.11.0: - version "8.36.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz" - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.4.0" - "@eslint/eslintrc" "^2.0.1" - "@eslint/js" "8.36.0" - "@humanwhocodes/config-array" "^0.11.8" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - 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.1" - eslint-visitor-keys "^3.3.0" - espree "^9.5.0" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-sdsl "^4.1.4" - 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.1" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.5.0: - version "9.5.0" - resolved "https://registry.npmjs.org/espree/-/espree-9.5.0.tgz" - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - -estree-walker@~2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - -execa@^5.0.0, execa@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - 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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - -expect@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz" - dependencies: - "@jest/types" "^27.5.1" - jest-get-type "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - -fast-glob@^3.2.12, fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - 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" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" - dependencies: - bser "2.1.1" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - dependencies: - flat-cache "^3.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" - -follow-redirects@^1.14.7, follow-redirects@^1.15.0: - version "1.15.2" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - dependencies: - is-callable "^1.1.3" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - -fsevents@^2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functions-have-names@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz" - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - dependencies: - is-glob "^4.0.3" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - -globals@^13.19.0, globals@^13.20.0: - version "13.20.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - dependencies: - define-properties "^1.1.3" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - 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" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - dependencies: - get-intrinsic "^1.1.1" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - dependencies: - has-symbols "^1.0.2" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - dependencies: - function-bind "^1.1.1" - -he@~1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" - dependencies: - whatwg-encoding "^1.0.5" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" - dependencies: - agent-base "6" - debug "4" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - -husky@^7.0.4: - version "7.0.4" - resolved "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - -internal-slot@^1.0.3, internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" - dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" - side-channel "^1.0.4" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - dependencies: - has-bigints "^1.0.1" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - -is-core-module@^2.11.0, is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" - dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - dependencies: - has-tostringtag "^1.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - -is-fullwidth-code-point@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - dependencies: - is-extglob "^2.1.1" - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - dependencies: - call-bind "^1.0.2" - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.9: - version "1.1.10" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - dependencies: - call-bind "^1.0.2" - -isarray@1.0.0, isarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - dependencies: - isarray "1.0.0" - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" - -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.1" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" - 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" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.5" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz" - dependencies: - "@jest/types" "^27.5.1" - execa "^5.0.0" - throat "^6.0.1" - -jest-circus@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - throat "^6.0.1" - -jest-cli@^27.4.7: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz" - dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - prompts "^2.0.1" - yargs "^16.2.0" - -jest-config@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz" - dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - babel-jest "^27.5.1" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.9" - jest-circus "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-get-type "^27.5.1" - jest-jasmine2 "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runner "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^27.5.1" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz" - dependencies: - chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-docblock@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz" - dependencies: - detect-newline "^3.0.0" - -jest-docblock@^29.0.0: - version "29.4.3" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz" - dependencies: - detect-newline "^3.0.0" - -jest-each@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz" - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - jest-get-type "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - -jest-environment-jsdom@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - jsdom "^16.6.0" - -jest-environment-node@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz" - -jest-haste-map@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz" - dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - -jest-jasmine2@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - throat "^6.0.1" - -jest-leak-detector@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz" - dependencies: - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-matcher-utils@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz" - dependencies: - chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-message-util@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz" - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz" - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" - -jest-regex-util@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz" - -jest-resolve-dependencies@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz" - dependencies: - "@jest/types" "^27.5.1" - jest-regex-util "^27.5.1" - jest-snapshot "^27.5.1" - -jest-resolve@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz" - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-pnp-resolver "^1.2.2" - jest-util "^27.5.1" - jest-validate "^27.5.1" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz" - dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.8.1" - graceful-fs "^4.2.9" - jest-docblock "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-haste-map "^27.5.1" - jest-leak-detector "^27.5.1" - jest-message-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runtime "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - source-map-support "^0.5.6" - throat "^6.0.1" - -jest-runtime@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz" - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - execa "^5.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-serializer@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" - dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - -jest-snapshot@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz" - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^27.5.1" - graceful-fs "^4.2.9" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - jest-haste-map "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - natural-compare "^1.4.0" - pretty-format "^27.5.1" - semver "^7.3.2" - -jest-util@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz" - dependencies: - "@jest/types" "^27.5.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^27.5.1" - leven "^3.1.0" - pretty-format "^27.5.1" - -jest-watcher@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz" - dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^27.5.1" - string-length "^4.0.1" - -jest-worker@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@27.4.7: - version "27.4.7" - resolved "https://registry.npmjs.org/jest/-/jest-27.4.7.tgz" - dependencies: - "@jest/core" "^27.4.7" - import-local "^3.0.2" - jest-cli "^27.4.7" - -joi@^17.6.0: - version "17.9.1" - resolved "https://registry.npmjs.org/joi/-/joi-17.9.1.tgz" - dependencies: - "@hapi/hoek" "^9.0.0" - "@hapi/topo" "^5.0.0" - "@sideway/address" "^4.1.3" - "@sideway/formula" "^3.0.1" - "@sideway/pinpoint" "^2.0.0" - -js-sdsl@^4.1.4: - version "4.4.0" - resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - dependencies: - argparse "^2.0.1" - -jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz" - 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" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" - dependencies: - minimist "^1.2.0" - -json5@^2.2.2: - version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lilconfig@2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz" - -line-column@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/line-column/-/line-column-1.0.2.tgz" - dependencies: - isarray "^1.0.0" - isobject "^2.0.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - -lint-staged@^12.3.7: - version "12.5.0" - resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-12.5.0.tgz" - dependencies: - cli-truncate "^3.1.0" - colorette "^2.0.16" - commander "^9.3.0" - debug "^4.3.4" - execa "^5.1.1" - lilconfig "2.0.5" - listr2 "^4.0.5" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-inspect "^1.12.2" - pidtree "^0.5.0" - string-argv "^0.3.1" - supports-color "^9.2.2" - yaml "^1.10.2" - -listr2@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz" - dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.16" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.5" - through "^2.3.8" - wrap-ansi "^7.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - dependencies: - p-locate "^5.0.0" - -lodash.memoize@4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - -lodash@^4.17.21, lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz" - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - dependencies: - yallist "^4.0.0" - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - dependencies: - semver "^6.0.0" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - dependencies: - tmpl "1.0.5" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - -micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - dependencies: - mime-db "1.52.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - dependencies: - brace-expansion "^1.1.7" - -minimatch@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz" - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - -node-releases@^2.0.8: - version "2.0.10" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz" - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - dependencies: - path-key "^3.0.0" - -nwsapi@^2.2.0: - version "2.2.2" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz" - -object-inspect@^1.12.2, object-inspect@^1.12.3, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - -object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.values@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - 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" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - 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" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - dependencies: - p-limit "^3.0.2" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" - dependencies: - aggregate-error "^3.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - dependencies: - callsites "^3.0.0" - -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@6.0.1, parse5@~6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - -picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - -pidtree@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.5.0.tgz" - -pirates@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz" - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - dependencies: - find-up "^4.0.0" - -postcss-selector-parser@~6.0.9: - version "6.0.11" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz" - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@~4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" - -postcss@~8.4.18: - version "8.4.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9" - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - -prettier-plugin-apex@^1.10.0: - version "1.12.0" - resolved "https://registry.npmjs.org/prettier-plugin-apex/-/prettier-plugin-apex-1.12.0.tgz" - dependencies: - axios "^1.0.0" - jest-docblock "^29.0.0" - wait-on "^6.0.0" - yargs "^17.0.0" - -prettier@>=2.4.0, prettier@^2.6.0: - version "2.8.7" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz" - -pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^29.3.1: - version "29.5.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz" - dependencies: - "@jest/schemas" "^29.4.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" - -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" - -punycode@^2.1.0, punycode@^2.1.1: - version "2.3.0" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - -regexp-to-ast@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz" - -regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - -resolve.exports@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz" - -resolve@^1.20.0, resolve@^1.22.1, resolve@~1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - dependencies: - glob "^7.1.3" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - dependencies: - queue-microtask "^1.2.2" - -rxjs@^7.5.4, rxjs@^7.5.5: - version "7.8.0" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz" - dependencies: - tslib "^2.1.0" - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" - dependencies: - xmlchars "^2.2.0" - -semver@7.3.8: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - dependencies: - lru-cache "^6.0.0" - -semver@^6.0.0, semver@^6.3.0: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - -semver@^7.3.2, semver@^7.3.7, semver@^7.3.8: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - dependencies: - lru-cache "^6.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz" - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz" - dependencies: - ansi-styles "^6.0.0" - is-fullwidth-code-point "^4.0.0" - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - -source-map-support@^0.5.6: - version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" - dependencies: - escape-string-regexp "^2.0.0" - -string-argv@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.0: - version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string.prototype.matchall@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.4.3" - side-channel "^1.0.4" - -string.prototype.trim@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - dependencies: - has-flag "^4.0.0" - -supports-color@^9.2.2: - version "9.3.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-9.3.1.tgz" - -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - -throat@^6.0.1: - version "6.0.2" - resolved "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz" - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - dependencies: - is-number "^7.0.0" - -tough-cookie@^4.0.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz" - dependencies: - punycode "^2.1.1" - -tsconfig-paths@^3.14.1: - version "3.14.2" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz" - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - -tslib@^2.1.0: - version "2.5.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz" - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - dependencies: - is-typedarray "^1.0.0" - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" - -update-browserslist-db@^1.0.10: - version "1.0.10" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - dependencies: - punycode "^2.1.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -util-deprecate@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - -v8-to-istanbul@^8.1.0: - version "8.1.1" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz" - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz" - dependencies: - xml-name-validator "^3.0.0" - -wait-on@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz" - dependencies: - axios "^0.25.0" - joi "^17.6.0" - lodash "^4.17.21" - minimist "^1.2.5" - rxjs "^7.5.4" - -walker@^1.0.7: - version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - dependencies: - makeerror "1.0.12" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz" - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-typed-array@^1.1.9: - version "1.1.9" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.10" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.6: - version "7.5.9" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - -yaml@^1.10.2: - version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - 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" - -yargs@^17.0.0: - version "17.7.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz" - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yargs@~17.6.2: - version "17.6.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz" - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" diff --git a/NameAndSignatureCapture/.prettierignore b/NameAndSignatureCapture/.prettierignore deleted file mode 100755 index f3720b2..0000000 --- a/NameAndSignatureCapture/.prettierignore +++ /dev/null @@ -1,10 +0,0 @@ -# List files or directories below to ignore them when running prettier -# More information: https://prettier.io/docs/en/ignore.html -# - -**/staticresources/** -.localdevserver -.sfdx -.vscode - -coverage/ \ No newline at end of file diff --git a/NameAndSignatureCapture/.prettierrc b/NameAndSignatureCapture/.prettierrc deleted file mode 100755 index 15683b6..0000000 --- a/NameAndSignatureCapture/.prettierrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "trailingComma": "none", - "overrides": [ - { - "files": "**/lwc/**/*.html", - "options": { "parser": "lwc" } - }, - { - "files": "*.{cmp,page,component}", - "options": { "parser": "html" } - } - ] -} diff --git a/NameAndSignatureCapture/package-lock.json b/NameAndSignatureCapture/package-lock.json deleted file mode 100644 index 27f42ca..0000000 --- a/NameAndSignatureCapture/package-lock.json +++ /dev/null @@ -1,14378 +0,0 @@ -{ - "name": "salesforce-app", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "salesforce-app", - "version": "1.0.0", - "devDependencies": { - "@lwc/eslint-plugin-lwc": "^1.1.2", - "@prettier/plugin-xml": "^2.0.1", - "@salesforce/eslint-config-lwc": "^3.2.3", - "@salesforce/eslint-plugin-aura": "^2.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "@salesforce/sfdx-lwc-jest": "^1.3.0", - "eslint": "^8.11.0", - "eslint-plugin-import": "^2.25.4", - "eslint-plugin-jest": "^26.1.2", - "prettier": "^2.6.0", - "prettier-plugin-apex": "^1.10.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.21.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.21.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-compilation-targets": "^7.21.5", - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helpers": "^7.21.5", - "@babel/parser": "^7.21.8", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/eslint-parser": { - "version": "7.21.8", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "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.21.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.5", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.21.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-member-expression-to-functions": "^7.21.5", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.21.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@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-object-rest-spread": { - "version": "7.20.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.21.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-simple-access": "^7.21.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.21.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.21.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.21.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-syntax-jsx": "^7.21.4", - "@babel/plugin-transform-modules-commonjs": "^7.21.5", - "@babel/plugin-transform-typescript": "^7.21.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.5.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "8.40.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/schemas": { - "version": "29.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.25.16" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "dev": true, - "license": "MIT" - }, - "node_modules/@lwc/babel-plugin-component": { - "version": "2.31.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "~7.18.6", - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "line-column": "~1.0.2" - }, - "peerDependencies": { - "@babel/core": "^7" - } - }, - "node_modules/@lwc/babel-plugin-component/node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@lwc/compiler": { - "version": "2.31.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "~7.20.2", - "@babel/plugin-proposal-class-properties": "~7.18.6", - "@babel/plugin-proposal-object-rest-spread": "~7.20.2", - "@lwc/babel-plugin-component": "2.31.0", - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "@lwc/style-compiler": "2.31.0", - "@lwc/template-compiler": "2.31.0" - } - }, - "node_modules/@lwc/compiler/node_modules/@babel/core": { - "version": "7.20.12", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@lwc/engine-dom": { - "version": "2.31.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@lwc/engine-server": { - "version": "2.45.2", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "parse5": "^6.0.1" - } - }, - "node_modules/@lwc/errors": { - "version": "2.31.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@lwc/eslint-plugin-lwc": { - "version": "1.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "globals": "^13.20.0", - "minimatch": "^6.2.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "@babel/eslint-parser": "^7", - "eslint": "^7 || ^8" - } - }, - "node_modules/@lwc/eslint-plugin-lwc/node_modules/globals": { - "version": "13.20.0", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lwc/eslint-plugin-lwc/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@lwc/jest-preset": { - "version": "11.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@lwc/jest-resolver": "11.5.4", - "@lwc/jest-serializer": "11.5.4", - "@lwc/jest-transformer": "11.5.4" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@lwc/compiler": "*", - "@lwc/engine-dom": "*", - "@lwc/engine-server": ">=2", - "@lwc/synthetic-shadow": "*", - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-resolver": { - "version": "11.5.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-serializer": { - "version": "11.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "pretty-format": "^29.3.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/jest-transformer": { - "version": "11.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.20.5", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-decorators": "^7.19.0", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/preset-typescript": "^7.18.6", - "babel-preset-jest": "^29.2.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@lwc/compiler": "*", - "jest": "^26 || ^27 || ^28 || ^29" - } - }, - "node_modules/@lwc/module-resolver": { - "version": "2.31.0", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve": "~1.22.1" - } - }, - "node_modules/@lwc/shared": { - "version": "2.31.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@lwc/style-compiler": { - "version": "2.31.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@lwc/shared": "2.31.0", - "postcss": "~8.4.18", - "postcss-selector-parser": "~6.0.9", - "postcss-value-parser": "~4.2.0", - "string.prototype.matchall": "^4.0.8" - } - }, - "node_modules/@lwc/synthetic-shadow": { - "version": "2.31.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@lwc/template-compiler": { - "version": "2.31.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "acorn": "~8.8.1", - "astring": "~1.8.3", - "estree-walker": "~2.0.2", - "he": "~1.2.0", - "parse5": "~6.0.1" - } - }, - "node_modules/@lwc/wire-service": { - "version": "2.31.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@mdn/browser-compat-data": { - "version": "5.2.57", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-scope": "5.1.1" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@prettier/plugin-xml": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@xml-tools/parser": "^1.0.11", - "prettier": ">=2.4.0" - } - }, - "node_modules/@salesforce/eslint-config-lwc": { - "version": "3.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "~7.21.0", - "@babel/eslint-parser": "~7.19.1", - "eslint-restricted-globals": "~0.2.0", - "semver": "^7.3.8" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "@lwc/eslint-plugin-lwc": "^1.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "eslint": "^7 || ^8", - "eslint-plugin-import": "*", - "eslint-plugin-jest": "*" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/@babel/eslint-parser": { - "version": "7.19.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/semver": { - "version": "7.5.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@salesforce/eslint-config-lwc/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/@salesforce/eslint-plugin-aura": { - "version": "2.1.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "eslint-plugin-compat": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": "^7 || ^8" - } - }, - "node_modules/@salesforce/eslint-plugin-lightning": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": "^7 || ^8" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@lwc/compiler": "2.31.0", - "@lwc/engine-dom": "2.31.0", - "@lwc/jest-preset": "11.5.4", - "@lwc/jest-resolver": "11.5.4", - "@lwc/jest-serializer": "11.5.4", - "@lwc/jest-transformer": "11.5.4", - "@lwc/module-resolver": "2.31.0", - "@lwc/synthetic-shadow": "2.31.0", - "@lwc/wire-service": "2.31.0", - "@salesforce/wire-service-jest-util": "4.0.1", - "chalk": "^4.1.2", - "fast-glob": "^3.2.12", - "jest": "27.4.7", - "yargs": "~17.6.2" - }, - "bin": { - "lwc-jest": "bin/sfdx-lwc-jest", - "sfdx-lwc-jest": "bin/sfdx-lwc-jest" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@salesforce/sfdx-lwc-jest/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@salesforce/wire-service-jest-util": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@lwc/engine-dom": "^2.0.0" - } - }, - "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.25.24", - "dev": true, - "license": "MIT" - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.18.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.1.5", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prettier": { - "version": "2.7.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/semver": { - "version": "7.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/yargs": { - "version": "16.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.59.6", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.6", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.59.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.5.1", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.59.6", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@xml-tools/parser": { - "version": "1.0.11", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "chevrotain": "7.1.1" - } - }, - "node_modules/abab": { - "version": "2.0.6", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/acorn": { - "version": "8.8.2", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "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.3", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-metadata-inferer": { - "version": "0.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@mdn/browser-compat-data": "^5.2.34" - } - }, - "node_modules/astring": { - "version": "1.8.4", - "dev": true, - "license": "MIT", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/babel-jest": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/babel-jest/node_modules/babel-preset-jest": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/browserslist": { - "version": "4.21.5", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/call-bind": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001487", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/chevrotain": { - "version": "7.1.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "regexp-to-ast": "0.5.0" - } - }, - "node_modules/ci-info": { - "version": "3.8.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui": { - "version": "8.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/co": { - "version": "4.6.0", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "dev": true, - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "dev": true, - "license": "MIT" - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "dev": true, - "license": "MIT" - }, - "node_modules/data-urls": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.4.3", - "dev": true, - "license": "MIT" - }, - "node_modules/dedent": { - "version": "0.7.0", - "dev": true, - "license": "MIT" - }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/domexception": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.396", - "dev": true, - "license": "ISC" - }, - "node_modules/emittery": { - "version": "0.8.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/error-ex": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.21.2", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "dev": true, - "license": "BSD-2-Clause", - "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", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "dev": true, - "license": "MIT", - "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", - "dev": true, - "license": "MIT", - "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", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.40.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "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.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-compat": { - "version": "4.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@mdn/browser-compat-data": "^5.2.47", - "@tsconfig/node14": "^1.0.3", - "ast-metadata-inferer": "^0.8.0", - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001473", - "find-up": "^5.0.0", - "lodash.memoize": "4.1.2", - "semver": "7.3.8" - }, - "engines": { - "node": ">=14.x" - }, - "peerDependencies": { - "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-compat/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-compat/node_modules/semver": { - "version": "7.3.8", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-compat/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/eslint-plugin-import": { - "version": "2.27.5", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-jest": { - "version": "26.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/utils": "^5.10.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^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-restricted-globals": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "dev": true, - "license": "MIT", - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.5.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.15.0", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "dev": true, - "license": "ISC" - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/has": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/he": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "5.2.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.12.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/isobject": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "license": "BSD-3-Clause", - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "27.4.7", - "dev": true, - "license": "MIT", - "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.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/cliui": { - "version": "7.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "16.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-cli/node_modules/yargs-parser": { - "version": "20.2.9", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-config": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-docblock": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-jasmine2": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-jasmine2/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-jasmine2/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-leak-detector/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-leak-detector/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-mock": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.5.1", - "dev": true, - "license": "ISC", - "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", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/jest-util": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/pretty-format": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/react-is": { - "version": "17.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", - "dev": true, - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-sdsl": { - "version": "4.4.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, - "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": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "16.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/line-column": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "^1.0.0", - "isobject": "^2.0.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "6.2.0", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.6", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/node-int64": { - "version": "0.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.10", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nwsapi": { - "version": "2.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "dev": true, - "license": "MIT", - "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": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "dev": true, - "license": "MIT" - }, - "node_modules/path-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.8.8", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-plugin-apex": { - "version": "1.13.0", - "dev": true, - "license": "MIT", - "dependencies": { - "axios": "^1.0.0", - "jest-docblock": "^29.0.0", - "wait-on": "^7.0.0", - "yargs": "^17.0.0" - }, - "bin": { - "apex-ast-serializer": "vendor/apex-ast-serializer/bin/apex-ast-serializer", - "apex-ast-serializer-http": "vendor/apex-ast-serializer/bin/apex-ast-serializer-http", - "start-apex-server": "dist/bin/start-apex-server.js", - "stop-apex-server": "dist/bin/stop-apex-server.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "peerDependencies": { - "prettier": "^2.0.0" - } - }, - "node_modules/prettier-plugin-apex/node_modules/jest-docblock": { - "version": "29.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format": { - "version": "29.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.4.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/psl": { - "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/punycode": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/regexp-to-ast": { - "version": "0.5.0", - "dev": true, - "license": "MIT" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/rxjs/node_modules/tslib": { - "version": "2.5.0", - "dev": true, - "license": "0BSD" - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/saxes": { - "version": "5.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "dev": true, - "license": "ISC" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "dev": true, - "license": "MIT" - }, - "node_modules/slash": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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.3.0", - "dev": true, - "license": "MIT", - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/throat": { - "version": "6.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/tmpl": { - "version": "1.0.5", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "5.0.4", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/universalify": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "dev": true, - "license": "MIT", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.4", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/wait-on": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", - "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", - "dev": true, - "dependencies": { - "axios": "^1.6.1", - "joi": "^17.11.0", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.1" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=10.4" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "2.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.9", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs": { - "version": "17.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.1", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - } - }, - "@babel/compat-data": { - "version": "7.21.7", - "dev": true - }, - "@babel/core": { - "version": "7.21.8", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-compilation-targets": "^7.21.5", - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helpers": "^7.21.5", - "@babel/parser": "^7.21.8", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - } - }, - "@babel/eslint-parser": { - "version": "7.21.8", - "dev": true, - "peer": true, - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/compat-data": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.21.8", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.5", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.21.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6", - "semver": "^6.3.0" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/types": "^7.21.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.21.4", - "dev": true, - "requires": { - "@babel/types": "^7.21.4" - } - }, - "@babel/helper-module-transforms": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.21.5", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-member-expression-to-functions": "^7.21.5", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/types": "^7.21.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "dev": true, - "requires": { - "@babel/types": "^7.20.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.21.0", - "dev": true - }, - "@babel/helpers": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" - } - }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.21.0", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.21.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.21.4", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-simple-access": "^7.21.5" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.21.3", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.21.3", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - } - }, - "@babel/preset-typescript": { - "version": "7.21.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-syntax-jsx": "^7.21.4", - "@babel/plugin-transform-modules-commonjs": "^7.21.5", - "@babel/plugin-transform-typescript": "^7.21.3" - } - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - } - } - }, - "@eslint-community/regexpp": { - "version": "4.5.1", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.0.3", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.2", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "globals": { - "version": "13.20.0", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "type-fest": { - "version": "0.20.2", - "dev": true - } - } - }, - "@eslint/js": { - "version": "8.40.0", - "dev": true - }, - "@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@humanwhocodes/config-array": { - "version": "0.11.8", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "dev": true - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "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": { - "argparse": { - "version": "1.0.10", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "find-up": { - "version": "4.1.0", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "dev": true - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "dev": true - }, - "@jest/console": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - } - }, - "@jest/fake-timers": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "@jest/globals": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - } - }, - "@jest/reporters": { - "version": "27.5.1", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "29.4.3", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.25.16" - } - }, - "@jest/source-map": { - "version": "27.5.1", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - } - }, - "@jest/transform": { - "version": "27.5.1", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "27.5.1", - "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", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "dev": true - } - } - }, - "@lwc/babel-plugin-component": { - "version": "2.31.0", - "dev": true, - "requires": { - "@babel/helper-module-imports": "~7.18.6", - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "line-column": "~1.0.2" - }, - "dependencies": { - "@babel/helper-module-imports": { - "version": "7.18.6", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - } - } - }, - "@lwc/compiler": { - "version": "2.31.0", - "dev": true, - "requires": { - "@babel/core": "~7.20.2", - "@babel/plugin-proposal-class-properties": "~7.18.6", - "@babel/plugin-proposal-object-rest-spread": "~7.20.2", - "@lwc/babel-plugin-component": "2.31.0", - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "@lwc/style-compiler": "2.31.0", - "@lwc/template-compiler": "2.31.0" - }, - "dependencies": { - "@babel/core": { - "version": "7.20.12", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - } - } - } - }, - "@lwc/engine-dom": { - "version": "2.31.0", - "dev": true - }, - "@lwc/engine-server": { - "version": "2.45.2", - "dev": true, - "peer": true, - "requires": { - "parse5": "^6.0.1" - } - }, - "@lwc/errors": { - "version": "2.31.0", - "dev": true - }, - "@lwc/eslint-plugin-lwc": { - "version": "1.6.2", - "dev": true, - "requires": { - "globals": "^13.20.0", - "minimatch": "^6.2.0" - }, - "dependencies": { - "globals": { - "version": "13.20.0", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "type-fest": { - "version": "0.20.2", - "dev": true - } - } - }, - "@lwc/jest-preset": { - "version": "11.5.4", - "dev": true, - "requires": { - "@lwc/jest-resolver": "11.5.4", - "@lwc/jest-serializer": "11.5.4", - "@lwc/jest-transformer": "11.5.4" - } - }, - "@lwc/jest-resolver": { - "version": "11.5.4", - "dev": true, - "requires": {} - }, - "@lwc/jest-serializer": { - "version": "11.5.4", - "dev": true, - "requires": { - "pretty-format": "^29.3.1" - } - }, - "@lwc/jest-transformer": { - "version": "11.5.4", - "dev": true, - "requires": { - "@babel/core": "^7.20.5", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-decorators": "^7.19.0", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/preset-typescript": "^7.18.6", - "babel-preset-jest": "^29.2.0" - } - }, - "@lwc/module-resolver": { - "version": "2.31.0", - "dev": true, - "requires": { - "resolve": "~1.22.1" - } - }, - "@lwc/shared": { - "version": "2.31.0", - "dev": true - }, - "@lwc/style-compiler": { - "version": "2.31.0", - "dev": true, - "requires": { - "@lwc/shared": "2.31.0", - "postcss": "~8.4.18", - "postcss-selector-parser": "~6.0.9", - "postcss-value-parser": "~4.2.0", - "string.prototype.matchall": "^4.0.8" - } - }, - "@lwc/synthetic-shadow": { - "version": "2.31.0", - "dev": true - }, - "@lwc/template-compiler": { - "version": "2.31.0", - "dev": true, - "requires": { - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "acorn": "~8.8.1", - "astring": "~1.8.3", - "estree-walker": "~2.0.2", - "he": "~1.2.0", - "parse5": "~6.0.1" - } - }, - "@lwc/wire-service": { - "version": "2.31.0", - "dev": true - }, - "@mdn/browser-compat-data": { - "version": "5.2.57", - "dev": true - }, - "@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "dev": true, - "requires": { - "eslint-scope": "5.1.1" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@prettier/plugin-xml": { - "version": "2.2.0", - "dev": true, - "requires": { - "@xml-tools/parser": "^1.0.11", - "prettier": ">=2.4.0" - } - }, - "@salesforce/eslint-config-lwc": { - "version": "3.4.0", - "dev": true, - "requires": { - "@babel/core": "~7.21.0", - "@babel/eslint-parser": "~7.19.1", - "eslint-restricted-globals": "~0.2.0", - "semver": "^7.3.8" - }, - "dependencies": { - "@babel/eslint-parser": { - "version": "7.19.1", - "dev": true, - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "dev": true - } - } - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@salesforce/eslint-plugin-aura": { - "version": "2.1.0", - "dev": true, - "requires": { - "eslint-plugin-compat": "^4.0.2" - } - }, - "@salesforce/eslint-plugin-lightning": { - "version": "1.0.0", - "dev": true, - "requires": {} - }, - "@salesforce/sfdx-lwc-jest": { - "version": "1.3.0", - "dev": true, - "requires": { - "@lwc/compiler": "2.31.0", - "@lwc/engine-dom": "2.31.0", - "@lwc/jest-preset": "11.5.4", - "@lwc/jest-resolver": "11.5.4", - "@lwc/jest-serializer": "11.5.4", - "@lwc/jest-transformer": "11.5.4", - "@lwc/module-resolver": "2.31.0", - "@lwc/synthetic-shadow": "2.31.0", - "@lwc/wire-service": "2.31.0", - "@salesforce/wire-service-jest-util": "4.0.1", - "chalk": "^4.1.2", - "fast-glob": "^3.2.12", - "jest": "27.4.7", - "yargs": "~17.6.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@salesforce/wire-service-jest-util": { - "version": "4.0.1", - "dev": true, - "requires": {} - }, - "@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "@sinclair/typebox": { - "version": "0.25.24", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.6", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "dev": true - }, - "@types/babel__core": { - "version": "7.20.0", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.18.5", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/graceful-fs": { - "version": "4.1.6", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-schema": { - "version": "7.0.11", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "dev": true - }, - "@types/node": { - "version": "20.1.5", - "dev": true - }, - "@types/prettier": { - "version": "2.7.2", - "dev": true - }, - "@types/semver": { - "version": "7.5.0", - "dev": true - }, - "@types/stack-utils": { - "version": "2.0.1", - "dev": true - }, - "@types/yargs": { - "version": "16.0.5", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "dev": true - }, - "@typescript-eslint/scope-manager": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6" - } - }, - "@typescript-eslint/types": { - "version": "5.59.6", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/visitor-keys": "5.59.6", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@typescript-eslint/utils": { - "version": "5.59.6", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.6", - "@typescript-eslint/types": "5.59.6", - "@typescript-eslint/typescript-estree": "5.59.6", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.59.6", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.59.6", - "eslint-visitor-keys": "^3.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - } - } - }, - "@xml-tools/parser": { - "version": "1.0.11", - "dev": true, - "requires": { - "chevrotain": "7.1.1" - } - }, - "abab": { - "version": "2.0.6", - "dev": true - }, - "acorn": { - "version": "8.8.2", - "dev": true - }, - "acorn-globals": { - "version": "6.0.0", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "dev": true - } - } - }, - "acorn-jsx": { - "version": "5.3.2", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "7.2.0", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "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" - } - }, - "ansi-escapes": { - "version": "4.3.2", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "ansi-regex": { - "version": "5.0.1", - "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.3", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "2.0.1", - "dev": true - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-includes": { - "version": "3.1.6", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "dev": true - }, - "array.prototype.flat": { - "version": "1.3.1", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "ast-metadata-inferer": { - "version": "0.8.0", - "dev": true, - "requires": { - "@mdn/browser-compat-data": "^5.2.34" - } - }, - "astring": { - "version": "1.8.4", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.5", - "dev": true - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "dev": true, - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "babel-jest": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.5.1", - "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-preset-jest": { - "version": "27.5.1", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "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": "29.5.0", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "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": "29.5.0", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "dev": true - }, - "brace-expansion": { - "version": "2.0.1", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "braces": { - "version": "3.0.2", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "dev": true - }, - "browserslist": { - "version": "4.21.5", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - } - }, - "bser": { - "version": "2.1.1", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001487", - "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", - "dev": true - }, - "chevrotain": { - "version": "7.1.1", - "dev": true, - "requires": { - "regexp-to-ast": "0.5.0" - } - }, - "ci-info": { - "version": "3.8.0", - "dev": true - }, - "cjs-module-lexer": { - "version": "1.2.2", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "co": { - "version": "4.6.0", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "dev": true - }, - "convert-source-map": { - "version": "1.9.0", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "cssesc": { - "version": "3.0.0", - "dev": true - }, - "cssom": { - "version": "0.4.4", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "dev": true - } - } - }, - "data-urls": { - "version": "2.0.0", - "dev": true, - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.3.4", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.4.3", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "dev": true - }, - "deep-is": { - "version": "0.1.4", - "dev": true - }, - "deepmerge": { - "version": "4.3.1", - "dev": true - }, - "define-properties": { - "version": "1.2.0", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "dev": true - }, - "detect-newline": { - "version": "3.1.0", - "dev": true - }, - "diff-sequences": { - "version": "27.5.1", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "domexception": { - "version": "2.0.1", - "dev": true, - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "dev": true - } - } - }, - "electron-to-chromium": { - "version": "1.4.396", - "dev": true - }, - "emittery": { - "version": "0.8.1", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.21.2", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - } - }, - "es-set-tostringtag": { - "version": "2.0.1", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "escodegen": { - "version": "2.0.0", - "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", - "dev": true - }, - "levn": { - "version": "0.3.0", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "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", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "8.40.0", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.3", - "@eslint/js": "8.40.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "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.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.5.2", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "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.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "dev": true - }, - "eslint-scope": { - "version": "7.2.0", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - }, - "estraverse": { - "version": "5.3.0", - "dev": true - }, - "globals": { - "version": "13.20.0", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "dev": true - } - } - }, - "eslint-import-resolver-node": { - "version": "0.3.7", - "dev": true, - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.8.0", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-compat": { - "version": "4.1.4", - "dev": true, - "requires": { - "@mdn/browser-compat-data": "^5.2.47", - "@tsconfig/node14": "^1.0.3", - "ast-metadata-inferer": "^0.8.0", - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001473", - "find-up": "^5.0.0", - "lodash.memoize": "4.1.2", - "semver": "7.3.8" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.8", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "eslint-plugin-import": { - "version": "2.27.5", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "debug": { - "version": "3.2.7", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "eslint-plugin-jest": { - "version": "26.9.0", - "dev": true, - "requires": { - "@typescript-eslint/utils": "^5.10.0" - } - }, - "eslint-restricted-globals": { - "version": "0.2.0", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "dev": true - }, - "espree": { - "version": "9.5.2", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.4.1", - "dev": true - } - } - }, - "esprima": { - "version": "4.0.1", - "dev": true - }, - "esquery": { - "version": "1.5.0", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "dev": true - }, - "estree-walker": { - "version": "2.0.2", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "dev": true - }, - "execa": { - "version": "5.1.1", - "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", - "dev": true - }, - "expect": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "dev": true - }, - "fast-glob": { - "version": "3.2.12", - "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", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "dev": true - }, - "follow-redirects": { - "version": "1.15.2", - "dev": true - }, - "for-each": { - "version": "0.3.3", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "form-data": { - "version": "3.0.1", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "dev": true - }, - "function.prototype.name": { - "version": "1.1.5", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-package-type": { - "version": "0.1.0", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "dev": true - }, - "get-symbol-description": { - "version": "1.0.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.2.3", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "glob-parent": { - "version": "6.0.2", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "11.12.0", - "dev": true - }, - "globalthis": { - "version": "1.0.3", - "dev": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "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" - } - }, - "gopd": { - "version": "1.0.1", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "dev": true - }, - "grapheme-splitter": { - "version": "1.0.4", - "dev": true - }, - "has": { - "version": "1.0.3", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "dev": true - }, - "has-symbols": { - "version": "1.0.3", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "he": { - "version": "1.2.0", - "dev": true - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-escaper": { - "version": "2.0.2", - "dev": true - }, - "http-proxy-agent": { - "version": "4.0.1", - "dev": true, - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore": { - "version": "5.2.4", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "3.1.0", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "dev": true - }, - "internal-slot": { - "version": "1.0.5", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "dev": true - }, - "is-core-module": { - "version": "2.12.0", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-negative-zero": { - "version": "2.0.2", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "dev": true - }, - "is-number-object": { - "version": "1.0.7", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-path-inside": { - "version": "3.0.3", - "dev": true - }, - "is-potential-custom-element-name": { - "version": "1.0.1", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.10", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "dev": true - }, - "is-weakref": { - "version": "1.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "isarray": { - "version": "1.0.0", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "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", - "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", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.5", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "27.4.7", - "dev": true, - "requires": { - "@jest/core": "^27.4.7", - "import-local": "^3.0.2", - "jest-cli": "^27.4.7" - } - }, - "jest-changed-files": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - } - }, - "jest-circus": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-cli": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "7.0.4", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yargs": { - "version": "16.2.0", - "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", - "dev": true - } - } - }, - "jest-config": { - "version": "27.5.1", - "dev": true, - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "27.5.1", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "27.5.1", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - } - }, - "jest-environment-node": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "dev": true - }, - "jest-haste-map": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@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.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "27.5.1", - "dev": true, - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - } - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "27.5.1", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "27.5.1", - "dev": true - }, - "jest-resolve": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - } - }, - "jest-runner": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-serializer": { - "version": "27.5.1", - "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, - "jest-snapshot": { - "version": "27.5.1", - "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.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "semver": { - "version": "7.5.1", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "dev": true - } - } - }, - "jest-util": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "6.3.0", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "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", - "dev": true - } - } - }, - "react-is": { - "version": "17.0.2", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "27.5.1", - "dev": true, - "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "27.5.1", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "js-sdsl": { - "version": "4.4.0", - "dev": true - }, - "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": "4.1.0", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "jsdom": { - "version": "16.7.0", - "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" - } - }, - "jsesc": { - "version": "2.5.2", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true - }, - "json5": { - "version": "2.2.3", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "dev": true - }, - "leven": { - "version": "3.1.0", - "dev": true - }, - "levn": { - "version": "0.4.1", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "line-column": { - "version": "1.0.2", - "dev": true, - "requires": { - "isarray": "^1.0.0", - "isobject": "^2.0.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "dev": true - }, - "locate-path": { - "version": "6.0.0", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "dev": true - }, - "lodash.merge": { - "version": "4.6.2", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "3.1.0", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "makeerror": { - "version": "1.0.12", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "merge-stream": { - "version": "2.0.0", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "dev": true - }, - "minimatch": { - "version": "6.2.0", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minimist": { - "version": "1.2.8", - "dev": true - }, - "ms": { - "version": "2.1.2", - "dev": true - }, - "nanoid": { - "version": "3.3.6", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "dev": true - }, - "node-releases": { - "version": "2.0.10", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "nwsapi": { - "version": "2.2.4", - "dev": true - }, - "object-inspect": { - "version": "1.12.3", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.values": { - "version": "1.1.6", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "once": { - "version": "1.4.0", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "optionator": { - "version": "0.9.1", - "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": "3.1.0", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-try": { - "version": "2.2.0", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "6.0.1", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "dev": true - }, - "pirates": { - "version": "4.0.5", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "dev": true, - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-selector-parser": { - "version": "6.0.13", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "dev": true - }, - "prelude-ls": { - "version": "1.2.1", - "dev": true - }, - "prettier": { - "version": "2.8.8", - "dev": true - }, - "prettier-plugin-apex": { - "version": "1.13.0", - "dev": true, - "requires": { - "axios": "^1.0.0", - "jest-docblock": "^29.0.0", - "wait-on": "^7.0.0", - "yargs": "^17.0.0" - }, - "dependencies": { - "jest-docblock": { - "version": "29.4.3", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - } - } - }, - "pretty-format": { - "version": "29.5.0", - "dev": true, - "requires": { - "@jest/schemas": "^29.4.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "dev": true - } - } - }, - "prompts": { - "version": "2.4.2", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "dev": true - }, - "psl": { - "version": "1.9.0", - "dev": true - }, - "punycode": { - "version": "2.3.0", - "dev": true - }, - "querystringify": { - "version": "2.2.0", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "dev": true - }, - "react-is": { - "version": "18.2.0", - "dev": true - }, - "regexp-to-ast": { - "version": "0.5.0", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "require-directory": { - "version": "2.1.1", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "dev": true - }, - "resolve": { - "version": "1.22.2", - "dev": true, - "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "dev": true - }, - "resolve.exports": { - "version": "1.1.1", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "7.8.1", - "dev": true, - "requires": { - "tslib": "^2.1.0" - }, - "dependencies": { - "tslib": { - "version": "2.5.0", - "dev": true - } - } - }, - "safe-regex-test": { - "version": "1.0.0", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "dev": true - }, - "saxes": { - "version": "5.0.1", - "dev": true, - "requires": { - "xmlchars": "^2.2.0" - } - }, - "semver": { - "version": "6.3.0", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "dev": true - }, - "sisteransi": { - "version": "1.0.5", - "dev": true - }, - "slash": { - "version": "3.0.0", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "dev": true - }, - "source-map-js": { - "version": "1.0.2", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "dev": true - }, - "stack-utils": { - "version": "2.0.6", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "dev": true - } - } - }, - "string-length": { - "version": "4.0.2", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string.prototype.matchall": { - "version": "4.0.8", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trim": { - "version": "1.2.7", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "strip-ansi": { - "version": "6.0.1", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "dev": true - }, - "strip-json-comments": { - "version": "3.1.1", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "dev": true - }, - "symbol-tree": { - "version": "3.2.4", - "dev": true - }, - "terminal-link": { - "version": "2.1.1", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "test-exclude": { - "version": "6.0.0", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "dev": true - }, - "throat": { - "version": "6.0.2", - "dev": true - }, - "tmpl": { - "version": "1.0.5", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - } - }, - "tr46": { - "version": "2.1.0", - "dev": true, - "requires": { - "punycode": "^2.1.1" - } - }, - "tsconfig-paths": { - "version": "3.14.2", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "dev": true - } - } - }, - "tslib": { - "version": "1.14.1", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type-check": { - "version": "0.4.0", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "dev": true - }, - "type-fest": { - "version": "0.21.3", - "dev": true - }, - "typed-array-length": { - "version": "1.0.4", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "5.0.4", - "dev": true, - "peer": true - }, - "unbox-primitive": { - "version": "1.0.2", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "universalify": { - "version": "0.2.0", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.11", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "url-parse": { - "version": "1.5.10", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "dev": true - }, - "v8-to-istanbul": { - "version": "8.1.1", - "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.4", - "dev": true - } - } - }, - "w3c-hr-time": { - "version": "1.0.2", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "dev": true, - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "wait-on": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", - "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", - "dev": true, - "requires": { - "axios": "^1.6.1", - "joi": "^17.11.0", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.1" - } - }, - "walker": { - "version": "1.0.8", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "dev": true - }, - "whatwg-url": { - "version": "8.7.0", - "dev": true, - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-typed-array": { - "version": "1.1.9", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, - "word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "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", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "dev": true - }, - "write-file-atomic": { - "version": "3.0.3", - "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.9", - "dev": true, - "requires": {} - }, - "xml-name-validator": { - "version": "3.0.0", - "dev": true - }, - "xmlchars": { - "version": "2.2.0", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "dev": true - }, - "yargs": { - "version": "17.6.2", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "dev": true - } - } -} diff --git a/NameAndSignatureCapture/package.json b/NameAndSignatureCapture/package.json deleted file mode 100644 index c8b953b..0000000 --- a/NameAndSignatureCapture/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "salesforce-app", - "private": true, - "version": "1.0.0", - "description": "Salesforce App", - "scripts": { - "lint": "eslint **/lwc/**", - "test": "npm run test:unit", - "test:unit": "sfdx-lwc-jest", - "test:unit:watch": "sfdx-lwc-jest --watch", - "test:unit:debug": "sfdx-lwc-jest --debug", - "test:unit:coverage": "sfdx-lwc-jest --coverage", - "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", - "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"" - }, - "devDependencies": { - "@lwc/eslint-plugin-lwc": "^1.1.2", - "@prettier/plugin-xml": "^2.0.1", - "@salesforce/eslint-config-lwc": "^3.2.3", - "@salesforce/eslint-plugin-aura": "^2.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "@salesforce/sfdx-lwc-jest": "^1.3.0", - "eslint": "^8.11.0", - "eslint-plugin-import": "^2.25.4", - "eslint-plugin-jest": "^26.1.2", - "prettier": "^2.6.0", - "prettier-plugin-apex": "^1.10.0" - } -} diff --git a/NameAndSignatureCapture/sfdx-project.json b/NameAndSignatureCapture/sfdx-project.json deleted file mode 100644 index 520e373..0000000 --- a/NameAndSignatureCapture/sfdx-project.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "packageDirectories": [ - { - "path": "force-app", - "default": true - } - ], - "name": "NameAndSignatureCapture", - "namespace": "", - "sfdcLoginUrl": "https://login.salesforce.com", - "sourceApiVersion": "57.0" -} diff --git a/README.md b/README.md index 1506529..28da4d7 100644 --- a/README.md +++ b/README.md @@ -1,87 +1,26 @@ -# Samples for Previewing Lightning Web Components on Mobile -Welcome to the Mobile Preview samples repo. Here, you can find sample projects and apps that let you preview Lightning web components several ways: -- In your desktop browser -- In the mobile browser of an iOS or Android virtual device -- In a native app running on an iOS or Android virtual device +# Sample Lightning Web Components Projects for Mobile +Welcome to the Mobile samples repo. You can browse the samples under the [projects](./projects) folder. -**IMPORTANT!** Before running this sample Lightning Web Component project, you must configure it to use a scratch org. If you're not familiar with this concept, we recommend completing the following trails. These trails demonstrate how to set up your development environment and configure a Lightning Web Component project with a Salesforce scratch org: +## Contribution Guidelines -- [Quick Start: Lightning Web Components](https://trailhead.salesforce.com/content/learn/projects/quick-start-lightning-web-components?trail_id=build-lightning-web-components) -- [Set Up Your Lightning Web Components Developer Tools](https://trailhead.salesforce.com/content/learn/projects/set-up-your-lightning-web-components-developer-tools?trail_id=build-lightning-web-components) +### Contributing -## What's Included +1. Familiarize yourself with the codebase. +1. Create your standalone SFDX project and add all of your code to it. +1. Fork this repository. +1. Copy your SFDX project into `projects` folder in your fork. +1. Modify your project and align it with the requirements of this monorepo (follow the example of any of the existing projects): + 1. Update the `name` and `description` in your `package.json` to something meaningful. + 1. Ensure that your `dependencies` and `devDependencies` are not too old. They should be same as other projects in this repo or newer. + 1. `DO NOT` include a `package-lock.json` file. We use Yarn in this repo. After copying over your project, delete its `package-lock.json` and `node_modules` and then run `yarn install` at the root of the repo. This will update the existing `yarn.lock` file in the repo and generate a new `node_modules` for your project. + 1. Ensure that running `yarn precommit` at the root of the repo passes all of the checks and address any failures. +1. Ensure that you've set up GPG signing to sign your commits. +1. Once ready, send us a pull request. We'll review your code, suggest any changes needed, and merge it in when ready. -Samples in this repo include Lightning Web Component projects and native mobile apps. The native apps are configured to recognize and display a component running on a local server. +### Branches -### Lightning Web Component Projects +- We work directly in `main`. This means that every PR that goes in `main` should be self contained and complete. For feature work that is done via multiple PRs, please create a feature branch in your fork first and once all of the work is done then create a PR to `main` for review. -These samples define Lightning web components and demonstrate configurations for previewing them. -
- - HelloWorld - -This sample Lightning Web Component project demonstrates how to preview locally. It contains a basic Lightning web component, along with mobile-apps.json - a configuration file that defines how to preview this component in native mobile apps. +### Pull Requests -This file points to configure_android_test_app.ts and configure_ios_test_app.ts files. Together, these files demonstrate how you can - - - Configure your apps to show up in the VSCode preview dialog boxes. - - Define the optional get_app_bundle parameter. You can implement it to compile the app or perform any other setup steps. - -For more information on mobile-apps.json, see - -- “Configuring a Native Mobile App to Host Previews” in [Preview Your Components from the Command Line](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.mobile_extensions_cli_commands) -- [Preview in Custom Mobile Apps](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.mobile_extensions_integrate_custom_app) - -
- -### Native Mobile Apps -These samples let you preview Lightning web components in standalone native apps. -
- - apps/ios/LwcTestApp - - -A sample app that you can use to preview a Lightning web component in a native iOS app. -
- -
- - apps/android/LwcTestApp - - -A sample app that you can use to preview a Lightning web component in a native Android app. -
- -## Previewing the Hello World Sample - -After you've set up your environment, connect the `HelloWorld` sample project to your scratch org and preview your component. You can use the following instructions as a model for previewing other Lightning web components. - -1. In VS Code, open the `HelloWorld` folder. - - -2. Configure the `HelloWorld` project to use a scratch org. If you already have a scratch org, skip to step 3. If you don't have a scratch org: - 1. In VS Code, press Cmd+Shift+p (macOS) or Ctrl+Shift+p (Windows). - 2. Type in `Scratch` and select `SFDX: Create a Default Scratch Org`. - 3. Follow the onscreen steps to create a scratch org. The recommended trails provide detailed information on these steps. - 4. Ensure that a success message appears in the VS Code Output window. - - -3. Authorize the `HelloWorld` project to use your scratch org. - 1. In VS Code, press Cmd+Shift+p (macOS) or Ctrl+Shift+p (Windows). - 2. Type in `Authorize` and select `SFDX: Authorize an Org`. - 3. Follow the onscreen steps to log into your Salesforce Org with your credentials. The recommended trails provide detailed information on these steps. - 4. Ensure that a success message appears in the VS Code Output window. - - -4. Now that your `HelloWorld` project is connected to your scratch org, preview it locally. - 1. In VS Code, navigate to `force-app > main > default > lwc`. - 2. Right-click `helloWorld` and select `SFDX: Preview Component Locally`. - 3. Select whether you'd like to preview it in your desktop browser or on an iOS or Android device. - 4. If you chose iOS/Android, either - - - Select an available virtual device from the presented list (if one appears), or - - - Choose to create a virtual device. - 5. Indicate whether you'd like to preview the component on your mobile browser or in the provided native LWC Test App. - -Your virtual device launches, and your component preview appears. - -For full documentation, see [Preview Lightning Web Components on Mobile](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.mobile_extensions). +- This repo is open to public so `DO NOT` include internal info in PRs (such as GUS work item number) and in your code. diff --git a/RescheduleAppointments/.prettierignore b/RescheduleAppointments/.prettierignore deleted file mode 100755 index f3720b2..0000000 --- a/RescheduleAppointments/.prettierignore +++ /dev/null @@ -1,10 +0,0 @@ -# List files or directories below to ignore them when running prettier -# More information: https://prettier.io/docs/en/ignore.html -# - -**/staticresources/** -.localdevserver -.sfdx -.vscode - -coverage/ \ No newline at end of file diff --git a/RescheduleAppointments/.prettierrc b/RescheduleAppointments/.prettierrc deleted file mode 100755 index 15683b6..0000000 --- a/RescheduleAppointments/.prettierrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "trailingComma": "none", - "overrides": [ - { - "files": "**/lwc/**/*.html", - "options": { "parser": "lwc" } - }, - { - "files": "*.{cmp,page,component}", - "options": { "parser": "html" } - } - ] -} diff --git a/RescheduleAppointments/.vscode/extensions.json b/RescheduleAppointments/.vscode/extensions.json deleted file mode 100644 index 7e6cb10..0000000 --- a/RescheduleAppointments/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "salesforce.salesforcedx-vscode", - "redhat.vscode-xml", - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", - "financialforce.lana" - ] -} diff --git a/RescheduleAppointments/force-app/main/default/aura/.eslintrc.json b/RescheduleAppointments/force-app/main/default/aura/.eslintrc.json deleted file mode 100644 index bde085b..0000000 --- a/RescheduleAppointments/force-app/main/default/aura/.eslintrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "plugins": ["@salesforce/eslint-plugin-aura"], - "extends": ["plugin:@salesforce/eslint-plugin-aura/recommended", "prettier"], - "rules": { - "vars-on-top": "off", - "no-unused-expressions": "off" - } -} diff --git a/RescheduleAppointments/force-app/main/default/lwc/.eslintrc.json b/RescheduleAppointments/force-app/main/default/lwc/.eslintrc.json deleted file mode 100644 index d679b1d..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/.eslintrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": ["@salesforce/eslint-config-lwc/recommended", "prettier"], - "overrides": [ - { - "files": ["*.test.js"], - "rules": { - "@lwc/lwc/no-unexpected-wire-adapter-usages": "off" - } - } - ] -} diff --git a/RescheduleAppointments/force-app/main/default/lwc/jsconfig.json b/RescheduleAppointments/force-app/main/default/lwc/jsconfig.json deleted file mode 100644 index cde20cb..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/jsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compilerOptions": { - "experimentalDecorators": true - }, - "include": ["**/*", "../../../../.sfdx/typings/lwc/**/*.d.ts"], - "paths": { - "c/*": ["*"] - }, - "typeAcquisition": { - "include": ["jest"] - }, - "experimentalDecorators": true -} diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.css b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.css deleted file mode 100644 index 7893389..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.css +++ /dev/null @@ -1,192 +0,0 @@ -.calendar-nav-header{ - margin-top: 10px; - padding-top: 12px; - padding-bottom: 12px; - align-items: center; -} -.selectedDay { - border-radius: 50%; - color: #FFFF; - height: 32px; - width: 32px; - background-color: #0D7FA8 !important; -} -.unselectedDay { - color: rgb(43, 40, 38); - height: 32px; - width: 32px; -} -.blockDate { - color: rgb(201, 199, 197); - height: 32px; - width: 32px; -} -.currentDay { - color: rgba(1,1,1,1); - border-radius: 50%; - height: 32px; - width: 32px; - border: 1px solid rgba(1,1,1,1) !important; - -} -.currentDayBlocked { - color: rgb(201, 199, 197); - border-radius: 50%; - height: 32px; - width: 32px; - border: 1px solid rgba(159, 170, 181, 0.5) !important; - background-color: #EEEEEE !important; - -} -.btn { - border: none; - cursor: pointer; - display: inline-block; - border: none; - background-color: inherit; - padding: 0px; - margin-top: 6px; - height: 32px; - width: 32px; -} -.monthButton{ - height: 24px; - font-size: 18px; - font-weight: 500; - letter-spacing: 0.38px; - line-height: 24px; - display: flex; - align-items: center; - --slds-c-button-text-color: #0D7FA8; -} -.full-calendar-month-button{ - height: 21px; - font-size: 18px; - font-weight: 500; - line-height: 21px; - display: flex; - align-items: center; - margin: 16px; -} -tr { - text-align: center; -} -td { - text-align: center; - box-sizing: initial; - color: rgb(0, 112, 210); - height: 44px; - font-size: 16px; - font-weight: normal; - letter-spacing: -0.38px; -} -th { - text-align: center; - box-sizing: initial; - color: rgb(112, 110, 107); - font-size: 13px; - font-weight: normal; - letter-spacing: -0.08px; - line-height: 18px; - width: 44px; -} -.table{ - font-size: medium; - vertical-align: middle; -} -*:focus { - outline: none; -} -.rightButton{ - margin-left: 0px; - margin-right: 0px; - padding-left: 0px; - padding-right: 0px; - position: relative; - color: rgb(106, 106, 106); -} -.leftButton{ - margin-left: 0px; - margin-right: 8px; - padding-left: 0px; - padding-right: 0px; - position: relative; - color: rgb(106, 106, 106); -} -.slds-popover{ - z-index: 9000; -} - -.modal { - position: fixed; - top: auto; - bottom: 0px; - left: 0px; - height: 99%; - overflow-y: auto; -} -.breakLine { - margin: 0; - margin: 0 -16px 5px -16px; - padding-bottom: 16px; -} -.full-calendar-close-btn{ - cursor: pointer; -} -.select-a-date-title{ - font-weight: 500; - font-size: 18px; - line-height: 21px; -} -.modal-footer{ - box-sizing: border-box; - display: flex; - flex-direction: column; - align-items: center; - padding: 16px; - gap: 16px; - height: 80px; - border-radius: 0px; - flex: none; - order: 3; - align-self: stretch; - flex-grow: 0; - border-top: 1px solid rgba(159, 170, 181, 0.5); - position: fixed; - bottom: 0; - left: 0; - right: 0; - background-color: white; - z-index: 100; - padding-bottom: 24px; -} -.confirmBtn { - width: 100%; - left: 50%; - -ms-transform: translate(-50%,0%); - transform: translate(-50%,0%); - height: 50px; - font-size: 16px; - border-radius: 12px; - background-color: #0D7FA8; - font-weight: 500; -} -.dialogContainer{ - padding-bottom: 80px; - height: 99vh; -} -@media screen and (orientation:landscape) { - .slds-modal__container{ - height: 130vh !important; - } -} - -.changecolor{ - --lwc-colorTextIconDefault: #0D7FA8; - fill:#0D7FA8; - --sds-c-icon-color-foreground-default: #0D7FA8; -} - -.scrollableweek{ - overflow-y: auto; -} diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.html b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.html deleted file mode 100644 index 9409a21..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.html +++ /dev/null @@ -1,243 +0,0 @@ - \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js-meta.xml b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.css b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.css deleted file mode 100644 index a9ac408..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.css +++ /dev/null @@ -1,51 +0,0 @@ -.container{ - background-color: white; - padding: 16px; -} -.title{ - font-size: 18px; - line-height: 21px; - font-weight: 500; - color: rgb(0,0,0); - margin-bottom: 13px; -} - -.separator{ - height: 1px; - background-color: rgba(159, 170, 181, 0.5); - margin: 0 -16px 16px -16px; -} - -.info{ - font-size: 16px; - line-height: 22px; - color: rgba(68, 68, 68, 1); - border: 1px solid rgba(159, 170, 181, 0.5); - border-radius: 12px; - padding: 16px; -} - -.info-emph{ - font-size: 16px; - line-height: 22px; - font-weight: 500; - margin-bottom: 4px; - color: rgba(0, 0, 0, 1); -} - -.info-date{ - font-size: 16px; - line-height: 22px; - font-weight: 400; - margin-bottom: 4px; - color: rgba(0, 0, 0, 1); -} - -.secondary-title{ - font-size: 16px; - line-height: 22px; - font-weight: 400; - margin-bottom: 4px; - color: #444444; -} - diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js-meta.xml b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.css b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.css deleted file mode 100644 index 4541e16..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.css +++ /dev/null @@ -1,20 +0,0 @@ -.page-header{ - display: flex; -} -.landing-container{ - background-color: rgba(238, 238, 238, 1); -} - -.landing-section{ - margin-bottom: 10px; -} - -.test{ - background-color: blue; - height: 300px; -} - -.spinner-container{ - height: 100vh; - background-color: rgba(255, 255, 255, 0.7); -} diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js deleted file mode 100644 index b274306..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js +++ /dev/null @@ -1,1278 +0,0 @@ -/* eslint-disable @lwc/lwc/no-dupe-class-members */ -/* eslint-disable @lwc/lwc/no-api-reassignments */ -import { LightningElement, api, track, wire } from "lwc"; -import getServiceAppointment from "@salesforce/apex/AppointmentController.getServiceAppointment"; -import getSlotsByAssignmentMethod from "@salesforce/apex/AppointmentController.getSlotsByAssignmentMethod"; -import getSchedulingPolicyId from "@salesforce/apex/AppointmentController.getSchedulingPolicyId"; -import getOperatingHoursId from "@salesforce/apex/AppointmentController.getOperatingHoursId"; -import updateSA from "@salesforce/apex/AppointmentController.updateSA"; -import scheduleSA from "@salesforce/apex/AppointmentController.scheduleSA"; -import updateSASlot from "@salesforce/apex/AppointmentController.updateSASlot"; -import cloneWorkOrder from "@salesforce/apex/AppointmentController.cloneWorkOrder"; -import deleteClonedAppointmentData from "@salesforce/apex/AppointmentController.deleteClonedAppointmentData"; -import isUserExcludedResource from "@salesforce/apex/AppointmentController.isUserExcludedResource"; -import convertTimeToOtherTimeZone from "@salesforce/apex/AppointmentController.convertTimeToOtherTimeZone"; -import assignCurrentUserAsRequiredResource from "@salesforce/apex/AppointmentController.assignCurrentUserAsRequiredResource"; -import customLabels from "./labels"; -import { convertDateUTCtoLocal } from "c/mobileAppointmentBookingUtils"; -import getUserName from "@salesforce/apex/AppointmentController.getUserName"; -import { getRecord, notifyRecordUpdateAvailable } from "lightning/uiRecordApi"; -import ARRIVAL_WINDOW_START_FIELD from "@salesforce/schema/ServiceAppointment.ArrivalWindowStartTime"; -import ARRIVAL_WINDOW_END_FIELD from "@salesforce/schema/ServiceAppointment.ArrivalWindowEndTime"; -import PARENT_RECORD_FIELD from "@salesforce/schema/ServiceAppointment.ParentRecordId"; - -const fields = [ - ARRIVAL_WINDOW_START_FIELD, - ARRIVAL_WINDOW_END_FIELD, - PARENT_RECORD_FIELD -]; - -const assignmentMethod = { - ASSIGN_TO_ME: "assignToMe", - ASSIGN_TO_ANY_AVIALABLE: "assignToAnyAvailable" -}; - -export default class MobileAppointmentBookingLanding extends LightningElement { - LABELS = customLabels; - title = this.LABELS.Reschedule_Appointment_page_title; - @api serviceAppointmentId; - previousServiceAppointmentId; - @track currentAppointmentData; - @api appointmentFields; - @api schedulingHorizonValue; - @api schedulingPolicyId; - @api showExactArrivalTime; - @api maxDaysToGetAppointmentSlots; - selectedHorizonUnit; - @api operatingHoursId; - @track selectedDate; - @api recommendedScore; - @api userId; - dummySAid; - dummyWO; - getSlotQueryRunning = false; - clonedWorkOrdersArr = []; - CustomerFirstName; - CustomerLastName; - CustomerPhone; - ServiceAppointmentStatus; - CustomerAddress; - WorkTypeName; - ArrivalWindowStartTime; - ArrivalWindowEndTime; - SchedStartTime; - SchedEndTime; - ServiceAppointmentDueDate; - ServiceAppointmentDescription; - ServiceResourceId; - ServiceResourceRole; - ServiceResourceName; - serviceAppointmentObject; - @api timeSlotObject; - @track isSlots = true; - @track showCalenderInFullScreen = false; - headlineDate; - headlineTime; - selectedSlotStart; - selectedSlotEnd; - showDataSpinner = false; - inFlowMode = false; - newAppointmentDate; - newAppointmentTime; - maxValidCalendarDate; - _minValidCalendarDate; - @api nonAvailableDateArray = []; - @api noOfDaysBeforeAfterWeek = 2; - @api worktypeDisplayname; - @track compactInfoObj = {}; - - show_confirmBtnLayout = false; - - @api get serviceappointmentobject() { - return this.serviceAppointmentObject; - } - set serviceappointmentobject(value) { - if (value) { - this.serviceAppointmentObject = value; - this.customerFirstName = value.CustomerFirstName; - this.customerLastName = value.CustomerLastName; - this.CustomerPhone = value.CustomerPhone; - this.ServiceAppointmentStatus = value.ServiceAppointmentStatus; - this.CustomerAddress = value.CustomerAddress; - this.WorkTypeName = value.WorkTypeName; - this.ArrivalWindowStartTime = value.ArrivalWindowStartTime; - this.ArrivalWindowEndTime = value.ArrivalWindowEndTime; - this.SchedStartTime = value.SchedStartTime; - this.SchedEndTime = value.SchedEndTime; - this.ServiceAppointmentDescription = value.ServiceAppointmentDescription; - this.ServiceAppointmentDueDate = value.DueDate; - } - this.getHeadlineDate(); - } - - @api get serviceresourceobj() { - return this.serviceAppointmentObject; - } - set serviceresourceobj(value) { - if (value) { - this.ServiceResourceId = value.ServiceResourceId; - this.serviceResourceRole = value.ServiceResourceRole; - this.ServiceResourceName = value.ServiceResourceName; - } - } - - @api get schedulepolicy() { - return this.schedulePolicyId; - } - set schedulepolicy(value) { - if (value) { - this.schedulePolicyId = value; - } - } - - @api get timeslotobject() { - return this.timeSlotObject; - } - set timeslotobject(value) { - this.showDataSpinner = false; - if (value) { - this.timeSlotObject = value; - } - } - - @api get showdataspinner() { - return this.showDataSpinner; - } - set showdataspinner(value) { - this.showDataSpinner = value; - } - - @api get maxvaliddate() { - return this.maxValidCalendarDate; - } - - set maxvaliddate(value) { - if (value) { - this.maxValidCalendarDate = value; - } - } - - @api get minValidCalendarDate() { - return this._minValidCalendarDate; - } - - set minValidCalendarDate(value) { - this._minValidCalendarDate = value; - } - - @api get shownoofdaysbeforeafterweek() { - return this.noOfDaysBeforeAfterWeek; - } - set shownoofdaysbeforeafterweek(value) { - if (value) { - this.noOfDaysBeforeAfterWeek = value; - } - } - - @api get showexactarrivaltime() { - return this.showExactArrivalTime; - } - set showexactarrivaltime(value) { - this.showExactArrivalTime = value; - } - - @api get inflowmode() { - return this.inFlowMode; - } - set inflowmode(value) { - this.inFlowMode = value; - } - - @api get worktypename() { - return this.WorkTypeName; - } - set worktypename(value) { - this.WorkTypeName = value; - } - @api get maxValidCalendarDate() { - return this._maxValidCalendarDate; - } - - set maxValidCalendarDate(value) { - this._maxValidCalendarDate = value; - } - - @api - get currentAssignmentMethod() { - return this._currentAssignmentMethod; - } - - set currentAssignmentMethod(value) { - this._currentAssignmentMethod = value; - this.getUserNameForAssignTo(); - } - - set schedulingHorizonUnit(value) { - this.selectedHorizonUnit = value; - } - @api get schedulingHorizonUnit() { - return this.selectedHorizonUnit; - } - - @api enableAssignToMe; - @api enableAssignToEveryAvailable; - @api isExcluded; - showMobileWorkerChoice = false; - - serviceTerritoryTimeZone; - currentSAstatus; - OriginalArrivalEndDate; - OriginalArrivalStartDate = null; - OriginalArrivalEndDate = null; - dateArrayForQuery = []; - dateArrayForQueryCurrentMobileWorkwerSlots = []; - dateArrayForQueryAllMobilesWorkerSlots = []; - @track timeSlotDateWise; - timeSlotWiseTemp = []; - - @api schedulingPolicy; - @api operatingHours; - @api assignToName; - - ARRIVAL_TIME_TEXT = "Exact Appointment Times"; - ARRIVAL_WINDOW_TEXT = "Arrival Windows"; - - BTN_CANCEL_PRESSED = "Cancelled"; - BTN_CONFIRMED_PRESSED = "Confirmed"; - BTN_RESHEDULED_PRESSED = "Rescheduled"; - - SCHEDULING_UNIT_DAY = "Days"; - SCHEDULING_UNIT_WEEK = "Weeks"; - SCHEDULING_UNIT_MONTH = "Months"; - - constructor() { - super(); - this.template.addEventListener( - "onassignmentmethodchanged", - this.handleCurrentAssignmentMethodChange - ); - this.isExcluded = false; - } - - connectedCallback() { - this._previousServiceAppointmentId = this.serviceAppointmentId; - this.dataLoaded = false; - this.prepareInitialDataAndAssignmentData(); - //Get scheduling policy id and operating hours id - this.getIdFromName(); - } - - renderedCallback() { - if (this._previousServiceAppointmentId !== this.serviceAppointmentId) { - console.log( - "getting new Service appointment:" + - this.serviceAppointmentId + - ", previous: " + - this._previousServiceAppointmentId - ); - this.dataLoaded = false; - this.prepareInitialDataAndAssignmentData(); - } - } - - // Wire a record - @wire(getRecord, { recordId: "$serviceAppointmentId", fields: fields }) - record; - - calcAssignmentMethod() { - if (this.enableAssignToMe && this.enableAssignToEveryAvailable) { - if (this.isExcluded) { - //Admin enabled both options but Current User is excluded from this Work Order - this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ANY_AVIALABLE; - this.isCleanupRequired = false; - } else { - this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ME; - this.isCleanupRequired = true; - } - - this.showMobileWorkerChoice = true; - } else if (!this.enableAssignToMe) { - this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ANY_AVIALABLE; - this.isCleanupRequired = false; - this.showMobileWorkerChoice = false; - } else { - this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ME; - this.isCleanupRequired = false; - this.showMobileWorkerChoice = false; - } - } - - getInitData() { - this.lockScrolling(); - this.dataLoaded = false; - getServiceAppointment({ serviceAppointmentId: this.serviceAppointmentId }) - .then((data) => { - this.allowScrolling(); - console.log( - "getInitData Service appointment received::: " + JSON.stringify(data) - ); - if (data.error) { - this.dataLoaded = false; - this.error = data.error; - console.log("Error in getInitData::: " + JSON.stringify(data.error)); - } else { - this.currentAppointmentData = JSON.parse(JSON.stringify(data)); - this.updateCompactInfoObj( - this.currentAppointmentData.WorkTypeName, - convertDateUTCtoLocal( - this.currentAppointmentData.ArrivalWindowStartTime - ), - convertDateUTCtoLocal( - this.currentAppointmentData.ArrivalWindowEndTime - ), - this.currentAppointmentData.AppointmentNumber - ); - this.handleDataOnServiceAppointmentRecieved(data); - } - }) - .catch((e) => { - this.allowScrolling(); - this.dataLoaded = false; - console.log("Error in getInitData::: " + JSON.stringify(e)); - }); - } - - handleDataOnServiceAppointmentRecieved(data) { - this.error = undefined; - this.serviceTerritoryTimeZone = data.ServiceTerritoryTimeZone; - this.currentSAstatus = data.ServiceAppointmentStatus; - - if (data.ArrivalWindowEndTime && data.ArrivalWindowEndTime !== "null") { - this.OriginalArrivalEndDate = convertDateUTCtoLocal( - data.ArrivalWindowEndTime - ); - } - if (data.ArrivalWindowStartTime && data.ArrivalWindowStartTime !== "null") { - this.OriginalArrivalStartDate = convertDateUTCtoLocal( - data.ArrivalWindowStartTime - ); - } - - this.OriginalEarliestStartDate = convertDateUTCtoLocal( - data.EarliestStartTime - ); - this.checkServiceAppointmentStatus(this.currentSAstatus); - this.serviceAppointmentDueDate = convertDateUTCtoLocal(data.DueDate); - this.maxValidCalendarDate = this.calculateMaxValidHorizonDate(); - - if (data.EarliestStartTime) { - this.minValidCalendarDate = convertDateUTCtoLocal( - data.EarliestStartTime.toString() - ); - } else { - this.minValidCalendarDate = this.getDateWithoutTime(new Date()); - } - - this.dataLoaded = true; - } - - createSAObject(data) { - let appointmentFields = {}; - // eslint-disable-next-line no-unused-expressions - data.fields && - Object.keys(data.fields).forEach((appointmentField) => { - appointmentFields[appointmentField] = { - name: appointmentField, - value: - data.fields[appointmentField] && data.fields[appointmentField].value - }; - }); - - console.log("createSAObject::: " + JSON.stringify(appointmentFields)); - return appointmentFields; - } - - checkServiceAppointmentStatus(currentSAStatus) { - console.log( - "checkServiceAppointmentStatus => Current: " + - currentSAStatus + - " ; confirmed: " + - this.confirmStatusId + - " ; rescheduled: " + - this.rescheduleStatusId + - " ; canceled : " + - this.cancelStatusId - ); - - if (currentSAStatus === this.cancelStatusId) { - this.showCancelScreen(true); - } else if (currentSAStatus === this.confirmStatusId) { - this.isAppointmentConfirmed = true; - } else { - this.isAppointmentConfirmed = false; - } - if (!this.allowToConfirmAppt) { - this.isAppointmentConfirmed = true; - } - } - - showCancelScreen(value) { - this.show_cancelScreen = value; - this.show_RescheduleAppointmentScreen = !value; - this.show_ConfirmAppointmentScreen = !value; - } - - showConfirmScreen(value) { - this.show_cancelScreen = !value; - this.show_RescheduleAppointmentScreen = !value; - this.show_ConfirmAppointmentScreen = value; - } - showRescheduleScreen(value) { - this.show_cancelScreen = !value; - this.show_RescheduleAppointmentScreen = value; - this.show_ConfirmAppointmentScreen = !value; - } - - calculateMaxValidHorizonDate() { - var currentDate; - var targetDate; - if (this.schedulingHorizonValue && this.selectedHorizonUnit) { - currentDate = new Date(); - let schedulingHorizonValueToNumber = parseInt( - this.schedulingHorizonValue, - 10 - ); - switch (this.selectedHorizonUnit) { - case this.SCHEDULING_UNIT_WEEK: - targetDate = new Date( - currentDate.setDate( - currentDate.getDate() + schedulingHorizonValueToNumber * 7 - ) - ); - break; - case this.SCHEDULING_UNIT_MONTH: - targetDate = new Date( - currentDate.setMonth( - currentDate.getMonth() + schedulingHorizonValueToNumber - ) - ); - break; - default: //this.SCHEDULING_UNIT_DAY - targetDate = new Date( - currentDate.setDate( - currentDate.getDate() + schedulingHorizonValueToNumber - ) - ); - } - - console.log("Scheduling horizon unit : new date is : " + targetDate); - - if (this.serviceAppointmentDueDate < targetDate) - return this.serviceAppointmentDueDate; - return targetDate; - } - return this.serviceAppointmentDueDate; - } - - getDateWithoutTime(date) { - var d; - if (typeof val === "string") { - d = new Date(date.replace(/-/g, "/")); // replace method is use to support time in safari - } else { - d = new Date(date); - } - d.setHours(0, 0, 0, 0); - return d; - } - - onDateSelected(event) { - this.selectedDate = event.detail.date; - console.log("Selected date in main class : " + this.selectedDate); - } - - getFirstDayOfWeek(date, index) { - var newDate; - var start = index >= 0 ? index : 0; - var d = new Date(date); - var day = d.getDay(); - var diff = d.getDate() - day + (start > day ? start - 7 : start); - d.setDate(diff); - console.log("First day of week is : " + d.getDate()); - newDate = new Date( - d.setDate(d.getDate() - this.noOfDaysBeforeAfterWeek) - ).setHours(0, 0, 0, 0); - return newDate; - } - - getLastDayOfWeek(date, index) { - var newDate; - var start = index >= 0 ? index : 0; - var d = new Date(date); - var day = d.getDay(); - var diff = d.getDate() - day + (start > day ? start - 1 : 6 + start); - d.setDate(diff); - newDate = new Date( - d.setDate(d.getDate() + this.noOfDaysBeforeAfterWeek) - ).setHours(0, 0, 0, 0); - return newDate; - } - - isInArray(value) { - let currentDateArray = []; - - if (this.currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { - currentDateArray = this.dateArrayForQueryCurrentMobileWorkwerSlots; - } else { - currentDateArray = this.dateArrayForQueryAllMobilesWorkerSlots; - } - - for (let i = 0; i < currentDateArray.length; i++) { - if (value.getTime() === currentDateArray[i].getTime()) { - return true; - } - } - return false; - } - - revertSA() { - updateSA({ - serviceAppointmentId: this.serviceAppointmentId, - earliestStartDate: this.OriginalEarliestStartDate, - arrivalStartDate: this.OriginalArrivalStartDate, - arrivalEndDate: this.OriginalArrivalEndDate - }) - .then((data) => { - if (data.success) { - console.log("Service appointment reverted successfully"); - } else console.log("Error while reverting the service appointment"); - }) - .catch((error) => { - console.log("Error while reverting the service appointment " + error); - }); - } - - getLastSlotFromTheArray(slotArray) { - var timeSlot; - var lastdate; - if (slotArray.length > 0) { - timeSlot = slotArray[slotArray.length - 1].split("#"); - lastdate = this.getDateWithoutTime( - Date.parse(timeSlot[0].replace(/-/g, "/")) - ); - console.log("Last Date from the slots is : " + lastdate); - } - return lastdate; - } - - addDatesToCashArray(start, end) { - var currentDate = start; - var addingDate; - var tempDate; - let currentDateArray = []; - - if (this.currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { - currentDateArray = this.dateArrayForQueryCurrentMobileWorkwerSlots; - } else { - currentDateArray = this.dateArrayForQueryAllMobilesWorkerSlots; - } - - while (currentDate <= end) { - addingDate = new Date(currentDate); - currentDateArray.push(addingDate); - tempDate = currentDate.setDate(currentDate.getDate() + 1); - currentDate = new Date(tempDate); - } - - currentDateArray = Array.from(new Set(currentDateArray)); - } - - removeDatesFromCashArray() { - if (this.currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { - this.dateArrayForQueryCurrentMobileWorkwerSlots = []; - } else { - this.dateArrayForQueryAllMobilesWorkerSlots = []; - } - } - - showAlertWithError(errorMessage) { - // eslint-disable-next-line no-alert - alert(errorMessage); - } - - handleGetSlotQueryForSelectedDate(event) { - var firstDateOfWeek; - event.stopPropagation(); - event.preventDefault(); - firstDateOfWeek = this.getFirstDayOfWeek(event.detail.selectedDate); - if (this.dataLoaded) { - this.lockScrolling(); - console.log("handleGetSlotQueryForSelectedDate", firstDateOfWeek); - this.handleGetSlotQueryForSelectedDateRange(firstDateOfWeek); - } - } - - handleGetSlotQueryForSelectedDateRange(selectedDate) { - var firstDateOfWeek; - var lastDateOfWeek; - var loopdate; - this.lockScrolling(); - console.log("handleGetSlotQueryForSelectedDateRange", selectedDate); - firstDateOfWeek = selectedDate; - if (firstDateOfWeek <= new Date()) { - firstDateOfWeek = new Date(); - } - console.log("handleGetSlotQueryForSelectedDateRange", selectedDate); - lastDateOfWeek = this.getLastDayOfWeek(firstDateOfWeek, 0); - if (lastDateOfWeek > this.maxValidCalendarDate) { - lastDateOfWeek = this.maxValidCalendarDate; - } - console.log( - "First and Last date of the week : " + - firstDateOfWeek + - " " + - lastDateOfWeek - ); - - loopdate = new Date(firstDateOfWeek); - loopdate = new Date(this.getDateWithoutTime(loopdate)); - - console.log("Date in the Array is : " + loopdate); - console.log( - "this.dateArrayForQuery.indexOf(loopdate) + : " + - loopdate + - " and " + - this.isInArray(loopdate) - ); - - if (!this.isInArray(loopdate)) { - console.log("Address is : " + this.street); - //If the date is not added in cache, run the below code to add it and get fresh slots - this.addDatesToCashArray(new Date(loopdate), new Date(loopdate)); - - console.log( - "getSlot As Per StartDate : " + - loopdate + - " Minvalid Calendar date : " + - this.minValidCalendarDate - ); - if (loopdate < this.minValidCalendarDate) { - loopdate = new Date(this.minValidCalendarDate.getTime()); - } - - if (loopdate >= this.minValidCalendarDate) { - console.log("Run appointment query for date " + loopdate); - - // IF THE DATE IS AFTER ARRIVAL WINDOW START DATE - console.log("clone sa method called"); - cloneWorkOrder({ - originalSaId: this.serviceAppointmentId, - startPermitDate: loopdate, - selectedHorizonValue: this.schedulingHorizonValue, - dummySA: this.dummySAid, - dummyWO: this.dummyWO - }) - .then((saData) => { - if (saData.dummyServiceAppointmentId) { - this.lockScrolling(); - this.dummySAid = saData.dummyServiceAppointmentId; - this.dummyWO = saData.dummyWorkOrderId; - console.log( - "clone sa method finished::: sa:" + - saData.dummyServiceAppointmentId - ); - - this.sleep(3000).then(() => { - var lcaletime = - Intl.DateTimeFormat().resolvedOptions().timeZone; - assignCurrentUserAsRequiredResource({ - serviceAppointmentId: this.dummySAid, - currentAssignmentMethod: this.currentAssignmentMethod - }) - .then((dataAfterResourceAssignment) => { - if (dataAfterResourceAssignment.error) { - this.deleteDummySa(this.dummySAid); - } else { - getSlotsByAssignmentMethod({ - serviceAppointmentId: this.dummySAid, - operatingHoursId: this.operatingHoursId, - schedulingPolicyId: this.schedulingPolicyId, - arrivalWindowFlag: this.showExactArrivalTime, - localetimezone: lcaletime - }) - .then((data) => { - console.log( - "getSlotsByAssignmentMethod allowScrolling::::" - ); - this.allowScrolling(); - console.log( - "Time zone of the sa is : " + data.timeZone - ); - this.timeZoneOfDummySA = data.timeZone; - - if (data.error) { - console.log( - "Error in getting slots : " + data.error - ); - this.showAlertWithError( - this.LABELS - .Reschedule_Appointment_confirmation_failure_message - ); - this.timeSlotDateWise = []; - this.deleteDummySa( - saData.dummyServiceAppointmentId - ); - } else { - this.timeSlotWiseTemp = data.timeSlotList; - this.timeSlotDateWise = this.timeSlotWiseTemp; - - let tempDate = loopdate.setDate( - loopdate.getDate() + - this.maxDaysToGetAppointmentSlots - ); - loopdate = new Date(tempDate); - console.log( - "New Loop date is : " + - loopdate + - " and last day of week is : " + - lastDateOfWeek - ); - if (loopdate <= lastDateOfWeek) { - this.handleGetSlotQueryForSelectedDateRange( - loopdate - ); - } else { - this.deleteDummySa( - saData.dummyServiceAppointmentId - ); - } - } - }) - .catch((error) => { - this.deleteDummySa(saData.dummyServiceAppointmentId); - console.log( - "Error while executing FSL API :", - +error - ); - this.timeSlotDateWise = []; - this.allowScrolling(); - }); - } - }) - .catch((error) => { - console.log( - "Error While assigning current user as required resource: " + - error - ); - this.allowScrolling(); - }); - }); - } else if (saData.error) { - console.log("Errror while creating dummy SA :", +saData.error); - this.timeSlotDateWise = []; - this.allowScrolling(); - } - }) - .catch((error) => { - // delete SA/WO incase transaction fails - this.deleteDummySa(this.dummyServiceAppointmentId); - console.log("Errror while creating dummy SA :", +error); - this.timeSlotDateWise = []; - this.allowScrolling(); - }); - } else { - // IF THE DATE IS BEFORE ARRIVAL WINDOW START DATE - console.log("Loop date is less than minimum valid date"); - - let tempDate = loopdate.setDate( - loopdate.getDate() + this.maxDaysToGetAppointmentSlots - ); - loopdate = new Date(tempDate); - if (loopdate <= lastDateOfWeek) { - this.handleGetSlotQueryForSelectedDateRange(loopdate); - } else { - this.timeSlotDateWise = this.timeSlotWiseTemp; - } - } - } else { - // If the date are already cache, take the slot from it and run the query for next date; - let tempDate = loopdate.setDate( - loopdate.getDate() + this.maxDaysToGetAppointmentSlots - ); - loopdate = new Date(tempDate); - - if (loopdate <= lastDateOfWeek) { - this.handleGetSlotQueryForSelectedDateRange(loopdate); - } else { - this.timeSlotDateWise = []; - this.allowScrolling(); - } - } - } - - sleep(ms) { - // eslint-disable-next-line @lwc/lwc/no-async-operation - return new Promise((resolve) => setTimeout(resolve, ms)); - } - - onServiceAppointmentUpdate = (event) => { - let selectedSlotStart = event.detail.selectedSlotStart; - let selectedSlotEnd = event.detail.selectedSlotEnd; - - // in case of no Service Territory, skip apex class - if (this.serviceTerritoryTimeZone) { - /** - * CONVERT THE TIME FROM LOCALE TO SERVER - */ - convertTimeToOtherTimeZone({ - date1: selectedSlotStart, - date2: selectedSlotEnd, - targetTimezone: this.serviceTerritoryTimeZone, - sourceTimezone: Intl.DateTimeFormat().resolvedOptions().timeZone - }) - .then((data) => { - console.log("Date converted from apex is : " + new Date(data.date1)); - console.log("Date converted from apex is : " + new Date(data.date2)); - selectedSlotStart = new Date(data.date1); - selectedSlotEnd = new Date(data.date2); - this.UpdateServiceAppointmentFunction(event); - }) - .catch((error) => { - console.log("error is : " + error); - }); - } else { - this.UpdateServiceAppointmentFunction(event); - } - }; - - UpdateServiceAppointmentFunction = (event) => { - let selectedSlotStart = event.detail.selectedSlotStart; - let selectedSlotEnd = event.detail.selectedSlotEnd; - let ArrivalWindowStartTime = event.detail.ArrivalWindowStartTime; - - if ( - this.isValidDate(selectedSlotStart) && - this.isValidDate(selectedSlotEnd) - ) { - if (!ArrivalWindowStartTime || ArrivalWindowStartTime === "null") { - ArrivalWindowStartTime = "1970-01-01 09:00:00"; //Overwrites null ArrivalWindowStart field - } - if ( - selectedSlotStart.getTime() !== - convertDateUTCtoLocal(ArrivalWindowStartTime).getTime() - ) { - this.showSpinnerInChildClass = true; - console.log("this.selectedSlotStart=" + selectedSlotStart); - console.log("this.selectedSlotEnd=" + selectedSlotEnd); - updateSASlot({ - serviceAppointmentId: this.serviceAppointmentId, - arrivalWindowStartTime: selectedSlotStart, - arrivalWindowEndTime: selectedSlotEnd - }) - .then((data) => { - if (data.error) { - this.template - .querySelector( - "c-mobile-appointment-booking-scheduling-container" - ) - .handleSchedulingResponse(false); - } else { - // If the transaction Success, run the FSL schedule service - assignCurrentUserAsRequiredResource({ - serviceAppointmentId: this.serviceAppointmentId, - currentAssignmentMethod: this.currentAssignmentMethod - }) - .then((requiresResourceAssignmentResults) => { - if (requiresResourceAssignmentResults.error) { - console.log("error"); - } else { - scheduleSA({ - serviceAppointmentId: this.serviceAppointmentId, - schedulingPolicyId: this.schedulingPolicyId, - userId: this.userId - }) - .then((scheduleData) => { - if (scheduleData.error) { - console.log( - "Error while executing FSL API : " + - " " + - JSON.stringify(scheduleData.error) - ); - this.template - .querySelector( - "c-mobile-appointment-booking-scheduling-container" - ) - .handleSchedulingResponse(false); - } else { - console.log( - "Service appointment Scheduled : " + - JSON.stringify(scheduleData) - ); - this.isAppointmentConfirmed = true; - // Update Data After successfull booking - this.updateCompactInfoAfterReschedule( - selectedSlotStart, - selectedSlotEnd - ); - this.template - .querySelector( - "c-mobile-appointment-booking-scheduling-container" - ) - .handleSchedulingResponse(true); - - notifyRecordUpdateAvailable([ - { recordId: this.serviceAppointmentId } - ]); - } - }) - .catch((error) => { - this.revertSA(); - console.log( - "Error while executing FSL API : " + - " " + - JSON.stringify(error) - ); - this.template - .querySelector( - "c-mobile-appointment-booking-scheduling-container" - ) - .handleSchedulingResponse(false); - }); - } - }) - .catch((error) => { - this.revertSA(); - console.log( - "Error while executing FSL API : " + - " " + - JSON.stringify(error) - ); - this.template - .querySelector( - "c-mobile-appointment-booking-scheduling-container" - ) - .handleSchedulingResponse(false); - }); - } - }) - .catch((error) => { - console.log( - this.LABELS - .Reschedule_Appointment_toastMessage_reschedule_appointment_fail_message + - " " + - error - ); - this.template - .querySelector( - "c-mobile-appointment-booking-scheduling-container" - ) - .handleSchedulingResponse(false); - }); - } else { - this.template - .querySelector("c-mobile-appointment-booking-scheduling-container") - .handleSchedulingResponse(false); - } - } else { - console.log("Invalid date time "); - this.template - .querySelector("c-mobile-appointment-booking-scheduling-container") - .handleSchedulingResponse(false); - } - }; - - isValidDate(d) { - return d instanceof Date && !isNaN(d); - } - - onWeekChangeEvent(event) { - this.selectedDate = event.detail.date; - console.log("On week change called"); - this.template - .querySelector("c-mobile-appointment-booking-slots-container") - .onWeekUpdated(this.selectedDate); - this.runApexQueryToChangeEarlistStartDate(this.selectedDate); - } - - onSlotSelection(event) { - event.stopPropagation(); - event.preventDefault(); - this.selectedSlotStart = event.detail.startDate; - this.selectedSlotEnd = event.detail.endDate; - this.setNewAppointmentSelectedText( - event.detail.startDate, - event.detail.endDate - ); - } - - onCustomEventCalled(event) { - event.preventDefault(); - switch (event.detail.name) { - case "trigergetslotapi": { - this.runApexQueryToChangeEarlistStartDate(event.detail.value); - break; - } - case "updateNonAvailableDates": { - this.nonAvailableDateArray = event.detail.value; - console.log( - "Array of the date not available : " + - this.nonAvailableDateArray.length - ); - break; - } - default: { - break; - } - } - } - - getHeadlineDate() { - const dateOptions = { weekday: "long", month: "long", day: "numeric" }; - var startDate; - var endDate; - var dateLong; - var time; - if (this.ArrivalWindowStartTime === "null" || this.showExactArrivalTime) { - startDate = convertDateUTCtoLocal(this.SchedStartTime); - endDate = convertDateUTCtoLocal(this.SchedEndTime); - } else { - startDate = this.ArrivalWindowStartTime; - endDate = convertDateUTCtoLocal(this.ArrivalWindowEndTime); - } - if (startDate && endDate) { - dateLong = startDate.toLocaleDateString(undefined, dateOptions); - time = - this.getFormattedTimeFromDate(startDate) + - " - " + - this.getFormattedTimeFromDate(endDate); - if (this.showExactArrivalTime) { - time = this.getFormattedTimeFromDate(startDate); - } - this.headlineDate = dateLong; - this.headlineTime = time; - } - } - - getFormattedTimeFromDate(date) { - // method to format the time digits - var tempDate = new Date(date); - var hours = tempDate.getHours(); - var minutes = tempDate.getMinutes(); - var ampm = hours >= 12 ? "PM" : "AM"; - hours = hours % 12; - hours = hours ? hours : 12; // the hour '0' should be '12' - hours = hours < 10 ? "0" + hours : hours; - minutes = minutes < 10 ? "0" + minutes : minutes; - return hours + ":" + minutes + " " + ampm; - } - - runApexQueryToChangeEarlistStartDate(selectedDate) { - const customEvent = new CustomEvent("getslotexecuted", { - detail: { selectedDate: selectedDate } - }); - this.dispatchEvent(customEvent); - } - - /** - * SAVE ALL VALUES AFTER SELECTING THE SLOT - */ - position; - setNewAppointmentSelectedText(start, end) { - const dateOptions = { weekday: "long", month: "long", day: "numeric" }; - var dateLong = start.toLocaleDateString(undefined, dateOptions); - var time = - this.getFormattedTimeFromDate(start) + - " - " + - this.getFormattedTimeFromDate(end); - if (this.showExactArrivalTime) { - time = this.getFormattedTimeFromDate(start); - } - this.newAppointmentDate = dateLong; - this.newAppointmentTime = time; - this.show_confirmBtnLayout = true; - // lock scrolling - document.body.style.overflow = "hidden"; - } - - handleConfirmBtnClose() { - this.show_confirmBtnLayout = false; - // allow scrolling - document.body.style.overflow = "auto"; - } - - handleCurrentAssignmentMethodChange = (event) => { - this.lockScrolling(); - const updatedValue = event.detail.assignmentMethod; - const selectedDate = event.detail.selecteddate; - - this.currentAssignmentMethod = assignmentMethod[updatedValue]; - - //dispatch get Slots - let firstDateOfWeek = this.getFirstDayOfWeek(selectedDate); - - this.template - .querySelector("c-mobile-appointment-booking-scheduling-container") - .clearSlotsAfterAssignmentMethodChange(this.currentAssignmentMethod); - //clone and get slots - - console.log( - "Calling handleGetSlotQueryForSelectedDateRange after assignment method change::: existing dummy- " + - this.dummySAid - ); - this.handleGetSlotQueryForSelectedDateRange(firstDateOfWeek); - }; - - deleteDummySa(dummySaId) { - console.log( - "deleteDummySa begins ::: Dummy Service Appointment: " + dummySaId - ); - this.lockScrolling(); - deleteClonedAppointmentData({ clonedServiceAppointmentId: dummySaId }) - .then((data) => { - this.allowScrolling(); - if (data) { - console.log( - "deleteClonedAppointmentData response ::::" + - JSON.stringify(data, null, 2) - ); - this.dummySAid = null; - this.dummyWO = null; - } - }) - .catch((error) => { - this.allowScrolling(); - console.log( - "There was a problem deleting the SA" + JSON.stringify(error) - ); - }); - } - - prepareInitialDataAndAssignmentData() { - isUserExcludedResource({ - userId: this.userId, - serviceAppointmentId: this.serviceAppointmentId - }) - .then((data) => { - if (data.success) { - console.log( - "isUserExcludedResource response received userIsExcluded::: " + - data.success - ); - this.isExcluded = data.success; - } else { - console.log("Error in isUserExcludedResource ::: "); - this.isExcluded = false; - } - }) - .catch((e) => { - this.isExcluded = false; - console.log("Error in isUserExcludedResource ::: " + JSON.stringify(e)); - }) - .finally(() => { - this.calcAssignmentMethod(); - this.getInitData(); - this.selectedDate = new Date(); - }); - } - - allowScrolling() { - document.body.style.overflow = "auto"; - this.showDataSpinner = false; - } - lockScrolling() { - document.body.style.overflow = "hidden"; - this.showDataSpinner = true; - } - - getIdFromName() { - if (this.schedulingPolicy) { - getSchedulingPolicyId({ schedulingPolicyName: this.schedulingPolicy }) - .then((data) => { - this.schedulingPolicyId = data; - }) - .catch((e) => { - console.log("Error in getSchedulingPolicyId: " + JSON.stringify(e)); - }); - } else { - console.log( - "schedulingPolicy is undefined, getSchedulingPolicyId not called" - ); - } - - if (this.operatingHours) { - getOperatingHoursId({ operatingHoursName: this.operatingHours }) - .then((data) => { - this.operatingHoursId = data; - }) - .catch((e) => { - console.log("Error in getOperatingHoursId: " + JSON.stringify(e)); - }); - } else { - console.log( - "operatingHours is undefined, getOperatingHoursId not called" - ); - } - } - - getUserNameForAssignTo() { - getUserName({ userId: this.userId }) - .then((data) => { - if (data.error) { - console.log("error in getUserName: " + JSON.stringify(data.error)); - } else { - this.userName = data; - this.error = undefined; - console.log("UserName from getUserName :" + data); - this.setAssigNameByAssignMethod(); - } - }) - .catch((error) => { - console.log("error in getUserName: " + JSON.stringify(error)); - }); - } - - setAssigNameByAssignMethod() { - if (this._currentAssignmentMethod) { - if (this._currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { - this.assignToName = - this.LABELS.Reschedule_Appointment_assigned_to_you.replace( - "{0}", - this.userName - ); - } else { - this.assignToName = - this.LABELS.Reschedule_Appointment_assigned_to_any_available_worker; - } - } - } - - updateCompactInfoAfterReschedule(selectedSlotStart, selectedSlotEnd) { - this.updateCompactInfoObj( - this.currentAppointmentData.WorkTypeName, - selectedSlotStart, - selectedSlotEnd, - this.currentAppointmentData.AppointmentNumber - ); - } - - updateCompactInfoObj(workTypeName, startDate, endDate, appointmentNumber) { - let compactInfo = {}; - - if (this.showExactArrivalTime) { - compactInfo = { - workTypeName, - startDate, - endDate: null, - appointmentNumber - }; - } else { - compactInfo = { - workTypeName, - startDate, - endDate, - appointmentNumber - }; - } - - this.compactInfoObj = JSON.parse(JSON.stringify(compactInfo)); - } -} diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js-meta.xml b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js-meta.xml deleted file mode 100644 index de71578..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js-meta.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - 55.0 - false - - lightning__RecordAction - - - - ScreenAction - - - \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.css b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.css deleted file mode 100644 index 930f988..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.css +++ /dev/null @@ -1,170 +0,0 @@ -.main-container{ - padding: 16px; -} - -.modal-container{ - width:100%; - min-height:320px; - background: white; - border-top-left-radius: 8px; - border-top-right-radius: 8px; -} - -.spinner-container{ - position: inherit; -} - -.confirmBtn { - width: 100%; - left: 50%; - -ms-transform: translate(-50%,0%); - transform: translate(-50%,0%); - height: 50px; - font-size: 16px; - border-radius: 12px; - background-color: #0D7FA8; - font-weight: 500; -} - -.confirmBtn:active { - opacity: 25%; -} - -.confirmBtn:hover { - opacity: 25%; -} - -.confirmBtn:focus{ - opacity: 25%; -} - -.acceptNewAptTitle{ - font-weight: 500; - font-size: 18px; - line-height: 21px; - display: flex; - align-items: center; - text-align: center; - flex-direction: column; -} -.acceptNewAptClose{ - margin-top: 2px; - cursor: pointer; -} -.modal { - position: fixed; - top: auto; - bottom: 0px; - left: 0px; -} - -svg[class*="slds-button__icon_left"]{ - padding-bottom: 2px !important; -} - -.modal-footer{ - box-sizing: border-box; - display: flex; - flex-direction: column; - align-items: center; - padding: 0 16px; - gap: 16px; - border-radius: 0px; - flex: none; - order: 3; - align-self: stretch; - flex-grow: 0; - height: 80px; -} - -.modal-title-container{ - border-bottom: 1px solid rgba(159, 170, 181, 0.5); - box-sizing: border-box; - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - padding: 0px; - isolation: isolate; - height: 48px; - padding: 16px; -} - -.info{ - font-size: 16px; - line-height: 22px; - color: rgba(68, 68, 68, 1); - border: 1px solid rgba(159, 170, 181, 0.5); - border-radius: 12px; - padding: 16px; - margin: 16px; -} - -.info-emph{ - font-size: 16px; - line-height: 22px; - font-weight: 500; - margin-bottom: 4px; - color: rgba(0, 0, 0, 1); -} - -.info-date{ - font-size: 16px; - line-height: 22px; - font-weight: 400; - margin-bottom: 4px; - color: rgba(0, 0, 0, 1); -} - -.secondary-title{ - font-size: 16px; - line-height: 22px; - font-weight: 400; - margin-bottom: 4px; - color: #444444; -} - -.scheduling-results-container{ - display: flex; - flex-direction: column; - align-items: center; - padding: 43px 0; -} - -.scheduling-results-title{ - margin-top: 16px; - font-size: 16px; - line-height: 22px; - font-weight: 500; -} - -.scheduling-results-info{ - font-size: 16px; - line-height: 22px; - color: rgba(0, 0, 0, 1); -} - -.schedule-results-header-icon-container{ - display: flex; - justify-content: center; - margin-bottom: 16px; -} - -.schedule-results-header-icon-title{ - margin-left: 8px; - font-size: 16px; - line-height: 22px; - font-weight: 500; -} - -.hide{ - visibility: hidden; -} - -.top-space{ - margin-top: 16px; -} - -.button:active{ - opacity: 25%; -} \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.html b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.html deleted file mode 100644 index c947329..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.html +++ /dev/null @@ -1,99 +0,0 @@ - - diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js-meta.xml b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js-meta.xml deleted file mode 100644 index f8c5cb4..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 56.0 - false - \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/__test__/mobileAppointmentBookingResourceAssignment.test.js b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/__test__/mobileAppointmentBookingResourceAssignment.test.js deleted file mode 100644 index ccc821a..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/__test__/mobileAppointmentBookingResourceAssignment.test.js +++ /dev/null @@ -1,62 +0,0 @@ -import { createElement } from "lwc"; -import MobileAppointmentBookingResourceAssignment from "c/MobileAppointmentBookingResourceAssignment"; - -describe("c-mobile-appointment-booking-resource-assignment", () => { - afterEach(() => { - // The jsdom instance is shared across test cases in a single file so reset the DOM - while (document.body.firstChild) { - document.body.removeChild(document.body.firstChild); - } - }); - - it("Displays the correct message when user is excluded", () => { - const EXPECTED_EXCLUDED_MSG = - "c.Appointment_ReBooking_cant_select_Mobile_Worker_excluded"; - // Create initial element - const element = createElement( - "c-mobile-appointment-booking-resource-assignment", - { - is: MobileAppointmentBookingResourceAssignment - } - ); - - element.showExcludedMsg = true; - element.isExcluded = true; - element.showMobileWorkerChoice = true; - - document.body.appendChild(element); - - return Promise.resolve().then(() => { - const excludedMsgElement = element.shadowRoot.querySelector( - ".mobile-worker-content" - ); - - expect(excludedMsgElement.textContent).toBe(EXPECTED_EXCLUDED_MSG); - }); - }); - - it("Displays lightning radio button with current assignment method", () => { - const EXPECTED_VALUE = "ASSIGN_TO_ME"; - // Create initial element - const element = createElement( - "c-mobile-appointment-booking-resource-assignment", - { - is: MobileAppointmentBookingResourceAssignment - } - ); - - element.showExcludedMsg = false; - element.isExcluded = false; - element.showMobileWorkerChoice = true; - - document.body.appendChild(element); - - return Promise.resolve().then(() => { - const excludedMsgElement = element.shadowRoot.querySelector( - '[data-id="resource-assignment-radio"]' - ); - - expect(excludedMsgElement.value).toBe(EXPECTED_VALUE); - }); - }); -}); diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.css b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.css deleted file mode 100644 index 815bbd5..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.css +++ /dev/null @@ -1,27 +0,0 @@ -.container{ - background-color: white; - margin: 10px 0; - padding: 13px 16px 0 16px; -} -.title{ - - font-size: 18px; - line-height: 21px; - font-weight: 500; - color: rgb(0,0,0); - margin-bottom: 13px; -} - -.mobile-worker-content{ - padding-top: 16px; - font-size: 16px; - line-height: 22px; -} - -.separator{ - height: 1px; - background-color: rgba(159, 170, 181, 0.5); - margin: 0 -16px; -} - - diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.html b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.html deleted file mode 100644 index 45e4bcc..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.html +++ /dev/null @@ -1,23 +0,0 @@ - \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js-meta.xml b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.css b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.css deleted file mode 100644 index eb0518d..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.css +++ /dev/null @@ -1,198 +0,0 @@ -.headline{ - color: rgb(0, 0, 0); - font-size: 28px; - letter-spacing: 0.36px; - margin-bottom: 24px; - font-family: var(--lwc-fontFamily); -} -.divHeadline{ - color: rgb(106, 106, 106); - font-size: 14px; - letter-spacing: 0.1px; - font-family: var(--lwc-fontFamily); - -} -.headlineDate{ - font-size: 16px; - font-weight: 400; - line-height: 22px; - color: #000000; - flex: none; - order: 1; - flex-grow: 0; -} -.divInfo{ - margin: 16px; - border: 1px solid rgba(159, 170, 181, 0.5); - border-radius: 12px; - padding: 16px; -} -h2{ - color: rgb(0, 0, 0); - font-size: 16px; -} - -p{ - color: rgb(106, 106, 106); - font-size: 14px; - letter-spacing: 0.18px; -} -.backButton{ - margin-bottom: 7px; - margin-left: 0px; - font-size: 16px; -} -.confirmBtnLayout { - position: fixed; - left: 1%; - bottom: 0%; - width: 100%; - background-color: rgb(250, 246, 246); - padding-top: 5px; - padding-left: 5px; - padding-right: 10px; -} -.confirmBtn { - width: 100%; - left: 50%; - -ms-transform: translate(-50%,0%); - transform: translate(-50%,0%); - height: 50px; - font-size: 16px; - border-radius: 12px; - background-color: #0D7FA8; - font-weight: 500; -} -.calendarView { - position: -webkit-sticky; - position: sticky; - top: 0; - background-color: white; - z-index: 100; - padding: 0 16px; -} -.acceptNewAptTitle{ - font-weight: 500; - font-size: 18px; - line-height: 21px; - display: flex; - align-items: center; - text-align: center; - flex-direction: column; -} -.acceptNewAptClose{ - --lwc-colorTextIconDefault: #0D7FA8; - margin-top: 2px; - --sds-c-icon-color-foreground-default: #0D7FA8; -} -.modal { - position: fixed; - top: auto; - bottom: 0px; - left: 0px; -} -.WorkTypeName { - height: 19px; - color: rgb(0, 0, 0); - font-size: 16px; - font-weight: normal; - letter-spacing: 0.21px; -} -.spinnerHolder{ - position: relative; - display: inline-block; - width: 80px; - height: 80px; - text-align: center; -} -.slds-spinner { - position: fixed; -} -.slds-spinner_container { - position: fixed; -} - -svg[class*="slds-button__icon_left"]{ - padding-bottom: 2px !important; -} - -.modal-footer{ - box-sizing: border-box; - display: flex; - flex-direction: column; - align-items: center; - padding: 0 16px 16px 16px; - gap: 16px; - height: 80px; - border-radius: 0px; - flex: none; - order: 3; - align-self: stretch; - flex-grow: 0; -} -.secondary-info{ - font-weight: 400; - font-size: 16px; - line-height: 22px; - color: #444444; - flex: none; - order: 2; - flex-grow: 0; - margin-top: 8px; -} -.modal-title-container{ - border-bottom: 1px solid rgba(159, 170, 181, 0.5); - box-sizing: border-box; - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - padding: 0px; - isolation: isolate; - height: 48px; - padding: 16px; -} -.head-line-work-type-name{ - font-weight: 500; - font-size: 18px; - line-height: 21px; - color: #000000; - flex: none; - order: 0; - flex-grow: 0; - margin-bottom: 8px; -} - -.info{ - font-size: 16px; - line-height: 22px; - color: rgba(68, 68, 68, 1); - border: 1px solid rgba(159, 170, 181, 0.5); - border-radius: 12px; - padding: 16px; - margin: 16px; -} - -.info-emph{ - font-size: 16px; - line-height: 22px; - font-weight: 500; - margin-bottom: 4px; - color: rgba(0, 0, 0, 1); -} - -.info-date{ - font-size: 16px; - line-height: 22px; - font-weight: 400; - margin-bottom: 4px; - color: rgba(0, 0, 0, 1); -} - -.appointment-number{ - font-size: 16px; - line-height: 22px; - font-weight: 400; - margin-bottom: 4px; - color: #444444; -} \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.html b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.html deleted file mode 100644 index 5def2da..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.html +++ /dev/null @@ -1,46 +0,0 @@ - \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js-meta.xml b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.html b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.html deleted file mode 100644 index 3d79243..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.html +++ /dev/null @@ -1,16 +0,0 @@ - \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.css b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.css deleted file mode 100644 index 3ebbb29..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.css +++ /dev/null @@ -1,113 +0,0 @@ -.header{ - color: rgb(0, 0, 0); - font-size: 16px; - font-weight: 500; - letter-spacing: -0.38px; - margin-top: 24px; - margin-bottom: 8px; -} -.timeslotButton{ - width: 100%; - left: 50%; - -ms-transform: translate(-50%,0%); - transform: translate(-50%,0%); - height: 48px; - font-size: 16px; - border-radius: 12px; - border-color: #0D7FA8; - font-weight: 500; - color: #0D7FA8; - line-height: 22px; - display: flex; - align-items: center; - text-align: center; - margin: 8px 0; -} - -.timeslotButton:active{ - opacity: 25%; -} -.timeslotButton:hover{ - opacity: 25%; -} -.timeslotButton:focus{ - opacity: 25%; -} - -.time-slot-btn-wrapper{ - box-sizing: border-box; - display: flex; - flex-direction: column; - align-items: center; - padding-top: 8px; - gap: 16px; -} -.noSlotLabel{ - height: 18px; - color: #706e6b; - font-size: 15px; - font-weight: normal; - letter-spacing: -0.36px; -} -.headerBold{ - color: rgb(0, 0, 0); - font-size: 16px; - font-weight: 700; - letter-spacing: -0.38px; -} -.slots-container{ - background-color: white; - padding: 0 16px 16px 16px; -} -.page-title{ - color: rgb(0, 0, 0); - font-size: 18px; - font-weight: 500; - letter-spacing: -0.38px; - margin-top: 10px; - margin-bottom: 4px; - padding-top: 10px; - padding-bottom: 10px; -} - -.separator{ - height: 1px; - background-color: rgba(159, 170, 181, 0.5); - margin: 0 -16px; -} - -.section{ - background-color: rgba(238, 238, 238, 1); - height: 10px; - margin: 16px -16px 0 -16px; -} - -.active-slot{ - opacity: 25%; -} - -.grey-action-icon{ - margin-bottom: 16px; - --sds-c-icon-color-background: #EEEEEE; -} - -.empty-slots-container{ - background-color: white; - display: flex; - flex-direction: column; - align-items: center; - padding: 40px 16px; - margin-top: 10px; -} - -.empty-slos-title{ - font-size: 16px; - line-height: 22px; - font-weight: 500; -} -.empty-slos-body{ - font-size: 16px; - line-height: 22px; - margin-top: 16px; - text-align: center; -} \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.html b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.html deleted file mode 100644 index 5cbbe44..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.html +++ /dev/null @@ -1,67 +0,0 @@ - \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js-meta.xml b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/constants b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/constants deleted file mode 100644 index 8eff7f5..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/constants +++ /dev/null @@ -1,8 +0,0 @@ -const toastVariables = { - error: "error", - warning: "warning", - success: "success", - info: "info" -} - -export {toastVariables}; \ No newline at end of file diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js-meta.xml b/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js-meta.xml deleted file mode 100644 index eac275d..0000000 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js-meta.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - 55.0 - false - \ No newline at end of file diff --git a/RescheduleAppointments/package.json b/RescheduleAppointments/package.json deleted file mode 100644 index 060c432..0000000 --- a/RescheduleAppointments/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "salesforce-app", - "private": true, - "version": "1.0.0", - "description": "Salesforce App", - "scripts": { - "lint": "npm run lint:lwc && npm run lint:aura", - "lint:aura": "eslint **/aura/**", - "lint:lwc": "eslint **/lwc/**", - "test": "npm run test:unit", - "test:unit": "sfdx-lwc-jest", - "test:unit:watch": "sfdx-lwc-jest --watch", - "test:unit:debug": "sfdx-lwc-jest --debug", - "test:unit:coverage": "sfdx-lwc-jest --coverage", - "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", - "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"" - }, - "devDependencies": { - "@prettier/plugin-xml": "^0.12.0", - "@salesforce/eslint-config-lwc": "^0.11.0", - "@salesforce/eslint-plugin-aura": "^2.0.0", - "@salesforce/sfdx-lwc-jest": "^0.10.4", - "eslint": "^7.24.0", - "eslint-config-prettier": "^6.11.0", - "husky": "^4.2.1", - "lint-staged": "^10.0.7", - "prettier": "^2.0.5", - "prettier-plugin-apex": "^1.6.0" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, - "lint-staged": { - "**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}": [ - "prettier --write" - ], - "**/{aura|lwc}/**": [ - "eslint" - ] - } -} diff --git a/RescheduleAppointments/sfdx-project.json b/RescheduleAppointments/sfdx-project.json deleted file mode 100644 index f54a1bf..0000000 --- a/RescheduleAppointments/sfdx-project.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "packageDirectories": [ - { - "path": "force-app", - "default": true - } - ], - "name": "RescheduleAppointments", - "namespace": "", - "sfdcLoginUrl": "https://login.salesforce.com", - "sourceApiVersion": "51.0" -} diff --git a/ServiceDocumentSamples/.husky/pre-commit b/ServiceDocumentSamples/.husky/pre-commit deleted file mode 100755 index feac116..0000000 --- a/ServiceDocumentSamples/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npm run precommit \ No newline at end of file diff --git a/ServiceDocumentSamples/.prettierignore b/ServiceDocumentSamples/.prettierignore deleted file mode 100755 index 1575a31..0000000 --- a/ServiceDocumentSamples/.prettierignore +++ /dev/null @@ -1,14 +0,0 @@ -# List files or directories below to ignore them when running prettier -# More information: https://prettier.io/docs/en/ignore.html -# - -**/staticresources/** -.localdevserver -.sfdx -.vscode - -# Ignore apex cls and apex trigger files: -**/*.cls -**/*.trigger - -coverage/ \ No newline at end of file diff --git a/ServiceDocumentSamples/.prettierrc b/ServiceDocumentSamples/.prettierrc deleted file mode 100755 index 15683b6..0000000 --- a/ServiceDocumentSamples/.prettierrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "trailingComma": "none", - "overrides": [ - { - "files": "**/lwc/**/*.html", - "options": { "parser": "lwc" } - }, - { - "files": "*.{cmp,page,component}", - "options": { "parser": "html" } - } - ] -} diff --git a/ServiceDocumentSamples/.vscode/extensions.json b/ServiceDocumentSamples/.vscode/extensions.json deleted file mode 100644 index 7e6cb10..0000000 --- a/ServiceDocumentSamples/.vscode/extensions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "recommendations": [ - "salesforce.salesforcedx-vscode", - "redhat.vscode-xml", - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", - "financialforce.lana" - ] -} diff --git a/ServiceDocumentSamples/.vscode/launch.json b/ServiceDocumentSamples/.vscode/launch.json deleted file mode 100644 index e07e391..0000000 --- a/ServiceDocumentSamples/.vscode/launch.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Launch Apex Replay Debugger", - "type": "apex-replay", - "request": "launch", - "logFile": "${command:AskForLogFileName}", - "stopOnEntry": true, - "trace": true - } - ] -} diff --git a/ServiceDocumentSamples/.vscode/settings.json b/ServiceDocumentSamples/.vscode/settings.json deleted file mode 100644 index 76decfb..0000000 --- a/ServiceDocumentSamples/.vscode/settings.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "search.exclude": { - "**/node_modules": true, - "**/bower_components": true, - "**/.sfdx": true - } -} diff --git a/ServiceDocumentSamples/force-app/main/default/aura/.eslintrc.json b/ServiceDocumentSamples/force-app/main/default/aura/.eslintrc.json deleted file mode 100644 index 226a5a2..0000000 --- a/ServiceDocumentSamples/force-app/main/default/aura/.eslintrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "plugins": ["@salesforce/eslint-plugin-aura"], - "extends": ["plugin:@salesforce/eslint-plugin-aura/recommended"], - "rules": { - "vars-on-top": "off", - "no-unused-expressions": "off" - } -} diff --git a/ServiceDocumentSamples/package.json b/ServiceDocumentSamples/package.json deleted file mode 100644 index 5dc4928..0000000 --- a/ServiceDocumentSamples/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "salesforce-app", - "private": true, - "version": "1.0.0", - "description": "Salesforce App", - "scripts": { - "lint": "eslint **/lwc/**", - "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", - "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", - "precommit": "lint-staged" - }, - "devDependencies": { - "@lwc/eslint-plugin-lwc": "^1.1.2", - "@prettier/plugin-xml": "^2.0.1", - "@salesforce/eslint-config-lwc": "^3.2.3", - "@salesforce/eslint-plugin-aura": "^2.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "@salesforce/sfdx-lwc-jest": "^1.1.0", - "eslint": "^8.11.0", - "eslint-plugin-import": "^2.25.4", - "eslint-plugin-jest": "^26.1.2", - "husky": "^7.0.4", - "prettier": "^2.6.0", - "prettier-plugin-apex": "^1.8.0" - }, - "lint-staged": { - "**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}": [ - "prettier --write" - ], - "**/{aura,lwc}/**": [ - "eslint" - ] - } -} diff --git a/ServiceDocumentSamples/yarn.lock b/ServiceDocumentSamples/yarn.lock deleted file mode 100644 index da1e521..0000000 --- a/ServiceDocumentSamples/yarn.lock +++ /dev/null @@ -1,4510 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.21.4", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== - dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" - -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.9": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== - -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.21.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.5.tgz#6e23f2acbcb77ad283c5ed141f824fd9f70101c7" - integrity sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.5" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.5" - "@babel/parser" "^7.23.5" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.5" - "@babel/types" "^7.23.5" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/core@~7.21.0": - version "7.21.8" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.8.tgz#2a8c7f0f53d60100ba4c32470ba0281c92aa9aa4" - integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.5" - "@babel/helper-compilation-targets" "^7.21.5" - "@babel/helper-module-transforms" "^7.21.5" - "@babel/helpers" "^7.21.5" - "@babel/parser" "^7.21.8" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.5" - "@babel/types" "^7.21.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/core@~7.22.8": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.20.tgz#e3d0eed84c049e2a2ae0a64d27b6a37edec385b7" - integrity sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.22.15" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.22.20" - "@babel/helpers" "^7.22.15" - "@babel/parser" "^7.22.16" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.22.20" - "@babel/types" "^7.22.19" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/eslint-parser@~7.22.7": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz#263f059c476e29ca4972481a17b8b660cb025a34" - integrity sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg== - dependencies: - "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" - eslint-visitor-keys "^2.1.0" - semver "^6.3.1" - -"@babel/generator@^7.21.5", "@babel/generator@^7.22.15", "@babel/generator@^7.23.5", "@babel/generator@^7.7.2": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.5.tgz#17d0a1ea6b62f351d281350a5f80b87a810c4755" - integrity sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA== - dependencies: - "@babel/types" "^7.23.5" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.21.5", "@babel/helper-compilation-targets@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" - integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== - dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.15" - browserslist "^4.21.9" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.5.tgz#2a8792357008ae9ce8c0f2b78b9f646ac96b314b" - integrity sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A== - dependencies: - "@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/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - semver "^6.3.1" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== - dependencies: - "@babel/types" "^7.23.0" - -"@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-module-imports@~7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.21.5", "@babel/helper-module-transforms@^7.22.20", "@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-replace-supers@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" - integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.22.15": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helpers@^7.21.5", "@babel/helpers@^7.22.15", "@babel/helpers@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.5.tgz#52f522840df8f1a848d06ea6a79b79eefa72401e" - integrity sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg== - dependencies: - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.5" - "@babel/types" "^7.23.5" - -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.8", "@babel/parser@^7.22.15", "@babel/parser@^7.22.16", "@babel/parser@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.5.tgz#37dee97c4752af148e1d38c34b856b2507660563" - integrity sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ== - -"@babel/plugin-proposal-class-properties@~7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-object-rest-spread@~7.20.2": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-decorators@^7.21.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz#a1d351d6c25bfdcf2e16f99b039101bc0ffcb0ca" - integrity sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.23.3", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" - integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-commonjs@^7.21.2", "@babel/plugin-transform-modules-commonjs@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" - integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - -"@babel/plugin-transform-parameters@^7.20.7": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typescript@^7.23.3": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.5.tgz#83da13ef62a1ebddf2872487527094b31c9adb84" - integrity sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.23.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-typescript" "^7.23.3" - -"@babel/preset-typescript@^7.21.0": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" - integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-typescript" "^7.23.3" - -"@babel/template@^7.20.7", "@babel/template@^7.22.15", "@babel/template@^7.3.3": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/traverse@^7.21.5", "@babel/traverse@^7.22.20", "@babel/traverse@^7.23.5", "@babel/traverse@^7.7.2": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.5.tgz#f546bf9aba9ef2b042c0e00d245990c15508e7ec" - integrity sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.5" - "@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.5" - "@babel/types" "^7.23.5" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.7", "@babel/types@^7.21.5", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.5", "@babel/types@^7.3.3": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.5.tgz#48d730a00c95109fa4393352705954d74fb5b602" - integrity sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@eslint-community/eslint-utils@^4.2.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.55.0": - version "8.55.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.55.0.tgz#b721d52060f369aa259cf97392403cb9ce892ec6" - integrity sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA== - -"@hapi/hoek@^9.0.0": - version "9.3.0" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" - integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== - -"@hapi/topo@^5.0.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" - integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@humanwhocodes/config-array@^0.11.13": - version "0.11.13" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" - integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== - dependencies: - "@humanwhocodes/object-schema" "^2.0.1" - debug "^4.1.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" - integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - 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" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" - integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - -"@jest/core@^27.4.7", "@jest/core@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" - integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/reporters" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^27.5.1" - jest-config "^27.5.1" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-resolve-dependencies "^27.5.1" - jest-runner "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - jest-watcher "^27.5.1" - micromatch "^4.0.4" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" - integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== - dependencies: - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - -"@jest/fake-timers@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" - integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== - dependencies: - "@jest/types" "^27.5.1" - "@sinonjs/fake-timers" "^8.0.1" - "@types/node" "*" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -"@jest/globals@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" - integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/types" "^27.5.1" - expect "^27.5.1" - -"@jest/reporters@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" - integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-haste-map "^27.5.1" - jest-resolve "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^8.1.0" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" - integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.9" - source-map "^0.6.0" - -"@jest/test-result@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" - integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== - dependencies: - "@jest/console" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" - integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== - dependencies: - "@jest/test-result" "^27.5.1" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-runtime "^27.5.1" - -"@jest/transform@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" - integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-regex-util "^27.5.1" - jest-util "^27.5.1" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== - 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" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.20" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" - integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@lwc/babel-plugin-component@2.42.0": - version "2.42.0" - resolved "https://registry.yarnpkg.com/@lwc/babel-plugin-component/-/babel-plugin-component-2.42.0.tgz#f3c9f83baf0ebf1ae2d71246512a3af46f2e114a" - integrity sha512-JqMM7vxKCUypgxnjxizfSFmm1hPRw8blFIyY1sxiBSrwXhZXTHxtstLRCZkATRsG4dAjj4wQ7SrNRhd7oQXD9Q== - dependencies: - "@babel/helper-module-imports" "~7.18.6" - "@lwc/errors" "2.42.0" - "@lwc/shared" "2.42.0" - line-column "~1.0.2" - -"@lwc/compiler@2.42.0": - version "2.42.0" - resolved "https://registry.yarnpkg.com/@lwc/compiler/-/compiler-2.42.0.tgz#f6402f333f3a169dd740f443844a8722c27d5d08" - integrity sha512-0NJFUAFVp4I/TI4GHvSwS86tyv7GuduxHLVsZ0Q42rAdvJmbMBvD8jIlCflhHLgzT0ePSD6pkoq9aKjks03RnQ== - dependencies: - "@babel/core" "~7.21.0" - "@babel/plugin-proposal-class-properties" "~7.18.6" - "@babel/plugin-proposal-object-rest-spread" "~7.20.2" - "@lwc/babel-plugin-component" "2.42.0" - "@lwc/errors" "2.42.0" - "@lwc/shared" "2.42.0" - "@lwc/style-compiler" "2.42.0" - "@lwc/template-compiler" "2.42.0" - -"@lwc/engine-dom@2.42.0": - version "2.42.0" - resolved "https://registry.yarnpkg.com/@lwc/engine-dom/-/engine-dom-2.42.0.tgz#91baf6c41cdd55d5a9eccf699317795f7e909ac9" - integrity sha512-yLo+C8MsLfDPrpAiHN8ktdVi2we2z1fryfXNYu9TMIaXwro/Bdw8PMzpIz5Q0E19KruGaAmixAzaLxymhwj2gQ== - -"@lwc/errors@2.42.0": - version "2.42.0" - resolved "https://registry.yarnpkg.com/@lwc/errors/-/errors-2.42.0.tgz#91179812ff50d566334a1ae65e0c580d85febb42" - integrity sha512-byCYjSXoV8B3s9d+rPwpQwGZ2y4u6Gh+QJkDT6ZGgcXhBCWeQLPp87rnZdhTau3Da0P7319G+ivOp57smbk/Eg== - -"@lwc/eslint-plugin-lwc@^1.1.2": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@lwc/eslint-plugin-lwc/-/eslint-plugin-lwc-1.7.0.tgz#2d440800dede6fe12acb3f486dce95e34dd55b9d" - integrity sha512-nmyoIFAbUFR5lUEvmHdEqgIqbHquUHjiLBKmrGzocFOu8PKI4jMgZdjI53Wrcn2ddLwBUwLZyEdkcvms3ni00A== - dependencies: - globals "^13.23.0" - minimatch "^9.0.3" - -"@lwc/jest-preset@11.8.0": - version "11.8.0" - resolved "https://registry.yarnpkg.com/@lwc/jest-preset/-/jest-preset-11.8.0.tgz#aaec8b4c4d6a250ed97d8d07978b8e3cdc014138" - integrity sha512-BHb246V3LGm8q1HPYKFEZIgHwgFi8X5lN2R0FZavfyt1lnGhSa4ilS/zpLAgTHhyTOUhXkR4BKTDauCGLl4brw== - dependencies: - "@lwc/jest-resolver" "11.8.0" - "@lwc/jest-serializer" "11.8.0" - "@lwc/jest-transformer" "11.8.0" - -"@lwc/jest-resolver@11.8.0": - version "11.8.0" - resolved "https://registry.yarnpkg.com/@lwc/jest-resolver/-/jest-resolver-11.8.0.tgz#ea17888f1f55a7975d4c1b035cd07173395c3bed" - integrity sha512-mN5tXW1jko671GUE/yZP/xbZ1ECpnZo40dLMzFctIUF9kOmMjRMv/xdsBTtBnI59W2WKMYDs8G7pywdMFBeZvw== - dependencies: - "@lwc/jest-shared" "11.8.0" - -"@lwc/jest-serializer@11.8.0": - version "11.8.0" - resolved "https://registry.yarnpkg.com/@lwc/jest-serializer/-/jest-serializer-11.8.0.tgz#eb520f6e1d4a1a6296af9101b745183387faa7cf" - integrity sha512-bjIywlnvTkfEvBNKOrb/DHMvTw/V78ZSgNwry2eCHcDFI93adj6HkAx+Qq214uprnT/lZUtxosJBTcc/DkjrpA== - dependencies: - pretty-format "^29.5.0" - -"@lwc/jest-shared@11.8.0": - version "11.8.0" - resolved "https://registry.yarnpkg.com/@lwc/jest-shared/-/jest-shared-11.8.0.tgz#dde7b80cca2eb1360a11d735e3da4c98ac036420" - integrity sha512-g4xgbD5+NC75omjZ6YZZ/tJhhrBnFEj2Lx/oY/yLtKUDXRX//PiWmGGcdlUbM5X8T8Bx9VR1wFttlB2Ta26VPQ== - -"@lwc/jest-transformer@11.8.0": - version "11.8.0" - resolved "https://registry.yarnpkg.com/@lwc/jest-transformer/-/jest-transformer-11.8.0.tgz#adcac2c8b1daac9058407e4d33734fe72c8df32e" - integrity sha512-qEyQnw95I7NtFugoTbIRlxN7jXiKCsrEo6ZvMOtyVAAJeKjbv02j+2XCSp15e8usnH5UFNY7DKm2wTxMfr991A== - dependencies: - "@babel/core" "^7.21.3" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-decorators" "^7.21.0" - "@babel/plugin-transform-modules-commonjs" "^7.21.2" - "@babel/preset-typescript" "^7.21.0" - "@lwc/jest-shared" "11.8.0" - babel-preset-jest "^29.5.0" - -"@lwc/module-resolver@2.42.0": - version "2.42.0" - resolved "https://registry.yarnpkg.com/@lwc/module-resolver/-/module-resolver-2.42.0.tgz#a52189eb6060dd781eccaeb795ffa53f7e33cf3e" - integrity sha512-pwtgFNm/sNIS7daRnLCNLY4CqO/B31/ZwsqQd3Hs5eaH9iSFrGnoUm4sTVFyLljVAy7CXKdakwkvcj3JKjsO+w== - dependencies: - resolve "~1.22.1" - -"@lwc/shared@2.42.0": - version "2.42.0" - resolved "https://registry.yarnpkg.com/@lwc/shared/-/shared-2.42.0.tgz#6ddbaaf6fee1c1bd812723b1101eb08b6e328535" - integrity sha512-YSI9VObp3fJ5yyg6vE4tDRB8dqKRT5ZYmKL03lzQh6+NMcjqv+EyW48Q2pPcv2ghsg0mJHvHBl7+hFGe5Z03OQ== - -"@lwc/style-compiler@2.42.0": - version "2.42.0" - resolved "https://registry.yarnpkg.com/@lwc/style-compiler/-/style-compiler-2.42.0.tgz#0ac36abed925cafd7763c384aa351a9af60b6477" - integrity sha512-8p9YKqiNqK9XlblLgHYigRfNFsohmKYl400w/t5uewaMlLx/DoPlxcUmeEhGtibqkGEK7uqnuvLZDsO99Tuylw== - dependencies: - "@lwc/shared" "2.42.0" - postcss "~8.4.20" - postcss-selector-parser "~6.0.11" - postcss-value-parser "~4.2.0" - string.prototype.matchall "^4.0.8" - -"@lwc/synthetic-shadow@2.42.0": - version "2.42.0" - resolved "https://registry.yarnpkg.com/@lwc/synthetic-shadow/-/synthetic-shadow-2.42.0.tgz#53332140e75dea1cc2cc20f6c4a9ab0c193de465" - integrity sha512-UgtQqoyoIH8qi2Tv05PuX3FGRjeASyBb8Ylqmn4qed7nCOeek5uUbWh2sX2Ck/lK73qVqk4jiH8xsK9MIrQvoQ== - -"@lwc/template-compiler@2.42.0": - version "2.42.0" - resolved "https://registry.yarnpkg.com/@lwc/template-compiler/-/template-compiler-2.42.0.tgz#23a2915b57e1407ce48c3d27605dc79fdbb0717d" - integrity sha512-IMmm50fJUVG4kiX8gVptT6V/amtGMIi1dbcCU7rixjoBxd/F20lhZN3yHSPiWGFmoBWri16cFd+5hu3YYPRJdw== - dependencies: - "@lwc/errors" "2.42.0" - "@lwc/shared" "2.42.0" - acorn "~8.8.2" - astring "~1.8.3" - estree-walker "~2.0.2" - he "~1.2.0" - parse5 "~6.0.1" - -"@lwc/wire-service@2.42.0": - version "2.42.0" - resolved "https://registry.yarnpkg.com/@lwc/wire-service/-/wire-service-2.42.0.tgz#78dfe3612e7e49dcaf9f747008a9d400fefd3093" - integrity sha512-ZUY+8tYRxSYP5Murcb9tHZYXfMas4gNGfnt50Z/FxMX2kEC8Snp6sPyUTV1k4q+zTNu0zJ+WYHVpMgB+QfUc+w== - -"@mdn/browser-compat-data@^5.2.34", "@mdn/browser-compat-data@^5.3.13": - version "5.4.4" - resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-5.4.4.tgz#df1332e50063499a98ff3772c5b2fdadab65d2c0" - integrity sha512-ykYCVBr3CjyKHiXefqyl3SuSpoib/5ViBZ2kjD18xbZFJpnSSJZg1deq+lirYN0vheKhj7BU+29qjAusfZalOA== - -"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": - version "5.1.1-v1" - resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" - integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== - dependencies: - eslint-scope "5.1.1" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@prettier/plugin-xml@^2.0.1": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@prettier/plugin-xml/-/plugin-xml-2.2.0.tgz#2bc2ae667aa817369fdb939aa7d36ea88105483d" - integrity sha512-UWRmygBsyj4bVXvDiqSccwT1kmsorcwQwaIy30yVh8T+Gspx4OlC0shX1y+ZuwXZvgnafmpRYKks0bAu9urJew== - dependencies: - "@xml-tools/parser" "^1.0.11" - prettier ">=2.4.0" - -"@salesforce/eslint-config-lwc@^3.2.3": - version "3.5.2" - resolved "https://registry.yarnpkg.com/@salesforce/eslint-config-lwc/-/eslint-config-lwc-3.5.2.tgz#45ae1596a35395cfec7c49736b9c52f8b9aa2b82" - integrity sha512-TqD5pF/OwjNNrms5nn9f6bf630T7WzXuH0RYF1ybsFOYsGQ2vFxD/F5fUNAjdQgLTR0hXK303j8yIw2fwTiOIQ== - dependencies: - "@babel/core" "~7.22.8" - "@babel/eslint-parser" "~7.22.7" - eslint-restricted-globals "~0.2.0" - semver "^7.5.3" - -"@salesforce/eslint-plugin-aura@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@salesforce/eslint-plugin-aura/-/eslint-plugin-aura-2.1.0.tgz#11c65d6190ecfffbc27e06b2d686026784c0b5c5" - integrity sha512-7HfwSBKTHQZQboLoEhkBY7bYR9wTaT+G5jHXGlq8y31hEnNhJXRZ+RERDEwDm1jYa2SV9lE8nMNr0/8EKIGjlQ== - dependencies: - eslint-plugin-compat "^4.0.2" - -"@salesforce/eslint-plugin-lightning@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@salesforce/eslint-plugin-lightning/-/eslint-plugin-lightning-1.0.0.tgz#9ecf80527d83394960ef3c358c790cdfde44f578" - integrity sha512-zk0PKXAcHKHepAG2EOSWlkOTxQM0Aw1CT6+MUxJcM42fCDwH/yPPpGkG3CWtRfmVViODGOwU9ywU2wlkAYcvUQ== - -"@salesforce/sfdx-lwc-jest@^1.1.0": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@salesforce/sfdx-lwc-jest/-/sfdx-lwc-jest-1.4.1.tgz#0dbe131e54dcbe3c37818eff57d9ad4364d43ae7" - integrity sha512-BYKt4FxBJfKkWUKvSC2Yxb+mnIcP+6URbawsX8aeo1pKRnz6TDusiNZE8bR+8ZRWwnmeUC0fzKlZEi3xIqzMRg== - dependencies: - "@lwc/compiler" "2.42.0" - "@lwc/engine-dom" "2.42.0" - "@lwc/jest-preset" "11.8.0" - "@lwc/jest-resolver" "11.8.0" - "@lwc/jest-serializer" "11.8.0" - "@lwc/jest-transformer" "11.8.0" - "@lwc/module-resolver" "2.42.0" - "@lwc/synthetic-shadow" "2.42.0" - "@lwc/wire-service" "2.42.0" - "@salesforce/wire-service-jest-util" "4.0.1" - chalk "^4.1.2" - fast-glob "^3.2.12" - jest "27.4.7" - yargs "~17.6.2" - -"@salesforce/wire-service-jest-util@4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@salesforce/wire-service-jest-util/-/wire-service-jest-util-4.0.1.tgz#776d2a8b5dee9a63803e46cde7d511f32ada85ae" - integrity sha512-6u3ZGXDCeRnKSX8WHRpVQAXmGiee6NkhmQb0gXmcPAm8zW/Q7o7lRJNvXKnxnXY7qyiKXVYDQAFKJjtGpaCfjw== - -"@sideway/address@^4.1.3": - version "4.1.4" - resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" - integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@sideway/formula@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" - integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== - -"@sideway/pinpoint@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" - integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" - integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^8.0.1": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" - integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.7" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.7.tgz#a7aebf15c7bc0eb9abd638bdb5c0b8700399c9d0" - integrity sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.20.4" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.4.tgz#ec2c06fed6549df8bc0eb4615b683749a4a92e1b" - integrity sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA== - dependencies: - "@babel/types" "^7.20.7" - -"@types/graceful-fs@^4.1.2": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/node@*": - version "20.10.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.3.tgz#4900adcc7fc189d5af5bb41da8f543cea6962030" - integrity sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg== - dependencies: - undici-types "~5.26.4" - -"@types/prettier@^2.1.5": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" - integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== - -"@types/semver@^7.3.12": - version "7.5.6" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" - integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^16.0.0": - version "16.0.9" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.9.tgz#ba506215e45f7707e6cbcaf386981155b7ab956e" - integrity sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/scope-manager@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" - integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== - dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - -"@typescript-eslint/types@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" - integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== - -"@typescript-eslint/typescript-estree@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" - integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== - dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@^5.10.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" - integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" - integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== - dependencies: - "@typescript-eslint/types" "5.62.0" - eslint-visitor-keys "^3.3.0" - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@xml-tools/parser@^1.0.11": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@xml-tools/parser/-/parser-1.0.11.tgz#a118a14099ea5c3c537e4781fad2fc195b57f8ff" - integrity sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA== - dependencies: - chevrotain "7.1.1" - -abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4, acorn@^8.9.0: - version "8.11.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" - integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== - -acorn@~8.8.2: - version "8.8.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - 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" - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^3.0.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-includes@^3.1.7: - version "3.1.7" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.findlastindex@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" - integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - -ast-metadata-inferer@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/ast-metadata-inferer/-/ast-metadata-inferer-0.8.0.tgz#0f94c3425e310d8da45823ab2161142e3f134343" - integrity sha512-jOMKcHht9LxYIEQu+RVd22vtgrPaVCtDRQ/16IGmurdzxvYbDd5ynxjnyrzLnieG96eTcAyaoj/wN/4/1FyyeA== - dependencies: - "@mdn/browser-compat-data" "^5.2.34" - -astring@~1.8.3: - version "1.8.6" - resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.6.tgz#2c9c157cf1739d67561c56ba896e6948f6b93731" - integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -axios@^1.0.0, axios@^1.6.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2" - integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A== - dependencies: - follow-redirects "^1.15.0" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -babel-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" - integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== - dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - 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" - -babel-plugin-jest-hoist@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" - integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - 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" - -babel-preset-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" - integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== - dependencies: - babel-plugin-jest-hoist "^27.5.1" - babel-preset-current-node-syntax "^1.0.0" - -babel-preset-jest@^29.5.0: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.21.10, browserslist@^4.21.9: - version "4.22.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" - integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== - dependencies: - caniuse-lite "^1.0.30001565" - electron-to-chromium "^1.4.601" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== - dependencies: - function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001524, caniuse-lite@^1.0.30001565: - version "1.0.30001566" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz#61a8e17caf3752e3e426d4239c549ebbb37fef0d" - integrity sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA== - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -chevrotain@7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/chevrotain/-/chevrotain-7.1.1.tgz#5122814eafd1585a9601f9180a7be9c42d5699c6" - integrity sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw== - dependencies: - regexp-to-ast "0.5.0" - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decimal.js@^10.2.1: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== - dependencies: - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -electron-to-chromium@^1.4.601: - version "1.4.606" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.606.tgz#d9f83f7d06a253ccdd99475dccbbd38d4758ba2f" - integrity sha512-Zdv0XuhfyWZUsQ5Uq59d43ZmZOdoGZNWjeN4WCxxlQaP8crAWdnWcTxfHKcaJl6PW2SWpHx6DsxSx7v6KcGCuw== - -emittery@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" - integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.12" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" - -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== - dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" - integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionalDependencies: - source-map "~0.6.1" - -eslint-import-resolver-node@^0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== - dependencies: - debug "^3.2.7" - -eslint-plugin-compat@^4.0.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-compat/-/eslint-plugin-compat-4.2.0.tgz#eeaf80daa1afe495c88a47e9281295acae45c0aa" - integrity sha512-RDKSYD0maWy5r7zb5cWQS+uSPc26mgOzdORJ8hxILmWM7S/Ncwky7BcAtXVY5iRbKjBdHsWU8Yg7hfoZjtkv7w== - dependencies: - "@mdn/browser-compat-data" "^5.3.13" - ast-metadata-inferer "^0.8.0" - browserslist "^4.21.10" - caniuse-lite "^1.0.30001524" - find-up "^5.0.0" - lodash.memoize "^4.1.2" - semver "^7.5.4" - -eslint-plugin-import@^2.25.4: - version "2.29.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz#8133232e4329ee344f2f612885ac3073b0b7e155" - integrity sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg== - dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" - semver "^6.3.1" - tsconfig-paths "^3.14.2" - -eslint-plugin-jest@^26.1.2: - version "26.9.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz#7931c31000b1c19e57dbfb71bbf71b817d1bf949" - integrity sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng== - dependencies: - "@typescript-eslint/utils" "^5.10.0" - -eslint-restricted-globals@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.2.0.tgz#7729f326af97bec7a7e56d9f7d9c064b79285c50" - integrity sha512-kwYJALm5KS2QW3Mc1PgObO4V+pTR6RQtRT65L1GQILlEnAhabUQqGAX7/qUjoQR4KZJKehWpBtyDEiDecwmY9A== - -eslint-scope@5.1.1, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@^8.11.0: - version "8.55.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.55.0.tgz#078cb7b847d66f2c254ea1794fa395bf8e7e03f8" - integrity sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.55.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.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@~2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - 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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" - integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== - dependencies: - "@jest/types" "^27.5.1" - jest-get-type "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.12, fast-glob@^3.2.9: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - 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" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== - -follow-redirects@^1.15.0: - version "1.15.3" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" - integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - 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" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0, globals@^13.23.0: - version "13.23.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" - integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - 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" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== - dependencies: - get-intrinsic "^1.2.2" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - -he@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -husky@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" - integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ignore@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" - integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== - dependencies: - get-intrinsic "^1.2.2" - hasown "^2.0.0" - side-channel "^1.0.4" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.13.0, is-core-module@^2.13.1: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -isarray@1.0.0, isarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - 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" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" - integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" - integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== - dependencies: - "@jest/types" "^27.5.1" - execa "^5.0.0" - throat "^6.0.1" - -jest-circus@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" - integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - throat "^6.0.1" - -jest-cli@^27.4.7: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" - integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== - dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - prompts "^2.0.1" - yargs "^16.2.0" - -jest-config@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" - integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== - dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - babel-jest "^27.5.1" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.9" - jest-circus "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-get-type "^27.5.1" - jest-jasmine2 "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runner "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^27.5.1" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-docblock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" - integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== - dependencies: - detect-newline "^3.0.0" - -jest-docblock@^29.0.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" - integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - jest-get-type "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - -jest-environment-jsdom@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" - integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - jsdom "^16.6.0" - -jest-environment-node@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" - integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== - -jest-haste-map@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== - dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - -jest-jasmine2@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" - integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - throat "^6.0.1" - -jest-leak-detector@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" - integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== - dependencies: - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-matcher-utils@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== - dependencies: - chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-message-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" - integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" - integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== - -jest-resolve-dependencies@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" - integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== - dependencies: - "@jest/types" "^27.5.1" - jest-regex-util "^27.5.1" - jest-snapshot "^27.5.1" - -jest-resolve@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" - integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-pnp-resolver "^1.2.2" - jest-util "^27.5.1" - jest-validate "^27.5.1" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" - integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.8.1" - graceful-fs "^4.2.9" - jest-docblock "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-haste-map "^27.5.1" - jest-leak-detector "^27.5.1" - jest-message-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runtime "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - source-map-support "^0.5.6" - throat "^6.0.1" - -jest-runtime@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" - integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - execa "^5.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-serializer@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - -jest-snapshot@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" - integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^27.5.1" - graceful-fs "^4.2.9" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - jest-haste-map "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - natural-compare "^1.4.0" - pretty-format "^27.5.1" - semver "^7.3.2" - -jest-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" - integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== - dependencies: - "@jest/types" "^27.5.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^27.5.1" - leven "^3.1.0" - pretty-format "^27.5.1" - -jest-watcher@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" - integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== - dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^27.5.1" - string-length "^4.0.1" - -jest-worker@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@27.4.7: - version "27.4.7" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.4.7.tgz#87f74b9026a1592f2da05b4d258e57505f28eca4" - integrity sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg== - dependencies: - "@jest/core" "^27.4.7" - import-local "^3.0.2" - jest-cli "^27.4.7" - -joi@^17.11.0: - version "17.11.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.11.0.tgz#aa9da753578ec7720e6f0ca2c7046996ed04fc1a" - integrity sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ== - dependencies: - "@hapi/hoek" "^9.0.0" - "@hapi/topo" "^5.0.0" - "@sideway/address" "^4.1.3" - "@sideway/formula" "^3.0.1" - "@sideway/pinpoint" "^2.0.0" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - 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" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.2.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -line-column@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2" - integrity sha512-Ktrjk5noGYlHsVnYWh62FLVs4hTb8A3e+vucNZMgPeAOITdshMSgv4cCZQeRDjm7+goqmo6+liZwTXo+U3sVww== - dependencies: - isarray "^1.0.0" - isobject "^2.0.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash@^4.17.21, lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nwsapi@^2.2.0: - version "2.2.7" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" - integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== - -object-inspect@^1.13.1, object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.fromentries@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.groupby@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" - integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - -object.values@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@6.0.1, parse5@~6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -postcss-selector-parser@~6.0.11: - version "6.0.13" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" - integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@~4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@~8.4.20: - version "8.4.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9" - integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-plugin-apex@^1.8.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/prettier-plugin-apex/-/prettier-plugin-apex-1.13.0.tgz#c71a47637803e282c988a534e5e1f4dd93df649c" - integrity sha512-QeGHrNOR6EXoH0Mto385FDrRC+XSCc/8zvtqNvhEaFovEMC7InDp2Mn5WxjJzQUdgtUYoXL+NYcSm3nxMqsymQ== - dependencies: - axios "^1.0.0" - jest-docblock "^29.0.0" - wait-on "^7.0.0" - yargs "^17.0.0" - -prettier@>=2.4.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.0.tgz#c6d16474a5f764ea1a4a373c593b779697744d5e" - integrity sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw== - -prettier@^2.6.0: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^29.5.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -punycode@^2.1.0, punycode@^2.1.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -regexp-to-ast@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz#56c73856bee5e1fef7f73a00f1473452ab712a24" - integrity sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw== - -regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve.exports@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" - integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== - -resolve@^1.20.0, resolve@^1.22.4, resolve@~1.22.1: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rxjs@^7.8.1: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - -safe-array-concat@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" - integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.2, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -set-function-length@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" - integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== - dependencies: - define-data-property "^1.1.1" - get-intrinsic "^1.2.1" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - -set-function-name@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== - dependencies: - define-data-property "^1.0.1" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-support@^0.5.6: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.matchall@^4.0.8: - version "4.0.10" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" - integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - regexp.prototype.flags "^1.5.0" - set-function-name "^2.0.0" - side-channel "^1.0.4" - -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -throat@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" - integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tough-cookie@^4.0.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -tsconfig-paths@^3.14.2: - version "3.14.2" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" - -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -util-deprecate@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -v8-to-istanbul@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" - integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -wait-on@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-7.2.0.tgz#d76b20ed3fc1e2bebc051fae5c1ff93be7892928" - integrity sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ== - dependencies: - axios "^1.6.1" - joi "^17.11.0" - lodash "^4.17.21" - minimist "^1.2.8" - rxjs "^7.8.1" - -walker@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-typed-array@^1.1.11, which-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.6: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - 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" - -yargs@^17.0.0: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yargs@~17.6.2: - version "17.6.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" - integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/UploadAndAnnotateImages/.husky/pre-commit b/UploadAndAnnotateImages/.husky/pre-commit deleted file mode 100755 index 6d45adc..0000000 --- a/UploadAndAnnotateImages/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -cd ./UploadAndAnnotateImages && npm run precommit \ No newline at end of file diff --git a/UploadAndAnnotateImages/.prettierignore b/UploadAndAnnotateImages/.prettierignore deleted file mode 100755 index f3720b2..0000000 --- a/UploadAndAnnotateImages/.prettierignore +++ /dev/null @@ -1,10 +0,0 @@ -# List files or directories below to ignore them when running prettier -# More information: https://prettier.io/docs/en/ignore.html -# - -**/staticresources/** -.localdevserver -.sfdx -.vscode - -coverage/ \ No newline at end of file diff --git a/UploadAndAnnotateImages/.prettierrc b/UploadAndAnnotateImages/.prettierrc deleted file mode 100755 index 15683b6..0000000 --- a/UploadAndAnnotateImages/.prettierrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "trailingComma": "none", - "overrides": [ - { - "files": "**/lwc/**/*.html", - "options": { "parser": "lwc" } - }, - { - "files": "*.{cmp,page,component}", - "options": { "parser": "html" } - } - ] -} diff --git a/UploadAndAnnotateImages/force-app/main/default/aura/.eslintrc.json b/UploadAndAnnotateImages/force-app/main/default/aura/.eslintrc.json deleted file mode 100644 index 226a5a2..0000000 --- a/UploadAndAnnotateImages/force-app/main/default/aura/.eslintrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "plugins": ["@salesforce/eslint-plugin-aura"], - "extends": ["plugin:@salesforce/eslint-plugin-aura/recommended"], - "rules": { - "vars-on-top": "off", - "no-unused-expressions": "off" - } -} diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/jsconfig.json b/UploadAndAnnotateImages/force-app/main/default/lwc/jsconfig.json deleted file mode 100644 index f6c5c8d..0000000 --- a/UploadAndAnnotateImages/force-app/main/default/lwc/jsconfig.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "compilerOptions": { - "experimentalDecorators": true - }, - "include": ["**/*", "../../../../.sfdx/typings/lwc/**/*.d.ts"], - "paths": { - "c/*": ["*"] - }, - "typeAcquisition": { - "include": ["jest"] - } -} diff --git a/UploadAndAnnotateImages/package-lock.json b/UploadAndAnnotateImages/package-lock.json deleted file mode 100644 index e817772..0000000 --- a/UploadAndAnnotateImages/package-lock.json +++ /dev/null @@ -1,7843 +0,0 @@ -{ - "name": "salesforce-app", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", - "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==", - "dev": true - }, - "@babel/core": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", - "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "dependencies": { - "@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", - "dev": true - }, - "@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", - "dev": true, - "requires": { - "@babel/types": "^7.21.4", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - } - }, - "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - } - }, - "@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" - } - }, - "@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", - "dev": true - }, - "@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", - "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" - } - }, - "@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==" - }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz", - "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==", - "dev": true, - "requires": { - "@babel/types": "^7.20.2", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz", - "integrity": "sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6" - }, - "dependencies": { - "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - } - }, - "@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", - "dev": true - }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", - "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", - "dev": true, - "requires": { - "@babel/types": "^7.21.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", - "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" - }, - "dependencies": { - "@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", - "requires": { - "@babel/types": "^7.21.4", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - } - }, - "@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==" - }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dev": true, - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.1.tgz", - "integrity": "sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.0" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz", - "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==", - "dev": true - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, - "dependencies": { - "@babel/compat-data": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.4.tgz", - "integrity": "sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==", - "dev": true - }, - "@babel/helper-compilation-targets": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz", - "integrity": "sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-validator-option": "^7.21.0", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - } - }, - "@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "@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-decorators": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz", - "integrity": "sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@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-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-jsx": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", - "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@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-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.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", - "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", - "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" - }, - "dependencies": { - "@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", - "requires": { - "@babel/types": "^7.21.4", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - } - }, - "@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" - } - }, - "@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==" - }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", - "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz", - "integrity": "sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - } - }, - "@babel/preset-typescript": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.4.tgz", - "integrity": "sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-syntax-jsx": "^7.21.4", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-typescript": "^7.21.3" - }, - "dependencies": { - "@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", - "dev": true - } - } - }, - "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - } - }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - } - }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dev": true, - "requires": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "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 - }, - "@eslint/eslintrc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.15.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "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" - } - }, - "globals": { - "version": "13.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.18.0.tgz", - "integrity": "sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "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 - } - } - }, - "@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true - }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "dependencies": { - "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" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@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": { - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "dev": true, - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - } - }, - "@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - } - }, - "@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "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/schemas": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", - "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.25.16" - } - }, - "@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "dev": true, - "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - } - }, - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "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/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "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" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@lwc/babel-plugin-component": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/babel-plugin-component/-/babel-plugin-component-2.31.0.tgz", - "integrity": "sha512-Zx1w0eNhV2O9dP42PEg0PmhAfjA3V2L/gYbc9oBlfC12nAZIXsFOLqqnhECA2clHiJxFNSiCIf77gVtN7cRGcg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "~7.18.6", - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "line-column": "~1.0.2" - } - }, - "@lwc/compiler": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/compiler/-/compiler-2.31.0.tgz", - "integrity": "sha512-8Xseow7Ww0lsHeVMNm9795BRDx+pDzlFPtojCzbTwHY+sVRNf92qnnD+EgnYzZ+77YkksuuNgPoTZBYPufJFZQ==", - "dev": true, - "requires": { - "@babel/core": "~7.20.2", - "@babel/plugin-proposal-class-properties": "~7.18.6", - "@babel/plugin-proposal-object-rest-spread": "~7.20.2", - "@lwc/babel-plugin-component": "2.31.0", - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "@lwc/style-compiler": "2.31.0", - "@lwc/template-compiler": "2.31.0" - } - }, - "@lwc/engine-dom": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/engine-dom/-/engine-dom-2.31.0.tgz", - "integrity": "sha512-0J7MSIdjp7C2ufClAtEm937gNKld94+p49yMHSzfVLVEW5aZfGp3ThEvACgsEGmQKQMBwqOByaYGhcYXSRiSUw==", - "dev": true - }, - "@lwc/errors": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/errors/-/errors-2.31.0.tgz", - "integrity": "sha512-3sjby4FsYz1mUVlaAtS2hqISxy9SoDe2POZE2weZvAhkvFXG3ijRi8Sc9uGeta2akv/Df14tpRk+hesHdYoXYQ==", - "dev": true - }, - "@lwc/eslint-plugin-lwc": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@lwc/eslint-plugin-lwc/-/eslint-plugin-lwc-1.5.0.tgz", - "integrity": "sha512-LiJujIbI87Eoe+iszTXEDxudhGCLsHeNArjb9kqxKotcggqYllVwtBCS2yswyhJ39uSH4BCkeSiXmSrMcs7Jow==", - "dev": true, - "requires": { - "minimatch": "^5.1.0" - } - }, - "@lwc/jest-preset": { - "version": "11.5.4", - "resolved": "https://registry.npmjs.org/@lwc/jest-preset/-/jest-preset-11.5.4.tgz", - "integrity": "sha512-Ei4rp+v7Uz5U2VtncFUN3g58SZ4/Q5z7JpaYy8jjD6Pc/J+K0rqtNpJpuZ0DI3CXvtpFZdKGtt5O8ANjIMSrrg==", - "dev": true, - "requires": { - "@lwc/jest-resolver": "11.5.4", - "@lwc/jest-serializer": "11.5.4", - "@lwc/jest-transformer": "11.5.4" - } - }, - "@lwc/jest-resolver": { - "version": "11.5.4", - "resolved": "https://registry.npmjs.org/@lwc/jest-resolver/-/jest-resolver-11.5.4.tgz", - "integrity": "sha512-I1s+Fb05jmX+l6GeigBDwwzUoxVO1qBZMQNdu6miCNdnVJ15SZxy6T61pYBY1AkiJrVVl72tkFjHblMMNpNBoA==", - "dev": true - }, - "@lwc/jest-serializer": { - "version": "11.5.4", - "resolved": "https://registry.npmjs.org/@lwc/jest-serializer/-/jest-serializer-11.5.4.tgz", - "integrity": "sha512-hivUuejZKRVEPxHFnG5O4Hz/do581u0uWLCvKxh9HT06WMeiW+grCnrzWnrjFvLv5GcFfZchj0bGAj6UFuOObA==", - "dev": true, - "requires": { - "pretty-format": "^29.3.1" - } - }, - "@lwc/jest-transformer": { - "version": "11.5.4", - "resolved": "https://registry.npmjs.org/@lwc/jest-transformer/-/jest-transformer-11.5.4.tgz", - "integrity": "sha512-L+zK3nxiduESeMurXLlO5LeXcnpzp6qXsXk9gaz9Tdvt9x07Hp728XNeg0SutSdNmRK+8vKCZHupFQTgEEOPIg==", - "dev": true, - "requires": { - "@babel/core": "^7.20.5", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-decorators": "^7.19.0", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/preset-typescript": "^7.18.6", - "babel-preset-jest": "^29.2.0" - } - }, - "@lwc/module-resolver": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/module-resolver/-/module-resolver-2.31.0.tgz", - "integrity": "sha512-SmjGeTuii85RaUERLsS56DrY4MFWUcLVjmInjRU46TmAXMnPfCsk8fxQ5J1iE0Cf7+1/2sjlO0U9VxBQpSNqkA==", - "dev": true, - "requires": { - "resolve": "~1.22.1" - } - }, - "@lwc/shared": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/shared/-/shared-2.31.0.tgz", - "integrity": "sha512-tf+/I5ErSrQAVPK8BZAfmOaX0Xp54MbrADCTqeGaKOM/CkVf5mECipZ4DaBIJaFw+YgSpEABeM1FuWAeodeoLg==", - "dev": true - }, - "@lwc/style-compiler": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/style-compiler/-/style-compiler-2.31.0.tgz", - "integrity": "sha512-MKsKhfmSU45Xxq5ImJTGCJdqIQi8jx5PuU/xmwZffqCjscQgG4gDXxG2YAh8fGMbZSyrIjN/WTQlr7OvUzZrBA==", - "dev": true, - "requires": { - "@lwc/shared": "2.31.0", - "postcss": "~8.4.18", - "postcss-selector-parser": "~6.0.9", - "postcss-value-parser": "~4.2.0", - "string.prototype.matchall": "^4.0.8" - } - }, - "@lwc/synthetic-shadow": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/synthetic-shadow/-/synthetic-shadow-2.31.0.tgz", - "integrity": "sha512-K9A8DcmSkZIF7l2sGs53h/oTl/Vdoa6XCYIudHwxVormxUhvHhd9TPbEyJBBKJ8augFZAoVs1q5yS4Nr+R9CBg==", - "dev": true - }, - "@lwc/template-compiler": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/template-compiler/-/template-compiler-2.31.0.tgz", - "integrity": "sha512-4RsASVNmOJ7cNEQOjxYaUWB3cFNAm0KtDWpD54XbhVZ7SBCUBKZ2BZvcRsP6mp7O4a8QOFQiCeCtoDAT/TQ4aA==", - "dev": true, - "requires": { - "@lwc/errors": "2.31.0", - "@lwc/shared": "2.31.0", - "acorn": "~8.8.1", - "astring": "~1.8.3", - "estree-walker": "~2.0.2", - "he": "~1.2.0", - "parse5": "~6.0.1" - } - }, - "@lwc/wire-service": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/@lwc/wire-service/-/wire-service-2.31.0.tgz", - "integrity": "sha512-go6mhdqLpsu/svRm7Oe+ewi1qvrOlaVjngVU6O2V/UXdKpw22csQEdRCs25jC/kCRNtYdARPLIHlItuK+qL0NQ==", - "dev": true - }, - "@mdn/browser-compat-data": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.2.1.tgz", - "integrity": "sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==", - "dev": true - }, - "@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" - } - }, - "@prettier/plugin-xml": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@prettier/plugin-xml/-/plugin-xml-2.2.0.tgz", - "integrity": "sha512-UWRmygBsyj4bVXvDiqSccwT1kmsorcwQwaIy30yVh8T+Gspx4OlC0shX1y+ZuwXZvgnafmpRYKks0bAu9urJew==", - "dev": true, - "requires": { - "@xml-tools/parser": "^1.0.11", - "prettier": ">=2.4.0" - } - }, - "@salesforce/eslint-config-lwc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@salesforce/eslint-config-lwc/-/eslint-config-lwc-3.3.3.tgz", - "integrity": "sha512-AZyBta7Y9N2IcJ4LbmIXSQzUoPoZ2cvoi75mqS+9QgUJfB7Il/vRj6NlflSOG14gkA4dmxoT7R6siGj2AYQ+PQ==", - "dev": true, - "requires": { - "@babel/core": "~7.18.5", - "@babel/eslint-parser": "~7.18.2", - "eslint-restricted-globals": "~0.2.0", - "semver": "^7.3.7" - }, - "dependencies": { - "@babel/core": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.13.tgz", - "integrity": "sha512-ZisbOvRRusFktksHSG6pjj1CSvkPkcZq/KHD45LAkVP/oiHJkNBZWfpvlLmX8OtHDG8IuzsFlVRWo08w7Qxn0A==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.13", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helpers": "^7.18.9", - "@babel/parser": "^7.18.13", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.18.13", - "@babel/types": "^7.18.13", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/eslint-parser": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.18.9.tgz", - "integrity": "sha512-KzSGpMBggz4fKbRbWLNyPVTuQr6cmCcBhOyXTw/fieOVaw5oYAwcAj4a7UKcDYCPxQq+CG1NCDZH9e2JTXquiQ==", - "dev": true, - "requires": { - "eslint-scope": "^5.1.1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@salesforce/eslint-plugin-aura": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@salesforce/eslint-plugin-aura/-/eslint-plugin-aura-2.1.0.tgz", - "integrity": "sha512-7HfwSBKTHQZQboLoEhkBY7bYR9wTaT+G5jHXGlq8y31hEnNhJXRZ+RERDEwDm1jYa2SV9lE8nMNr0/8EKIGjlQ==", - "dev": true, - "requires": { - "eslint-plugin-compat": "^4.0.2" - } - }, - "@salesforce/eslint-plugin-lightning": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@salesforce/eslint-plugin-lightning/-/eslint-plugin-lightning-1.0.0.tgz", - "integrity": "sha512-zk0PKXAcHKHepAG2EOSWlkOTxQM0Aw1CT6+MUxJcM42fCDwH/yPPpGkG3CWtRfmVViODGOwU9ywU2wlkAYcvUQ==", - "dev": true - }, - "@salesforce/sfdx-lwc-jest": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@salesforce/sfdx-lwc-jest/-/sfdx-lwc-jest-1.3.0.tgz", - "integrity": "sha512-DT6AjFLldoWqeI1MdcStVhLj3p+XndUrHdPVwUo+CdiBmnTqNSPBDY/snDZJwZZK61M88mKz2xDzNj7xug3i8g==", - "dev": true, - "requires": { - "@lwc/compiler": "2.31.0", - "@lwc/engine-dom": "2.31.0", - "@lwc/jest-preset": "11.5.4", - "@lwc/jest-resolver": "11.5.4", - "@lwc/jest-serializer": "11.5.4", - "@lwc/jest-transformer": "11.5.4", - "@lwc/module-resolver": "2.31.0", - "@lwc/synthetic-shadow": "2.31.0", - "@lwc/wire-service": "2.31.0", - "@salesforce/wire-service-jest-util": "4.0.1", - "chalk": "^4.1.2", - "fast-glob": "^3.2.12", - "jest": "27.4.7", - "yargs": "~17.6.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" - } - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.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 - }, - "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 - }, - "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 - }, - "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 - }, - "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" - } - }, - "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" - } - }, - "yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - } - } - }, - "@salesforce/wire-service-jest-util": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@salesforce/wire-service-jest-util/-/wire-service-jest-util-4.0.1.tgz", - "integrity": "sha512-6u3ZGXDCeRnKSX8WHRpVQAXmGiee6NkhmQb0gXmcPAm8zW/Q7o7lRJNvXKnxnXY7qyiKXVYDQAFKJjtGpaCfjw==", - "dev": true - }, - "@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true - }, - "@sinclair/typebox": { - "version": "0.25.24", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", - "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "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 - }, - "@types/babel__core": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", - "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - }, - "dependencies": { - "@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", - "dev": true - }, - "@babel/types": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", - "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@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.18.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", - "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "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/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "@types/node": { - "version": "18.15.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==", - "dev": true - }, - "@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", - "dev": true - }, - "@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", - "dev": true - }, - "@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/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "@typescript-eslint/scope-manager": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.43.0.tgz", - "integrity": "sha512-XNWnGaqAtTJsUiZaoiGIrdJYHsUOd3BZ3Qj5zKp9w6km6HsrjPk/TGZv0qMTWyWj0+1QOqpHQ2gZOLXaGA9Ekw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.43.0", - "@typescript-eslint/visitor-keys": "5.43.0" - } - }, - "@typescript-eslint/types": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.43.0.tgz", - "integrity": "sha512-jpsbcD0x6AUvV7tyOlyvon0aUsQpF8W+7TpJntfCUWU1qaIKu2K34pMwQKSzQH8ORgUrGYY6pVIh1Pi8TNeteg==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.43.0.tgz", - "integrity": "sha512-BZ1WVe+QQ+igWal2tDbNg1j2HWUkAa+CVqdU79L4HP9izQY6CNhXfkNwd1SS4+sSZAP/EthI1uiCSY/+H0pROg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.43.0", - "@typescript-eslint/visitor-keys": "5.43.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/utils": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.43.0.tgz", - "integrity": "sha512-8nVpA6yX0sCjf7v/NDfeaOlyaIIqL7OaIGOWSPFqUKK59Gnumd3Wa+2l8oAaYO2lk0sO+SbWFWRSvhu8gLGv4A==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.43.0", - "@typescript-eslint/types": "5.43.0", - "@typescript-eslint/typescript-estree": "5.43.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.43.0.tgz", - "integrity": "sha512-icl1jNH/d18OVHLfcwdL3bWUKsBeIiKYTGxMJCoGe7xFht+E4QgzOqoWYrU8XSLJWhVw8nTacbm03v23J/hFTg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.43.0", - "eslint-visitor-keys": "^3.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true - } - } - }, - "@xml-tools/parser": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@xml-tools/parser/-/parser-1.0.11.tgz", - "integrity": "sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA==", - "dev": true, - "requires": { - "chevrotain": "7.1.1" - } - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "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" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } - } - }, - "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 - }, - "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" - } - }, - "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-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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "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 - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "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 - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "ast-metadata-inferer": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.7.0.tgz", - "integrity": "sha512-OkMLzd8xelb3gmnp6ToFvvsHLtS6CbagTkFQvQ+ZYFe3/AIl9iKikNR9G7pY3GfOR/2Xc222hwBjzI7HLkE76Q==", - "dev": true, - "requires": { - "@mdn/browser-compat-data": "^3.3.14" - }, - "dependencies": { - "@mdn/browser-compat-data": { - "version": "3.3.14", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz", - "integrity": "sha512-n2RC9d6XatVbWFdHLimzzUJxJ1KY8LdjqrW6YvGPiRmsHkhOUx74/Ct10x5Yo7bC/Jvqx7cDEW8IMPv/+vwEzA==", - "dev": true - } - } - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true - }, - "astring": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.4.tgz", - "integrity": "sha512-97a+l2LBU3Op3bBQEff79i/E4jMD2ZLFD8rHx9B6mXyB2uQwhJQYfiDqUwtfjF4QA1F2qs//N6Cw8LetMbQjcw==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "dev": true, - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "dev": true, - "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "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" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "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-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "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-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": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", - "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "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": "29.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", - "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.5.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 - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "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.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "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-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 - }, - "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 - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001431", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", - "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==", - "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==", - "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 - }, - "chevrotain": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-7.1.1.tgz", - "integrity": "sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw==", - "dev": true, - "requires": { - "regexp-to-ast": "0.5.0" - } - }, - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "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-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 - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-truncate": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", - "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", - "dev": true, - "requires": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - } - }, - "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" - }, - "dependencies": { - "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 - }, - "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 - }, - "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" - } - } - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "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==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "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": "9.4.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", - "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "core-js": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", - "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==", - "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" - } - }, - "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 - }, - "cssfontparser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/cssfontparser/-/cssfontparser-1.2.1.tgz", - "integrity": "sha512-6tun4LoZnj7VN6YeegOVb67KBX/7JJsqvj+pv3ZA7F878/eN33AbGa5b/S/wXxS/tcp8nc40xRUrsPlxIyNUPg==", - "dev": true - }, - "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.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "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.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "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 - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "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" - } - }, - "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" - } - }, - "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 - } - } - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "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": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", - "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "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": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "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": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "8.27.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.27.0.tgz", - "integrity": "sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^1.3.3", - "@humanwhocodes/config-array": "^0.11.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "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.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.15.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "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.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.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" - } - }, - "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" - } - }, - "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.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "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.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.18.0.tgz", - "integrity": "sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==", - "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 - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "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-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - }, - "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" - } - } - } - }, - "eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "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" - } - } - } - }, - "eslint-plugin-compat": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.0.2.tgz", - "integrity": "sha512-xqvoO54CLTVaEYGMzhu35Wzwk/As7rCvz/2dqwnFiWi0OJccEtGIn+5qq3zqIu9nboXlpdBN579fZcItC73Ycg==", - "dev": true, - "requires": { - "@mdn/browser-compat-data": "^4.1.5", - "ast-metadata-inferer": "^0.7.0", - "browserslist": "^4.16.8", - "caniuse-lite": "^1.0.30001304", - "core-js": "^3.16.2", - "find-up": "^5.0.0", - "lodash.memoize": "4.1.2", - "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" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", - "dev": true, - "requires": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "eslint-plugin-jest": { - "version": "26.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.9.0.tgz", - "integrity": "sha512-TWJxWGp1J628gxh2KhaH1H1paEdgE2J61BBF1I59c6xWeL5+D1BzMxGDN/nXAfX+aSkR5u80K+XhskK6Gwq9ng==", - "dev": true, - "requires": { - "@typescript-eslint/utils": "^5.10.0" - } - }, - "eslint-restricted-globals": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.2.0.tgz", - "integrity": "sha512-kwYJALm5KS2QW3Mc1PgObO4V+pTR6RQtRT65L1GQILlEnAhabUQqGAX7/qUjoQR4KZJKehWpBtyDEiDecwmY9A==", - "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.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", - "dev": true, - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "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 - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "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 - }, - "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": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - } - }, - "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.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "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": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "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" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "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" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "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.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", - "dev": true - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "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 - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "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.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "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 - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "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" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "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" - } - }, - "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.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "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-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "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 - }, - "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-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "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" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "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" - } - }, - "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": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "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": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "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 - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "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-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "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-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, - "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-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "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-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-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "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-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "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.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "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" - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "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" - }, - "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 - }, - "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 - }, - "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 - }, - "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 - }, - "jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "dev": true, - "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - } - }, - "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" - } - }, - "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" - } - }, - "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 - } - } - }, - "jest-canvas-mock": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jest-canvas-mock/-/jest-canvas-mock-2.4.0.tgz", - "integrity": "sha512-mmMpZzpmLzn5vepIaHk5HoH3Ka4WykbSoLuG/EKoJd0x0ID/t+INo1l8ByfcUJuDM+RIsL4QDg/gDnBbrj2/IQ==", - "dev": true, - "requires": { - "cssfontparser": "^1.2.1", - "moo-color": "^1.0.2" - } - }, - "jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - } - }, - "jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "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 - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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 - } - } - }, - "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 - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "dev": true, - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "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 - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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 - } - } - }, - "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 - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.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 - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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 - } - } - }, - "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 - }, - "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": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "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 - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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 - } - } - }, - "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 - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - } - }, - "jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@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.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "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 - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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 - } - } - }, - "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 - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "dev": true, - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.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 - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - } - }, - "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 - } - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.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 - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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 - } - } - }, - "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 - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "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 - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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 - } - } - }, - "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 - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "dev": true - }, - "jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - } - }, - "jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "dev": true, - "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "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 - }, - "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "dev": true, - "requires": { - "detect-newline": "^3.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-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dev": true, - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dev": true, - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, - "jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "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.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "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 - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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 - } - } - }, - "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 - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "dev": true, - "requires": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "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 - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "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 - } - } - }, - "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 - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "dev": true, - "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "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.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "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" - } - } - } - }, - "joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", - "dev": true, - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "js-sdsl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", - "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "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" - } - }, - "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": { - "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" - } - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "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": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "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.5", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", - "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", - "dev": true - }, - "line-column": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/line-column/-/line-column-1.0.2.tgz", - "integrity": "sha512-Ktrjk5noGYlHsVnYWh62FLVs4hTb8A3e+vucNZMgPeAOITdshMSgv4cCZQeRDjm7+goqmo6+liZwTXo+U3sVww==", - "dev": true, - "requires": { - "isarray": "^1.0.0", - "isobject": "^2.0.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "lint-staged": { - "version": "12.5.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.5.0.tgz", - "integrity": "sha512-BKLUjWDsKquV/JuIcoQW4MSAI3ggwEImF1+sB4zaKvyVx1wBk3FsG7UK9bpnmBTN1pm7EH2BBcMwINJzCRv12g==", - "dev": true, - "requires": { - "cli-truncate": "^3.1.0", - "colorette": "^2.0.16", - "commander": "^9.3.0", - "debug": "^4.3.4", - "execa": "^5.1.1", - "lilconfig": "2.0.5", - "listr2": "^4.0.5", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-inspect": "^1.12.2", - "pidtree": "^0.5.0", - "string-argv": "^0.3.1", - "supports-color": "^9.2.2", - "yaml": "^1.10.2" - }, - "dependencies": { - "supports-color": { - "version": "9.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.3.tgz", - "integrity": "sha512-aszYUX/DVK/ed5rFLb/dDinVJrQjG/vmU433wtqVSD800rYsJNWxh2R3USV90aLSU+UsyQkbNeffVLzc6B6foA==", - "dev": true - } - } - }, - "listr2": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", - "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", - "dev": true, - "requires": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.5", - "through": "^2.3.8", - "wrap-ansi": "^7.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" - } - }, - "cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "requires": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.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 - }, - "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 - }, - "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 - }, - "slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.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" - } - } - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "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 - }, - "log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.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" - } - }, - "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 - }, - "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 - }, - "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 - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.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" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "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" - } - }, - "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 - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.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 - }, - "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "dev": true - }, - "moo-color": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/moo-color/-/moo-color-1.0.3.tgz", - "integrity": "sha512-i/+ZKXMDf6aqYtBhuOcej71YSlbjT3wCO/4H1j8rPvxDJEifdwgg5MaFyu6iYAT8GBZJg2z0dkgK4YMzvURALQ==", - "dev": true, - "requires": { - "color-name": "^1.1.4" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "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 - }, - "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" - } - }, - "nwsapi": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.3.tgz", - "integrity": "sha512-jscxIO4/VKScHlbmFBdV1Z6LXnLO+ZR4VMtypudUdfwtKxUN3TQcNFIHLwKtrUbDyHN4/GycY9+oRGZ2XMXYPw==", - "dev": true - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true - }, - "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.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "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" - } - }, - "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": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "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-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 - }, - "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" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "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": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "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-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 - }, - "pidtree": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.5.0.tgz", - "integrity": "sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==", - "dev": true - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "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" - }, - "dependencies": { - "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" - } - }, - "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" - } - }, - "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" - } - } - } - }, - "postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "dev": true, - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "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 - }, - "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true - }, - "prettier-plugin-apex": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/prettier-plugin-apex/-/prettier-plugin-apex-1.13.0.tgz", - "integrity": "sha512-QeGHrNOR6EXoH0Mto385FDrRC+XSCc/8zvtqNvhEaFovEMC7InDp2Mn5WxjJzQUdgtUYoXL+NYcSm3nxMqsymQ==", - "dev": true, - "requires": { - "axios": "^1.0.0", - "jest-docblock": "^29.0.0", - "wait-on": "^7.0.0", - "yargs": "^17.0.0" - } - }, - "pretty-format": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", - "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", - "dev": true, - "requires": { - "@jest/schemas": "^29.4.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "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 - } - } - }, - "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-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "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 - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "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 - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "regexp-to-ast": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", - "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.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.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "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" - } - }, - "rxjs": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", - "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "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" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "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 - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "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 - }, - "slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "requires": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "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 - }, - "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" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "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 - } - } - }, - "string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "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": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "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 - }, - "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" - } - } - } - }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "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 - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "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 - }, - "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 - }, - "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" - } - }, - "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" - }, - "dependencies": { - "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" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "throat": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "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": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "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" - } - }, - "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", - "dev": true, - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - } - }, - "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" - } - }, - "tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - } - } - }, - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", - "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 - }, - "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" - } - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "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" - } - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "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.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "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" - } - }, - "wait-on": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", - "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", - "dev": true, - "requires": { - "axios": "^1.6.1", - "joi": "^17.11.0", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "rxjs": "^7.8.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true - }, - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "requires": { - "tslib": "^2.1.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" - } - }, - "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 - }, - "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" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "word-wrap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", - "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", - "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 - }, - "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 - }, - "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 - }, - "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" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "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.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true - }, - "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": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "dependencies": { - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "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 - }, - "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 - }, - "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" - } - } - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/UploadAndAnnotateImages/package.json b/UploadAndAnnotateImages/package.json deleted file mode 100644 index c67deb0..0000000 --- a/UploadAndAnnotateImages/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "salesforce-app", - "private": true, - "version": "1.0.0", - "description": "Salesforce App", - "scripts": { - "lint": "eslint **/lwc/**", - "test": "npm run test:unit", - "test:unit": "sfdx-lwc-jest", - "test:unit:watch": "sfdx-lwc-jest --watch", - "test:unit:debug": "sfdx-lwc-jest --debug", - "test:unit:coverage": "sfdx-lwc-jest --coverage", - "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,json,md,page,trigger,xml,yaml,yml}\"", - "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,json,md,page,trigger,xml,yaml,yml}\"", - "postinstall": "cd ../ && husky install ./UploadAndAnnotateImages/.husky", - "precommit": "lint-staged", - "prepare": "cd ../ && husky install ./UploadAndAnnotateImages/.husky" - }, - "devDependencies": { - "@lwc/eslint-plugin-lwc": "^1.1.2", - "@prettier/plugin-xml": "^2.0.1", - "@salesforce/eslint-config-lwc": "^3.2.3", - "@salesforce/eslint-plugin-aura": "^2.0.0", - "@salesforce/eslint-plugin-lightning": "^1.0.0", - "@salesforce/sfdx-lwc-jest": "^1.3.0", - "eslint": "^8.11.0", - "eslint-plugin-import": "^2.25.4", - "eslint-plugin-jest": "^26.1.2", - "husky": "^7.0.4", - "jest-canvas-mock": "^2.4.0", - "lint-staged": "^12.3.7", - "prettier": "^2.6.0", - "prettier-plugin-apex": "^1.13.0" - }, - "lint-staged": { - "**/*.{cls,cmp,component,css,html,json,md,page,trigger,xml,yaml,yml}": [ - "prettier --write" - ], - "!(**/utilsImageCapture/cropper.esm.js)**/lwc/**": [ - "eslint" - ] - }, - "husky": { - "hooks": { - "pre-commit": "yarn lint-staged" - } - } -} diff --git a/UploadAndAnnotateImages/sfdx-project.json b/UploadAndAnnotateImages/sfdx-project.json deleted file mode 100644 index 102503c..0000000 --- a/UploadAndAnnotateImages/sfdx-project.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "packageDirectories": [ - { - "path": "force-app", - "default": true - } - ], - "name": "UploadAndAnnotateImages", - "namespace": "", - "sfdcLoginUrl": "https://login.salesforce.com", - "sourceApiVersion": "57.0" -} diff --git a/lerna.json b/lerna.json new file mode 100644 index 0000000..f6604bd --- /dev/null +++ b/lerna.json @@ -0,0 +1,4 @@ +{ + "$schema": "node_modules/lerna/schemas/lerna-schema.json", + "version": "0.0.0" +} diff --git a/package.json b/package.json index 4c8d7a8..2736b6e 100644 --- a/package.json +++ b/package.json @@ -9,22 +9,24 @@ }, "license": "CC0", "scripts": { - "format": "prettier --check '**/*.{js,ts,json}'", - "format:fix": "prettier --write '**/*.{js,ts,json}'", - "prepare": "husky install" + "lint": "lerna run lint", + "lint:fix": "lerna run lint:fix", + "test": "lerna run test", + "prettier": "lerna run prettier", + "prettier:verify": "lerna run prettier:verify", + "prepare": "husky install", + "precommit": "yarn lint && yarn prettier:verify && yarn test" }, "devDependencies": { - "husky": "^8.0.2", - "lint-staged": "^13.1.0", - "prettier": "^2.8.2" + "husky": "^8.0.3", + "lerna": "^8.0.0" }, "dependencies": {}, "engines": { - "node": ">=16.13.0" + "node": ">=18" }, - "husky": { - "hooks": { - "pre-commit": "yarn lint-staged" - } - } + "workspaces": [ + "projects/*", + "projects/LocalPreview/HelloWorld" + ] } diff --git a/DriverLicenseParser/.eslintignore b/projects/DriverLicenseParser/.eslintignore similarity index 100% rename from DriverLicenseParser/.eslintignore rename to projects/DriverLicenseParser/.eslintignore diff --git a/DriverLicenseParser/.forceignore b/projects/DriverLicenseParser/.forceignore similarity index 100% rename from DriverLicenseParser/.forceignore rename to projects/DriverLicenseParser/.forceignore diff --git a/DriverLicenseParser/.gitignore b/projects/DriverLicenseParser/.gitignore similarity index 100% rename from DriverLicenseParser/.gitignore rename to projects/DriverLicenseParser/.gitignore diff --git a/projects/DriverLicenseParser/.prettierignore b/projects/DriverLicenseParser/.prettierignore new file mode 100755 index 0000000..26253eb --- /dev/null +++ b/projects/DriverLicenseParser/.prettierignore @@ -0,0 +1,12 @@ +# List files or directories below to ignore them when running prettier +# More information: https://prettier.io/docs/en/ignore.html +# + +**/staticresources/** +.localdevserver +.sfdx +.vscode + +coverage/ + +**/*.js-meta.xml \ No newline at end of file diff --git a/projects/DriverLicenseParser/.prettierrc b/projects/DriverLicenseParser/.prettierrc new file mode 100755 index 0000000..03da7ba --- /dev/null +++ b/projects/DriverLicenseParser/.prettierrc @@ -0,0 +1,14 @@ +{ + "trailingComma": "none", + "plugins": ["@prettier/plugin-xml", "prettier-plugin-apex"], + "overrides": [ + { + "files": "**/lwc/**/*.html", + "options": { "parser": "lwc" } + }, + { + "files": "*.{cmp,page,component}", + "options": { "parser": "html" } + } + ] +} diff --git a/DriverLicenseParser/README.md b/projects/DriverLicenseParser/README.md similarity index 100% rename from DriverLicenseParser/README.md rename to projects/DriverLicenseParser/README.md diff --git a/DriverLicenseParser/config/project-scratch-def.json b/projects/DriverLicenseParser/config/project-scratch-def.json similarity index 100% rename from DriverLicenseParser/config/project-scratch-def.json rename to projects/DriverLicenseParser/config/project-scratch-def.json diff --git a/DriverLicenseParser/force-app/main/default/lwc/.eslintrc.json b/projects/DriverLicenseParser/force-app/main/default/lwc/.eslintrc.json similarity index 100% rename from DriverLicenseParser/force-app/main/default/lwc/.eslintrc.json rename to projects/DriverLicenseParser/force-app/main/default/lwc/.eslintrc.json diff --git a/DriverLicenseParser/force-app/main/default/lwc/aamvaParser/aamvaParser.js b/projects/DriverLicenseParser/force-app/main/default/lwc/aamvaParser/aamvaParser.js similarity index 100% rename from DriverLicenseParser/force-app/main/default/lwc/aamvaParser/aamvaParser.js rename to projects/DriverLicenseParser/force-app/main/default/lwc/aamvaParser/aamvaParser.js diff --git a/DriverLicenseParser/force-app/main/default/lwc/aamvaParser/aamvaParser.js-meta.xml b/projects/DriverLicenseParser/force-app/main/default/lwc/aamvaParser/aamvaParser.js-meta.xml similarity index 100% rename from DriverLicenseParser/force-app/main/default/lwc/aamvaParser/aamvaParser.js-meta.xml rename to projects/DriverLicenseParser/force-app/main/default/lwc/aamvaParser/aamvaParser.js-meta.xml diff --git a/DriverLicenseParser/force-app/main/default/lwc/parserDemo/parserDemo.html b/projects/DriverLicenseParser/force-app/main/default/lwc/parserDemo/parserDemo.html similarity index 100% rename from DriverLicenseParser/force-app/main/default/lwc/parserDemo/parserDemo.html rename to projects/DriverLicenseParser/force-app/main/default/lwc/parserDemo/parserDemo.html diff --git a/DriverLicenseParser/force-app/main/default/lwc/parserDemo/parserDemo.js b/projects/DriverLicenseParser/force-app/main/default/lwc/parserDemo/parserDemo.js similarity index 100% rename from DriverLicenseParser/force-app/main/default/lwc/parserDemo/parserDemo.js rename to projects/DriverLicenseParser/force-app/main/default/lwc/parserDemo/parserDemo.js diff --git a/DriverLicenseParser/force-app/main/default/lwc/parserDemo/parserDemo.js-meta.xml b/projects/DriverLicenseParser/force-app/main/default/lwc/parserDemo/parserDemo.js-meta.xml similarity index 100% rename from DriverLicenseParser/force-app/main/default/lwc/parserDemo/parserDemo.js-meta.xml rename to projects/DriverLicenseParser/force-app/main/default/lwc/parserDemo/parserDemo.js-meta.xml diff --git a/DriverLicenseParser/jest.config.js b/projects/DriverLicenseParser/jest.config.js similarity index 100% rename from DriverLicenseParser/jest.config.js rename to projects/DriverLicenseParser/jest.config.js diff --git a/projects/DriverLicenseParser/package.json b/projects/DriverLicenseParser/package.json new file mode 100644 index 0000000..e8846d2 --- /dev/null +++ b/projects/DriverLicenseParser/package.json @@ -0,0 +1,24 @@ +{ + "name": "driver-license-parser", + "private": true, + "version": "1.0.0", + "description": "Driver License Parser", + "scripts": { + "lint": "eslint **/lwc/**", + "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", + "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"" + }, + "devDependencies": { + "@lwc/eslint-plugin-lwc": "^1.7.0", + "@prettier/plugin-xml": "^3.2.2", + "@salesforce/eslint-config-lwc": "^3.5.2", + "@salesforce/eslint-plugin-aura": "^2.1.0", + "@salesforce/eslint-plugin-lightning": "^1.0.0", + "@salesforce/sfdx-lwc-jest": "^3.1.0", + "eslint": "^8.55.0", + "eslint-plugin-import": "^2.29.0", + "eslint-plugin-jest": "^27.6.0", + "prettier": "^3.1.1", + "prettier-plugin-apex": "^2.0.1" + } +} diff --git a/projects/DriverLicenseParser/sfdx-project.json b/projects/DriverLicenseParser/sfdx-project.json new file mode 100644 index 0000000..4f655f0 --- /dev/null +++ b/projects/DriverLicenseParser/sfdx-project.json @@ -0,0 +1,12 @@ +{ + "packageDirectories": [ + { + "path": "force-app", + "default": true + } + ], + "name": "DriverLicenseParser", + "namespace": "", + "sfdcLoginUrl": "https://login.salesforce.com", + "sourceApiVersion": "59.0" +} diff --git a/FindNearby/.eslintignore b/projects/FindNearby/.eslintignore similarity index 100% rename from FindNearby/.eslintignore rename to projects/FindNearby/.eslintignore diff --git a/FindNearby/.forceignore b/projects/FindNearby/.forceignore similarity index 100% rename from FindNearby/.forceignore rename to projects/FindNearby/.forceignore diff --git a/FindNearby/.gitignore b/projects/FindNearby/.gitignore similarity index 100% rename from FindNearby/.gitignore rename to projects/FindNearby/.gitignore diff --git a/projects/FindNearby/.prettierignore b/projects/FindNearby/.prettierignore new file mode 100755 index 0000000..26253eb --- /dev/null +++ b/projects/FindNearby/.prettierignore @@ -0,0 +1,12 @@ +# List files or directories below to ignore them when running prettier +# More information: https://prettier.io/docs/en/ignore.html +# + +**/staticresources/** +.localdevserver +.sfdx +.vscode + +coverage/ + +**/*.js-meta.xml \ No newline at end of file diff --git a/projects/FindNearby/.prettierrc b/projects/FindNearby/.prettierrc new file mode 100755 index 0000000..03da7ba --- /dev/null +++ b/projects/FindNearby/.prettierrc @@ -0,0 +1,14 @@ +{ + "trailingComma": "none", + "plugins": ["@prettier/plugin-xml", "prettier-plugin-apex"], + "overrides": [ + { + "files": "**/lwc/**/*.html", + "options": { "parser": "lwc" } + }, + { + "files": "*.{cmp,page,component}", + "options": { "parser": "html" } + } + ] +} diff --git a/projects/FindNearby/README.md b/projects/FindNearby/README.md new file mode 100644 index 0000000..fae0c06 --- /dev/null +++ b/projects/FindNearby/README.md @@ -0,0 +1,70 @@ +# Set Up the Find Nearby Lightning Web Component (LWC) + +Help your mobile workers figure out what records are close by. For example, mobile workers can search for service appointments to see where to go next. Or, they can search for a part they need to complete the task. + +**Note:** Find Nearby LWC is an open-source component and is not supported by Salesforce Support. + +## Before You Begin + +We recommend taking the [Quick Start: Lightning Web Components](https://trailhead.salesforce.com/content/learn/projects/quick-start-lightning-web-components) Trailhead to learn how to: + +- Set up your Salesforce DX environment +- Set up Visual Studio Code +- Make sure your org is updated to the Summer '23 version and higher +- Authorize your org + +## Set Up the LWC + +1. Get the source code: + 1. From [LWC-Mobile-Samples](https://github.com/forcedotcom/LWC-Mobile-Samples), click **Code**. + 2. Clone the code or download the zip file. +2. Configure the LWC: + + 1. Open the FindNearby folder in Visual Studio Code. + 2. Under `force-app/main/default/lwc/mobileMapLayersMain`, open the `config.js` file. + 3. Review the predefined code blocks in the mapObjects array. Each code block represents an object that can be displayed on the map. The map shows one type of object at a time, and you can switch between types. By default, the object type you see when you launch the LWC is the first code block of the mapObjects array. According to the default configuration of the LWC, the displayed object is Service Appointment. + + `value`—The object’s name. + + `latField`—The object’s field that contains the latitude value. + `longField`—The object’s field that contains the longitude value. + `titleField`—The value of the entered field is displayed as the title of the marker’s card and list entry. + `detailField`—The value of the entered field is displayed as the detail of the marker’s card and list entry. + + Example: + ``` + { + value: 'ServiceAppointment', + latField: 'Latitude', + longField: 'Longitude', + titleField: 'AppointmentNumber', + detailField: 'Subject' + } + ``` + According to this code block: the map shows markers for service appointments; the service appointments are located on the map according to their latitude and longitude; the appointment number is the title of the card and the list entry; and the subject is the detail shown in the card and the list entry. + + + 4. Add a code block for every object type you want to see on the map. + * Within a code block, use different fields for `latField`, `longField`, `titleField`, and `detailField`. For example, you can't use the Name field for both `titleField` and `detailField`. + * Separate the code blocks using a comma. + + 5. The distance unit is predefined as kilometers. To change the distance unit to miles, replace km with mi: + + `distanceUnit: 'mi'` + +3. Authorize your org and deploy the code to your org. See [Quick Start: Lightning Web Components](https://trailhead.salesforce.com/content/learn/projects/quick-start-lightning-web-components). +4. Grant access to the LWC’s users. + 1. From Setup, in the Quick Find box, enter `Users`, and then select **Profiles**. + 2. Open the required profile. + 3. Under Enabled Apex Class Access, click **Edit** and add MobileMapLayersService. + 4. Give the users access to the records you want them to see. +5. Connect the LWC to a global action. See Add Global Actions to the Field Service Mobile App. + 1. For Action Type, select **Lightning Web Components**. + 2. For Lightning Web Component, select **c:mobileMapLayersMain**. +6. To see the map on a mobile device, add the map URL to the org’s trusted URLs. For more information, see [lightning-map](https://developer.salesforce.com/docs/component-library/bundle/lightning-map/documentation). + 1. From Setup, in the Quick Find box, enter `Security` and select **Trusted URLs**. + 2. Click **New Trusted URL**. + 3. Enter an API Name. + 4. For URL, enter `maps.a.forceusercontent.com`. + 5. Select **frame-src (iframe content)**. + 6. Save your changes. diff --git a/projects/FindNearby/force-app/main/default/classes/MobileMapLayersService.cls b/projects/FindNearby/force-app/main/default/classes/MobileMapLayersService.cls new file mode 100644 index 0000000..c3738b3 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/classes/MobileMapLayersService.cls @@ -0,0 +1,172 @@ +public with sharing class MobileMapLayersService { + @AuraEnabled(cacheable=false) + public static List> getAllPicklistOptions( + String obj, + String field + ) { + try { + SObjectType objType = Schema.getGlobalDescribe().get(obj); + Map fields = objType.getDescribe() + .fields.getMap(); + Schema.DescribeFieldResult dfr = fields.get(field).getDescribe(); + + List> picklistOptions = new List>(); + Map temp = new Map(); + + List picklistVals = dfr.getPicklistValues(); + for (Schema.PicklistEntry picklistVal : picklistVals) { + temp = new Map(); + temp.put('value', picklistVal.getValue()); + temp.put('label', picklistVal.getLabel()); + picklistOptions.add(temp); + } + + return picklistOptions; + } catch (Exception e) { + throw new HandledException(e.getMessage()); + } + } + + @AuraEnabled(cacheable=false) + public static List executeFilterQuery( + String currentObjectFilter, + Map currentFieldFilter + ) { + try { + List results = new List(); + + String fieldType = currentFieldFilter.get('type'); + String fieldName = currentFieldFilter.get('value'); + String input = currentFieldFilter.get('input'); + + // verify object and fields are valid and accessible + if ( + !isSafeObject(currentObjectFilter) || + !isSafeField(currentObjectFilter, fieldName.toLowerCase()) + ) + return results; + + // sanitize input: cast and escape quotes + input = castToType(input, fieldType); + + if (isLikeNeeded(fieldType)) + input = '%' + input + '%'; + if (isQuotesNeeded(fieldType)) + input = '\'' + input + '\''; + if (fieldType == 'TIME') + input += 'Z'; + String operator = isLikeNeeded(fieldType) ? 'LIKE' : '='; + + String whereClause = buildWhereClause( + fieldType, + fieldName, + operator, + input + ); + List params = new List{ + currentObjectFilter, + whereClause + }; + String filterQuery = String.format( + 'SELECT Id FROM {0} WHERE {1}', + params + ); + + results = Database.Query(filterQuery); + return results; + } catch (Exception e) { + throw new HandledException(e.getMessage()); + } + } + + private static boolean isQuotesNeeded(String type) { + List types = new List{ + 'DATE', + 'TIME', + 'DATETIME', + 'BOOLEAN', + 'DOUBLE', + 'INTEGER', + 'CURRENCY', + 'PERCENT' + }; + return !types.contains(type); + } + + private static boolean isLikeNeeded(String type) { + List types = new List{ + 'DATE', + 'TIME', + 'DATETIME', + 'BOOLEAN', + 'DOUBLE', + 'INTEGER', + 'CURRENCY', + 'PERCENT', + 'REFERENCE' + }; + return !types.contains(type); + } + + private static String buildWhereClause( + String fieldType, + String field, + String operator, + String input + ) { + if (fieldType != 'DATETIME') + return field + ' ' + operator + ' ' + input; + + // for dateTime fields - search whole day, user don't need to put in the exact time + String startDate = input + 'T00:00:00.000Z'; + String endDate = input + 'T23:59:59.999Z'; + List params = new List{ field, startDate, endDate }; + return String.format('{0} > {1} and {0} < {2}', params); + } + + private static boolean isSafeObject(String objName) { + SObjectType myObj = Schema.getGlobalDescribe().get(objName); + return myObj.getDescribe().isAccessible(); + } + + private static boolean isSafeField(String objName, String fieldName) { + if (isSafeObject(objName)) { + SObjectType myObj = Schema.getGlobalDescribe().get(objName); + SObjectField myField = myObj.getDescribe().fields.getMap().get(fieldName); + return myField.getDescribe().isAccessible(); + } + return false; + } + + private static String castToType(String input, String fieldType) { + try { + switch on fieldType { + when 'TIME' { + Pattern MyPattern = Pattern.compile('\\d\\d:\\d\\d:\\d\\d.\\d\\d\\d'); + Matcher MyMatcher = MyPattern.matcher(input); + if (MyMatcher.matches()) + return input; + else + return ''; + } + when 'DATE', 'DATETIME' { + return String.valueOf(Date.valueOf(input)); + } + when 'BOOLEAN' { + return String.valueOf(Boolean.valueOf(input)); + } + when 'INTEGER' { + return String.valueOf(Integer.valueOf(input)); + } + when 'DOUBLE', 'CURRENCY', 'PERCENT' { + return String.valueOf(Double.valueOf(input)); + } + when else { + return String.escapeSingleQuotes(input); + } + } + } catch (Exception e) { + throw new HandledException(e.getMessage()); + } + } +} diff --git a/FindNearby/force-app/main/default/classes/MobileMapLayersService.cls-meta.xml b/projects/FindNearby/force-app/main/default/classes/MobileMapLayersService.cls-meta.xml similarity index 77% rename from FindNearby/force-app/main/default/classes/MobileMapLayersService.cls-meta.xml rename to projects/FindNearby/force-app/main/default/classes/MobileMapLayersService.cls-meta.xml index 40d6793..891916b 100644 --- a/FindNearby/force-app/main/default/classes/MobileMapLayersService.cls-meta.xml +++ b/projects/FindNearby/force-app/main/default/classes/MobileMapLayersService.cls-meta.xml @@ -1,4 +1,4 @@ - + 54.0 Active diff --git a/projects/FindNearby/force-app/main/default/classes/MobileMapLayersServiceTest.cls b/projects/FindNearby/force-app/main/default/classes/MobileMapLayersServiceTest.cls new file mode 100644 index 0000000..0229a7c --- /dev/null +++ b/projects/FindNearby/force-app/main/default/classes/MobileMapLayersServiceTest.cls @@ -0,0 +1,52 @@ +@isTest +public with sharing class MobileMapLayersServiceTest { + public static ServiceResource sr; + + static { + sr = new ServiceResource( + RelatedRecordId = System.UserInfo.getUserId(), + Name = 'Resource Name', + LastKnownLatitude = 10.000000000000000, + LastKnownLongitude = 10.000000000000000, + ResourceType = 'T', + IsActive = true + ); + insert sr; + } + + @isTest + static void executeFilterQueryTest() { + try { + Map currentFieldFilter = new Map(); + currentFieldFilter.put('type', 'STRING'); + currentFieldFilter.put('value', 'name'); + currentFieldFilter.put('input', 'Resource Name'); + List result = MobileMapLayersService.executeFilterQuery( + 'ServiceResource', + currentFieldFilter + ); + + Assert.areEqual(result[0].id, sr.Id); + } catch (Exception e) { + Assert.fail('An exception was thrown: ' + e.getMessage()); + } + } + + @isTest + static void executeFilterQueryInvalidInputTest() { + try { + Map currentFieldFilter = new Map(); + currentFieldFilter.put('type', 'DOUBLE'); + currentFieldFilter.put('value', 'lastknownlatitude'); + currentFieldFilter.put('input', 'text'); + MobileMapLayersService.executeFilterQuery( + 'ServiceResource', + currentFieldFilter + ); + + Assert.fail('Invalid value, should throw an error'); + } catch (Exception e) { + Assert.isTrue(true); + } + } +} diff --git a/FindNearby/force-app/main/default/classes/MobileMapLayersServiceTest.cls-meta.xml b/projects/FindNearby/force-app/main/default/classes/MobileMapLayersServiceTest.cls-meta.xml similarity index 77% rename from FindNearby/force-app/main/default/classes/MobileMapLayersServiceTest.cls-meta.xml rename to projects/FindNearby/force-app/main/default/classes/MobileMapLayersServiceTest.cls-meta.xml index 4b0bc9f..c47403d 100644 --- a/FindNearby/force-app/main/default/classes/MobileMapLayersServiceTest.cls-meta.xml +++ b/projects/FindNearby/force-app/main/default/classes/MobileMapLayersServiceTest.cls-meta.xml @@ -1,4 +1,4 @@ - + 55.0 Active diff --git a/HelloWorld/force-app/main/default/lwc/.eslintrc.json b/projects/FindNearby/force-app/main/default/lwc/.eslintrc.json similarity index 100% rename from HelloWorld/force-app/main/default/lwc/.eslintrc.json rename to projects/FindNearby/force-app/main/default/lwc/.eslintrc.json diff --git a/projects/FindNearby/force-app/main/default/lwc/confirmModal/__tests__/confirmModal.test.js b/projects/FindNearby/force-app/main/default/lwc/confirmModal/__tests__/confirmModal.test.js new file mode 100644 index 0000000..0b573aa --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/confirmModal/__tests__/confirmModal.test.js @@ -0,0 +1,36 @@ +import { createElement } from "lwc"; +import ConfirmModal from "c/confirmModal"; + +let element; +describe("c-confirm-modal", () => { + beforeEach(() => { + element = createElement("c-confirm-modal", { + is: ConfirmModal + }); + + element.close = jest.fn(); + document.body.appendChild(element); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("calls close with false on cancel", async () => { + const cancelButton = element.shadowRoot.querySelector(".cancel-button"); + cancelButton.click(); + return Promise.resolve().then(() => { + expect(element.close).toHaveBeenCalledWith(false); + }); + }); + + it("calls close with true on ok", async () => { + const okButton = element.shadowRoot.querySelector(".ok-button"); + okButton.click(); + return Promise.resolve().then(() => { + expect(element.close).toHaveBeenCalledWith(true); + }); + }); +}); diff --git a/projects/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.css b/projects/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.css new file mode 100644 index 0000000..781e443 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.css @@ -0,0 +1,25 @@ +.confirm-modal-container { + background: white; + border-radius: 12px; +} + +button { + height: 48px; + width: 140px; + border-radius: 12px; + font-size: 16px; + font-weight: 600; + line-height: 22px; +} + +.ok-button { + border: none; + color: white; + background-color: #0d7fa8; +} + +.cancel-button { + border: 2px solid #0d7fa8; + color: #0d7fa8; + background-color: white; +} diff --git a/projects/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.html b/projects/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.html new file mode 100644 index 0000000..e1183a7 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.html @@ -0,0 +1,19 @@ + diff --git a/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.js b/projects/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.js similarity index 75% rename from FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.js rename to projects/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.js index 4de1471..df895bf 100644 --- a/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.js +++ b/projects/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.js @@ -1,5 +1,5 @@ -import { api } from 'lwc'; -import LightningModal from 'lightning/modal'; +import { api } from "lwc"; +import LightningModal from "lightning/modal"; export default class ConfirmModal extends LightningModal { @api content; diff --git a/projects/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.js-meta.xml b/projects/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/confirmModal/confirmModal.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/FindNearby/force-app/main/default/lwc/locationsList/__tests__/data/oneLocation.json b/projects/FindNearby/force-app/main/default/lwc/locationsList/__tests__/data/oneLocation.json new file mode 100644 index 0000000..a620a89 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/locationsList/__tests__/data/oneLocation.json @@ -0,0 +1,13 @@ +[ + { + "location": { "Latitude": 10, "Longitude": 10 }, + "value": { + "id": "1234", + "title": "marker1", + "firstDetailFieldValue": "field2-1", + "secondDetailFieldValue": "field3-1", + "thirdDetailFieldValue": "field4-1", + "distance": "15 km" + } + } +] diff --git a/projects/FindNearby/force-app/main/default/lwc/locationsList/__tests__/data/threeLocations.json b/projects/FindNearby/force-app/main/default/lwc/locationsList/__tests__/data/threeLocations.json new file mode 100644 index 0000000..7d61f89 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/locationsList/__tests__/data/threeLocations.json @@ -0,0 +1,35 @@ +[ + { + "location": { "Latitude": 10, "Longitude": 10 }, + "value": { + "id": "1234", + "title": "marker1", + "firstDetailFieldValue": "field2-1", + "secondDetailFieldValue": "field3-1", + "thirdDetailFieldValue": "field4-1", + "distance": "15 km" + } + }, + { + "location": { "Latitude": 20, "Longitude": 20 }, + "value": { + "id": "5678", + "title": "marker2", + "firstDetailFieldValue": "field2-2", + "secondDetailFieldValue": "field3-2", + "thirdDetailFieldValue": "field4-2", + "distance": "25 km" + } + }, + { + "location": { "Latitude": 10, "Longitude": 10 }, + "value": { + "id": "9123", + "title": "marker3", + "firstDetailFieldValue": "field2-3", + "secondDetailFieldValue": "field3-3", + "thirdDetailFieldValue": "field4-3", + "distance": "35 km" + } + } +] diff --git a/projects/FindNearby/force-app/main/default/lwc/locationsList/__tests__/locationsList.test.js b/projects/FindNearby/force-app/main/default/lwc/locationsList/__tests__/locationsList.test.js new file mode 100644 index 0000000..2ec7524 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/locationsList/__tests__/locationsList.test.js @@ -0,0 +1,230 @@ +/* eslint-disable @lwc/lwc/prefer-custom-event */ +import { createElement } from "lwc"; +import LocationsList from "c/locationsList"; + +let element; +const oneLocation = require("./data/oneLocation.json"); +const threeLocations = require("./data/threeLocations.json"); + +describe("c-locations-list", () => { + beforeEach(() => { + element = createElement("c-locations-list", { + is: LocationsList + }); + + element.currentObject = { + value: "WorkOrder", + label: "Work Order", + plural: "Work Orders", + iconUrl: "", + color: "" + }; + element.isIos = () => true; + element.setCurrentMarker = jest.fn(); + element.redirectToMarkerDetails = jest.fn(); + element.routeToMarkerLocation = jest.fn(); + element.handleError = jest.fn(console.log); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + element = null; + }); + + it("has correct plural title", async () => { + element.filteredMarkers = threeLocations; + document.body.appendChild(element); + + return Promise.resolve().then(() => { + const title = element.shadowRoot.querySelector(".title-tile"); + expect(title.textContent).toBe("3 Work Orders"); + }); + }); + + it("has correct singular title", async () => { + element.filteredMarkers = oneLocation; + document.body.appendChild(element); + + return Promise.resolve().then(() => { + const title = element.shadowRoot.querySelector(".title-tile"); + expect(title.textContent).toBe("1 Work Order"); + }); + }); + + it("has correct subtitle", async () => { + element.filteredMarkers = oneLocation; + document.body.appendChild(element); + + return Promise.resolve().then(() => { + const tileSub = element.shadowRoot.querySelector( + 'li[data-index="0"] .tile-subtitle' + ); + expect(tileSub.textContent).toBe("15 km • field2-1"); + }); + }); + + it("has correct number of records", async () => { + element.filteredMarkers = threeLocations; + document.body.appendChild(element); + + return Promise.resolve().then(() => { + const tiles = element.shadowRoot.querySelectorAll("li"); + expect(tiles).toHaveLength(4); + }); + }); + + it("sets current marker when clicked", async () => { + element.filteredMarkers = oneLocation; + document.body.appendChild(element); + + const tile = element.shadowRoot.querySelector('li[data-index="0"]'); + tile.click(); + + return Promise.resolve().then(() => { + expect(element.setCurrentMarker).toHaveBeenCalledWith(0); + }); + }); + + it("shows popover when actions button clicked", async () => { + element.filteredMarkers = oneLocation; + document.body.appendChild(element); + + const popover = element.shadowRoot.querySelector(".popover-container div"); + expect(popover.classList).toContain("popover-hidden"); + const actionsButton = element.shadowRoot.querySelector( + ".actions-button button" + ); + actionsButton.click(); + return Promise.resolve().then(() => { + expect(popover.classList).toContain("popover-shown"); + }); + }); + + it("triggers redirectToMarkerDetails when view clicked", async () => { + element.filteredMarkers = oneLocation; + document.body.appendChild(element); + + const action = element.shadowRoot.querySelectorAll(".action-item")[0]; + action.click(); + return Promise.resolve().then(() => { + expect(element.redirectToMarkerDetails).toHaveBeenCalled(); + }); + }); + + it("triggers routeToMarkerLocation when route clicked", async () => { + element.filteredMarkers = threeLocations; + document.body.appendChild(element); + + const action = element.shadowRoot.querySelectorAll(".action-item")[1]; + action.click(); + return Promise.resolve().then(() => { + expect(element.routeToMarkerLocation).toHaveBeenCalled(); + }); + }); + + it("opens list on drag up", async () => { + element.filteredMarkers = threeLocations; + document.body.appendChild(element); + + const mainTemplate = element.shadowRoot.querySelector(".main-container"); + const header = element.shadowRoot.querySelector(".header"); + + const eStart = new Event("touchstart"); + const eMove = new Event("touchmove"); + const eEnd = new Event("touchend"); + const point1 = { x: 0, y: 0 }; + const point2 = { x: 0, y: 10 }; + eStart.touches = [{ target: header, clientX: point1.x, clientY: point1.y }]; + eMove.touches = [{ target: header, clientX: point2.x, clientY: point2.y }]; + header.dispatchEvent(eStart); + header.dispatchEvent(eMove); + header.dispatchEvent(eEnd); + + return Promise.resolve().then(() => { + expect(mainTemplate.style.transform).toBe("translateY(calc(85% - 10px)"); + }); + }); + + it("closes list on drag down", async () => { + element.filteredMarkers = threeLocations; + document.body.appendChild(element); + + const mainTemplate = element.shadowRoot.querySelector(".main-container"); + const header = element.shadowRoot.querySelector(".header"); + + const eStart = new Event("touchstart"); + const eMove = new Event("touchmove"); + const eEnd = new Event("touchend"); + const point1 = { x: 0, y: 10 }; + const point2 = { x: 0, y: 0 }; + eStart.touches = [{ target: header, clientX: point1.x, clientY: point1.y }]; + eMove.touches = [{ target: header, clientX: point2.x, clientY: point2.y }]; + header.dispatchEvent(eStart); + header.dispatchEvent(eMove); + header.dispatchEvent(eEnd); + + return Promise.resolve().then(() => { + expect(mainTemplate.style.transform).toBe( + "translateY(calc((90% - 0px) - -10px))" + ); + }); + }); + + it("hides popover on mask clicked", async () => { + element.filteredMarkers = oneLocation; + document.body.appendChild(element); + + const actionsButton = element.shadowRoot.querySelector( + ".actions-button button" + ); + actionsButton.click(); + return Promise.resolve().then(async () => { + const popover = element.shadowRoot.querySelector( + ".popover-container div" + ); + expect(popover.classList).toContain("popover-shown"); + const mask = element.shadowRoot.querySelector(".popover-mask"); + mask.click(); + return Promise.resolve().then(() => { + expect(popover.classList).toContain("popover-hidden"); + }); + }); + }); + + it("hides popover after second click on same button", async () => { + element.filteredMarkers = oneLocation; + document.body.appendChild(element); + + const actionsButton = element.shadowRoot.querySelector( + ".actions-button button" + ); + actionsButton.click(); + return Promise.resolve().then(async () => { + const popover = element.shadowRoot.querySelector( + ".popover-container div" + ); + expect(popover.classList).toContain("popover-shown"); + actionsButton.click(); + return Promise.resolve().then(() => { + expect(popover.classList).toContain("popover-hidden"); + }); + }); + }); + + it("sets paddingBottom correctly when using iOS devices", async () => { + element.filteredMarkers = oneLocation; + + const navigatorGetter = jest.spyOn(window, "navigator", "get"); + navigatorGetter.mockReturnValue({ + userAgent: "Macintosh", + maxTouchPoints: 2, + platform: "" + }); + document.body.appendChild(element); + + const list = element.shadowRoot.querySelector(".list"); + expect(list.style.paddingBottom).toBe("34px"); + }); +}); diff --git a/projects/FindNearby/force-app/main/default/lwc/locationsList/locationsList.css b/projects/FindNearby/force-app/main/default/lwc/locationsList/locationsList.css new file mode 100644 index 0000000..9f38d17 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/locationsList/locationsList.css @@ -0,0 +1,176 @@ +.main-container { + position: relative; + background-color: white; + float: left; + height: 100%; + width: 100%; + border-top-left-radius: 8px; + border-top-right-radius: 8px; + transition: transform 0.6s; + transform: translateY(85%); + pointer-events: all; + box-shadow: 0px -1px 4px rgb(0 0 0 / 35%); +} + +.grabber { + display: flex; + justify-content: center; + height: 8px; +} + +.header .tile-container { + height: 48px; +} + +.title-tile { + height: 35px; + display: flex; + align-items: center; + justify-content: center; + width: 100%; +} + +.title-tile p { + color: black !important; +} + +.empty-state { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + margin-top: 40px; + padding-bottom: 20px; +} + +.empty-state-text { + padding: 20px 0; + color: #444444; + font-size: 16px; + text-align: center; +} + +.list { + overflow-y: scroll; + background-color: white; +} + +.tile-container { + display: flex; + align-items: center; + justify-content: space-between; + overflow: hidden; + text-overflow: ellipsis; +} + +.slds-item { + padding: 12px 16px; +} + +.icon-and-text { + display: flex; + flex: 1 auto; + width: calc(100% - 44px); +} + +.actions-button { + display: flex; + justify-content: right; + width: 44px; +} + +button { + background: white; + color: #0d7fa8; + border: none; + border-radius: 10px; + height: 44px; + width: 44px; + line-height: 0px; + padding: 0; + margin: 0; +} + +.popover-container { + z-index: 1; + position: absolute; + background-color: white; + color: #0d7fa8; + right: 55px; + pointer-events: all; +} + +.popover-shown { + display: flex; + flex-direction: column; + justify-content: space-between; + overflow: hidden; + box-shadow: 0px 2px rgba(0, 0, 0, 0.16); + border: 1px #c9c9c9 solid; + border-radius: 12px; + + width: 200px; + height: 100px; + transition: all linear 180ms; +} + +.popover-hidden { + display: flex; + flex-direction: column; + justify-content: space-between; + overflow: hidden; + + height: 0; + width: 0; + padding: 0; + transition: all linear 180ms; +} + +.action-item { + display: flex; + flex-direction: row; + align-items: center; + cursor: pointer; + font-size: 16px; + line-height: 22px; + padding: 13px; +} + +.action-icon { + --sds-c-icon-color-foreground-default: #0d7fa8; + margin-right: 8px; +} + +.popover-mask { + height: 100vh; + width: 100vw; + background-color: transparent; + pointer-events: all; + position: absolute; +} + +.list-spinner { + margin-top: 24px; + left: calc(50% - 24px); + position: absolute; + animation: spin 2s linear infinite; + -webkit-animation: spin 2s linear infinite; +} + +@keyframes spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@-webkit-keyframes spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/projects/FindNearby/force-app/main/default/lwc/locationsList/locationsList.html b/projects/FindNearby/force-app/main/default/lwc/locationsList/locationsList.html new file mode 100644 index 0000000..f4b2619 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/locationsList/locationsList.html @@ -0,0 +1,173 @@ + diff --git a/projects/FindNearby/force-app/main/default/lwc/locationsList/locationsList.js b/projects/FindNearby/force-app/main/default/lwc/locationsList/locationsList.js new file mode 100644 index 0000000..059005e --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/locationsList/locationsList.js @@ -0,0 +1,179 @@ +import { LightningElement, api } from "lwc"; + +export default class LocationsList extends LightningElement { + @api filteredMarkers; + @api currentObject; + @api setCurrentMarker; + @api redirectToMarkerDetails; + @api routeToMarkerLocation; + @api isIos; + @api handleError; + + mainTemplate; + headerElement; + listElement; + + showPopover = false; + actionButtonIndexClicked; + IOS_MARGIN = "34px"; + + init = false; + renderedCallback() { + this.setSpinner(); + this.mainTemplate = this.template.querySelector(".main-container"); + this.headerElement = this.template.querySelector(".header"); + this.listElement = this.template.querySelector(".list"); + if (this.listElement) + this.listElement.style.paddingBottom = this.isIos() + ? this.IOS_MARGIN + : "0"; + if (!this.init && this.headerElement) { + this.detectDrag(); + this.init = true; + } + } + + @api currentMarkerSet() { + this.closeLocationsList(); + } + + // Handlers + + handleItemClick = (e) => { + try { + e.preventDefault(); + e.stopPropagation(); + const index = e?.currentTarget?.dataset?.index; + if (index) this.setCurrentMarker(parseInt(index, 10)); + } catch (error) { + this.handleError(error); + } + }; + + handleActionsButtonClick = (e) => { + try { + e.stopPropagation(); + const el = e.currentTarget; + const markerInd = parseInt(el.closest("li")?.dataset?.index, 10); + this.template.querySelector(".popover-container").style.bottom = `${ + el.offsetParent?.offsetHeight - + el.offsetTop - + el.offsetHeight + + this.listElement.scrollTop + }px`; + if (!this.showPopover || markerInd === this.actionButtonIndexClicked) + this.showPopover = !this.showPopover; + this.actionButtonIndexClicked = markerInd; + } catch (error) { + this.handleError(error); + } + }; + + handlePopoverMaskClick = () => { + this.showPopover = false; + }; + + handleViewClick = () => { + this.redirectToMarkerDetails(this.actionButtonIndexClicked); + this.showPopover = false; + }; + + handleDirectionsClick = () => { + this.routeToMarkerLocation(this.actionButtonIndexClicked); + this.showPopover = false; + }; + + // Getters + + get loaded() { + return !!this.currentObject?.label; + } + + get popoverClass() { + return this.showPopover ? "popover-shown" : "popover-hidden"; + } + + get titleObjectText() { + if (!this.currentObject.label) return "Locations"; + return this.filteredMarkers.length === 1 + ? this.currentObject.label + : this.currentObject.plural; + } + + // List Opening & Closing + + openLocationsList() { + const top = this.mainTemplate.style.top; + if (this.listElement.clientHeight > (window.innerHeight * 85) / 100) { + this.mainTemplate.style.transform = `translateY(calc(20% - ${top}))`; + // eslint-disable-next-line @lwc/lwc/no-async-operation + setTimeout(() => { + this.setListHeight(); + }, 800); + } else { + this.mainTemplate.style.transform = `translateY(calc((90% - ${this.listElement.clientHeight}px) - ${top}))`; + } + } + + closeLocationsList() { + const top = this.mainTemplate.style.top; + this.mainTemplate.style.transform = `translateY(calc(85% - ${top})`; + this.showPopover = false; + } + + setListHeight() { + const containerH = window.innerHeight; + const listBounds = this.listElement.getBoundingClientRect(); + const newHeight = containerH - listBounds.top; + this.listElement.style.height = `${newHeight}px`; + } + + detectDrag = () => { + // eslint-disable-next-line no-unused-vars + let pos1 = 0, + pos2 = 0, + pos3 = 0, + pos4 = 0; + + const dragMove = (e) => { + e = e || window.event; + e.preventDefault(); + pos1 = pos3 - e.touches[0].clientX; + pos2 = pos4 - e.touches[0].clientY; + pos3 = e.touches[0].clientX; + pos4 = e.touches[0].clientY; + this.mainTemplate.style.top = `${this.mainTemplate.offsetTop - pos2}px`; + }; + + const dragEnd = () => { + if (pos2 > 0) this.openLocationsList(); + else this.closeLocationsList(); + this.headerElement.removeEventListener("touchend", dragEnd); + this.headerElement.removeEventListener("touchmove", dragMove); + }; + + const dragTouchStart = (e) => { + this.listElement.style.height = "fit-content"; + this.showPopover = false; + e = e || window.event; + e.preventDefault(); + pos3 = e.touches[0].clientX; + pos4 = e.touches[0].clientY; + this.headerElement.addEventListener("touchend", dragEnd); + this.headerElement.addEventListener("touchmove", dragMove); + }; + + this.headerElement.addEventListener("touchstart", dragTouchStart); + }; + + // Helpers + + setSpinner() { + // set same id (if set in html, it changes dynamically) + const g = this.template.querySelector(".spinner-g"); + const mask = this.template.querySelector(".spinner-mask"); + const id = "spinner-mask-id"; + mask?.setAttribute("id", id); + g?.setAttribute("mask", `url(#${id})`); + } +} diff --git a/projects/FindNearby/force-app/main/default/lwc/locationsList/locationsList.js-meta.xml b/projects/FindNearby/force-app/main/default/lwc/locationsList/locationsList.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/locationsList/locationsList.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/FindNearby/force-app/main/default/lwc/mapFilters/__tests__/mapFilters.test.js b/projects/FindNearby/force-app/main/default/lwc/mapFilters/__tests__/mapFilters.test.js new file mode 100644 index 0000000..1f66988 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mapFilters/__tests__/mapFilters.test.js @@ -0,0 +1,312 @@ +/* eslint-disable @lwc/lwc/prefer-custom-event */ +import { createElement } from "lwc"; +import MapFilters from "c/mapFilters"; + +let element; + +let objectFilterButton; +let objectSheet; +let objectRadio; +let xButtonObj; + +let fieldFilterButton; +let fieldFilterSheet; +let xButtonFieldFilter; +let inputField; +let showResultsButton; + +let fieldsListSheet; +let fieldListRadio; +let xButtonFieldsList; + +describe("c-map-filters", () => { + beforeEach(() => { + element = createElement("c-map-filters", { + is: MapFilters + }); + + element.mapObjects = [ + { + value: "ServiceAppointment", + label: "Service Appointment", + latField: "Latitude", + longField: "Longitude", + titleField: "AppointmentNumber", + firstDetailField: "Subject", + secondDetailField: "Status", + thirdDetailField: "DurationInMinutes", + fields: [ + { value: "a", label: "A", type: "String" }, + { value: "b", label: "B", type: "Boolean" }, + { value: "c", label: "C", type: "DateTime" } + ] + }, + { + value: "Asset", + label: "Asset", + latField: "Latitude", + longField: "Longitude", + titleField: "Name", + firstDetailField: "Quantity", + secondDetailField: "Address", + thirdDetailField: "Price" + } + ]; + element.currentObjectFilter = { + value: "ServiceAppointment", + label: "Service Appointment", + plural: "", + iconUrl: "", + color: "" + }; + element.currentFieldFilter = { + isActive: true, + field: { value: "", label: "", type: "", input: "" } + }; + element.setCurrentObjectFilter = jest.fn(); + element.setCurrentFieldFilter = jest.fn(); + element.handleError = jest.fn(console.log); + + document.body.appendChild(element); + + objectFilterButton = + element.shadowRoot.querySelectorAll(".filter-button")[0]; + objectSheet = element.shadowRoot.querySelector( + ".object-filter-bottom-sheet" + ); + objectRadio = element.shadowRoot.querySelector( + ".object-filter-bottom-sheet lightning-radio-group" + ); + xButtonObj = element.shadowRoot.querySelector( + ".object-filter-bottom-sheet .x" + ); + + fieldFilterButton = + element.shadowRoot.querySelectorAll(".filter-button")[1]; + fieldFilterSheet = element.shadowRoot.querySelector( + ".field-filter-bottom-sheet" + ); + xButtonFieldFilter = element.shadowRoot.querySelector( + ".field-filter-bottom-sheet .x" + ); + showResultsButton = element.shadowRoot.querySelector( + ".filters-sheet-show-results" + ); + + fieldsListSheet = element.shadowRoot.querySelector( + ".fields-list-bottom-sheet" + ); + fieldListRadio = element.shadowRoot.querySelector( + ".fields-list-bottom-sheet lightning-radio-group" + ); + xButtonFieldsList = element.shadowRoot.querySelector( + ".fields-list-bottom-sheet .x" + ); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("has object filter filled", async () => { + return Promise.resolve().then(() => { + const currentObject = + objectFilterButton.querySelector(".button-text-main"); + expect(currentObject.textContent).toBe("Service Appointment"); + }); + }); + + it("has field filter empty", () => { + const currentField = fieldFilterButton.querySelector(".button-text-main"); + expect(currentField.textContent).toBe("None"); + }); + + it("has correct number of options in objects list", () => { + expect(objectRadio.options).toHaveLength(2); + }); + + it("opens object sheet when object filter button clicked", async () => { + expect(objectSheet.classList).not.toContain("pt-page-moveToTop"); + + objectFilterButton.click(); + return Promise.resolve().then(() => { + expect(objectSheet.classList).toContain("pt-page-moveToTop"); + }); + }); + + it("calls setCurrentObjectFilter when changing object filter", async () => { + objectFilterButton.click(); + return Promise.resolve().then(async () => { + objectRadio.value = "Asset"; + objectRadio.dispatchEvent(new Event("change")); + return Promise.resolve().then(() => { + expect(element.setCurrentObjectFilter).toHaveBeenCalledWith( + element.mapObjects[1] + ); + }); + }); + }); + + it("opens field filter sheet when field filter button clicked", async () => { + expect(fieldFilterSheet.classList).not.toContain("pt-page-moveToTop"); + + fieldFilterButton.click(); + return Promise.resolve().then(() => { + expect(fieldFilterSheet.classList).toContain("pt-page-moveToTop"); + }); + }); + + it("opens fields list sheet when field combo clicked", async () => { + expect(fieldsListSheet.classList).not.toContain("pt-page-moveToTop"); + + const fieldCombo = element.shadowRoot.querySelector(".field-combo-cover"); + fieldCombo.click(); + return Promise.resolve().then(() => { + expect(fieldsListSheet.classList).toContain("pt-page-moveToTop"); + }); + }); + + it("closes objects sheet on x click", async () => { + objectFilterButton.click(); + return Promise.resolve().then(async () => { + expect(objectSheet.classList).toContain("pt-page-moveToTop"); + xButtonObj.click(); + return Promise.resolve().then(() => { + expect(objectSheet.classList).not.toContain("pt-page-moveToTop"); + }); + }); + }); + + it("closes field filter sheet on x click", async () => { + fieldFilterButton.click(); + return Promise.resolve().then(async () => { + expect(fieldFilterSheet.classList).toContain("pt-page-moveToTop"); + xButtonFieldFilter.click(); + return Promise.resolve().then(() => { + expect(fieldFilterSheet.classList).not.toContain("pt-page-moveToTop"); + }); + }); + }); + + it("closes fields list sheet on x click", async () => { + const fieldCombo = element.shadowRoot.querySelector(".field-combo-cover"); + fieldCombo.click(); + return Promise.resolve().then(async () => { + expect(fieldsListSheet.classList).toContain("pt-page-moveToTop"); + xButtonFieldsList.click(); + return Promise.resolve().then(() => { + expect(fieldsListSheet.classList).not.toContain("pt-page-moveToTop"); + }); + }); + }); + + describe("c-map-filters field filter", () => { + describe("basic field filter", () => { + beforeEach(async () => { + // open the fields list and select the string field + fieldListRadio.value = "a"; + fieldListRadio.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + inputField = element.shadowRoot.querySelector( + ".field-input-container lightning-input" + ); + }); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("shows correct input component when field selected", async () => { + expect(inputField).not.toBeNull(); + expect(inputField.type).toBe("String"); + }); + + it("enables show results button on input change", async () => { + inputField.value = "text"; + inputField.dispatchEvent(new Event("change")); + return Promise.resolve().then(() => { + expect(showResultsButton.disabled).toBe(false); + }); + }); + + it("changes field filter button to active when show results clicked", async () => { + inputField.value = "text"; + inputField.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + showResultsButton.click(); + return Promise.resolve().then(() => { + const btn = + element.shadowRoot.querySelectorAll(".filter-button")[1]; + expect(btn.classList).toContain("active-button"); + }); + }); + }); + }); + + describe("boolean field filter", () => { + beforeEach(async () => { + // open the fields list and select the boolean field + fieldListRadio.value = "b"; + fieldListRadio.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + inputField = element.shadowRoot.querySelector( + ".field-input-container lightning-input" + ); + }); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("shows correct input component when field selected", async () => { + expect(inputField).not.toBeNull(); + expect(inputField.type).toBe("toggle"); + }); + + it("enables show results button even when nothing changes (boolean field can be left unchanged)", async () => { + expect(showResultsButton.disabled).toBe(false); + }); + + it("enables show results button also when toggle changes", async () => { + inputField.checked = true; + inputField.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + expect(inputField.checked).toBe(true); + expect(showResultsButton.disabled).toBe(false); + }); + }); + }); + + describe("date field filter", () => { + beforeEach(async () => { + // open the fields list and select the dateTime field + fieldListRadio.value = "c"; + fieldListRadio.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + inputField = element.shadowRoot.querySelector( + ".field-input-container lightning-input" + ); + }); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("shows correct input component when field selected", async () => { + expect(inputField).not.toBeNull(); + expect(inputField.type).toBe("Date"); + }); + }); + }); +}); diff --git a/projects/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.css b/projects/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.css new file mode 100644 index 0000000..ecfcb8c --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.css @@ -0,0 +1,236 @@ +.buttons-container { + background: white; + display: flex; + overflow-x: scroll; + padding: 8px 16px; + width: 100%; +} + +.button { + border: 2px #0d7fa8 solid; + border-radius: 10px; + padding: 8px 16px; + margin-bottom: 8px; + font-size: 14px; + line-height: 18px; + letter-spacing: 0px; + font-weight: 500; + white-space: nowrap; +} + +.filter-button { + display: flex; + flex-direction: row; + align-items: center; + margin: 0; + margin-right: 8px; +} + +.active-button { + color: white; + background-color: #0d7fa8; +} + +.inactive-button { + background: white; + color: #0d7fa8; +} + +.active-button .icon { + --sds-c-icon-color-foreground-default: white; + margin-left: 8px; +} + +.inactive-button .icon { + --sds-c-icon-color-foreground-default: #0d7fa8; + margin-left: 8px; +} + +.button-text { + display: flex; + flex-direction: column; + align-items: start; +} + +.button-text-title { + font-size: 12px; + line-height: 14px; + margin-bottom: 2px; +} + +.button-text-main { + font-size: 16px; + line-height: 22px; +} + +/* bottom sheets */ + +.bottom-sheet { + position: absolute; + display: flex; + flex-direction: column; + background-color: white; + width: 100%; + overflow-x: hidden; + overflow-y: hidden; + top: 100vh; + padding-bottom: 50px; + max-height: 85vh; + border-top-left-radius: 8px; + border-top-right-radius: 8px; +} + +.shadow { + box-shadow: 0px -1px 4px rgb(0 0 0 / 35%); +} + +.grabber { + display: flex; + justify-content: center; + height: 8px; +} + +.sheet-title-and-buttons { + display: flex; + justify-content: space-between; +} + +.back { + background: none; + border: none; + cursor: none; + width: 48px; + padding: 0; +} + +.x { + cursor: pointer; + background: none; + border: none; + padding: 0; + width: 48px; +} + +.x-icon { + --sds-c-icon-color-foreground-default: #0d7fa8; + padding: 0 13px; +} + +.sheet-content { + display: flex; + flex-direction: column; + margin: 16px; + overflow-y: scroll; +} + +.sheet-footer { + display: flex; + flex-direction: column; + margin: 16px; +} + +.filters-sheet-title { + display: flex; + justify-content: center; + align-items: center; + font-size: 18px; + line-height: 21px; + height: 48px; + text-align: center; +} + +.field-combo-container { + position: relative; +} + +.field-combo-cover { + position: absolute; + top: 0; +} + +.field-input-container { + margin-top: 16px; +} + +.boolean-input-frame { + border: 1px solid #d4d4d4; + border-radius: 12px; + padding: 12px; +} + +select { + height: 48px; +} + +.filters-sheet-show-results, +.filters-sheet-clear { + height: 48px; + font-size: 16px; + line-height: 22px; +} + +.filters-sheet-show-results:enabled { + background: #0d7fa8; + color: white; + border: none; +} + +.filters-sheet-show-results[disabled], +.filters-sheet-show-results:disabled { + background: #eeeeee; + color: #9faab5; + border: none; +} + +.filters-sheet-clear:enabled { + background: white; + color: #0d7fa8; + border: 2px #0d7fa8 solid; +} + +.filters-sheet-clear[disabled], +.filters-sheet-clear:disabled { + background: white; + color: #9faab5; + border: 2px #e4e4e8 solid; +} + +/* animations top-bottom */ + +.pt-page-moveToTop { + -webkit-animation: moveToTop 0.4s ease both; + animation: moveToTop 0.4s ease both; +} + +.pt-page-moveFromTop { + -webkit-animation: moveFromTop 0.4s ease both; + animation: moveFromTop 0.4s ease both; +} + +@-webkit-keyframes moveToTop { + from { + } + to { + -webkit-transform: translateY(-100%); + } +} +@keyframes moveToTop { + from { + } + to { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); + } +} + +@-webkit-keyframes moveFromTop { + from { + -webkit-transform: translateY(-100%); + } +} +@keyframes moveFromTop { + from { + -webkit-transform: translateY(-100%); + transform: translateY(-100%); + } +} diff --git a/projects/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.html b/projects/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.html new file mode 100644 index 0000000..3464c92 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.html @@ -0,0 +1,228 @@ + diff --git a/projects/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.js b/projects/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.js new file mode 100644 index 0000000..aa1d74c --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.js @@ -0,0 +1,219 @@ +import { LightningElement, api } from "lwc"; +import getAllPicklistOptions from "@salesforce/apex/MobileMapLayersService.getAllPicklistOptions"; + +export default class MapFilters extends LightningElement { + @api mapObjects; + @api handleError; + @api currentObjectFilter; + @api currentFieldFilter; + @api setCurrentObjectFilter; + @api setCurrentFieldFilter; + selectedFieldFilter = { label: "", value: "", type: "", input: "" }; + picklistOptions; + + connectedCallback() { + this.selectedFieldFilter = this.currentFieldFilter.field; + this.refreshPicklistOptions(); + } + + renderedCallback() { + const fieldContainer = this.template.querySelector( + ".field-combo-container" + ); + const comboCover = this.template.querySelector(".field-combo-cover"); + comboCover.style.height = `${fieldContainer.clientHeight}px`; + comboCover.style.width = `${fieldContainer.clientWidth}px`; + } + + // Getters + + get filteredObjectText() { + return this.currentObjectFilter?.label || "None"; + } + + get filteredFieldText() { + const currentField = this.currentFieldFilter.field.label; + return !currentField ? "None" : currentField; + } + + get filterFieldButtonClass() { + let buttonClasses = "button filter-button"; + return `${buttonClasses} ${ + this.currentFieldFilter.isActive ? "active-button" : "inactive-button" + }`; + } + + get objRadioOptions() { + return this.mapObjects; + } + + get fieldRadioOptions() { + if (!this.currentObjectFilter.value) return []; + const objFields = this.mapObjects.find( + (o) => o.value === this.currentObjectFilter.value + ).fields; + return objFields + ?.map((f) => ({ label: f.label, value: f.value, type: f.type })) + .sort((f1, f2) => (f1.label < f2.label ? -1 : 1)); + } + + get filterValueOptions() { + return this.picklistOptions; + } + + get inputType() { + if (this.selectedFieldFilter?.type === "DateTime") return "Date"; + return this.selectedFieldFilter?.type; + } + + get isFieldTypeBoolean() { + return this.selectedFieldFilter.type === "Boolean"; + } + + get isFieldTypePicklist() { + return this.selectedFieldFilter.type === "Picklist"; + } + + get isFieldTypeRegular() { + return !this.isFieldTypeBoolean && !this.isFieldTypePicklist; + } + + get showResultsDisabled() { + return ( + !this.selectedFieldFilter.value || + (!this.isFieldTypeBoolean && !this.selectedFieldFilter.input) + ); + } + + get clearDisabled() { + return !this.currentFieldFilter.field.value; + } + + // Event Handlers + + onObjRadioChange = (e) => { + try { + e.preventDefault(); + e.stopPropagation(); + this.clearFieldFilter(); + this.setCurrentObjectFilter( + this.objRadioOptions.find((o) => o.value === e.target.value) + ); + this.closeSheet("object-filter-bottom-sheet"); + } catch (error) { + this.handleError(error); + } + }; + + onFieldRadioChange = (e) => { + try { + e.preventDefault(); + e.stopPropagation(); + this.selectedFieldFilter = { + ...this.fieldRadioOptions.find((o) => o.value === e.target.value) + }; + this.selectedFieldFilter.input = this.isFieldTypeBoolean ? false : ""; + this.refreshPicklistOptions(); + this.closeSheet("fields-list-bottom-sheet"); + } catch (error) { + this.handleError(error); + } + }; + + onFieldInputChange = (e) => { + try { + const input = this.isFieldTypeBoolean ? e.target.checked : e.target.value; + this.selectedFieldFilter = { ...this.selectedFieldFilter, input }; + } catch (error) { + this.handleError(error); + } + }; + + // Buttons Handlers + + handleTopFiltersObjClick = () => { + this.openSheet("object-filter-bottom-sheet"); + this.closeSheet("field-filter-bottom-sheet"); + this.closeSheet("fields-list-bottom-sheet"); + }; + + handleTopFiltersFieldClick = () => { + this.selectedFieldFilter = this.currentFieldFilter.field; + this.openSheet("field-filter-bottom-sheet"); + this.closeSheet("object-filter-bottom-sheet"); + }; + + handleFieldComboClick = () => { + this.openSheet("fields-list-bottom-sheet"); + }; + + handleCloseObjFiltersClick = () => { + this.closeSheet("object-filter-bottom-sheet"); + }; + + handleCloseFieldFiltersClick = () => { + this.closeSheet("field-filter-bottom-sheet"); + }; + + handleCloseFieldsListClick = () => { + this.closeSheet("fields-list-bottom-sheet"); + }; + + handleShowResultsClick = () => { + if (this.isFieldTypeBoolean) + this.selectedFieldFilter.input = !!this.selectedFieldFilter.input; + this.setCurrentFieldFilter(true, this.selectedFieldFilter); + this.closeSheet("field-filter-bottom-sheet"); + }; + + handleClearClick = () => { + this.clearFieldFilter(); + this.closeSheet("field-filter-bottom-sheet"); + this.closeSheet("fields-list-bottom-sheet"); + }; + + // Helpers + + async refreshPicklistOptions() { + if (this.isFieldTypePicklist) { + const allOptions = await getAllPicklistOptions({ + obj: this.currentObjectFilter.value, + field: this.selectedFieldFilter.value + }); + this.picklistOptions = [ + { label: "", value: "" }, + ...allOptions.sort((f1, f2) => (f1.label < f2.label ? -1 : 1)) + ]; + } else { + this.picklistOptions = []; + } + } + + clearFieldFilter() { + this.setCurrentFieldFilter(false, { + label: "", + value: "", + type: "", + input: "" + }); + } + + openSheet(sheet) { + const sheetClasses = this.template.querySelector(`.${sheet}`).classList; + sheetClasses.add("pt-page-moveToTop"); + sheetClasses.add("shadow"); + sheetClasses.remove("pt-page-moveFromTop"); + } + + closeSheet(sheet) { + const sheetClasses = this.template.querySelector(`.${sheet}`).classList; + if (Array.from(sheetClasses).includes("pt-page-moveToTop")) { + sheetClasses.add("pt-page-moveFromTop"); + sheetClasses.remove("pt-page-moveToTop"); + } + sheetClasses.remove("shadow"); + this.template + .querySelectorAll(".sheet-content") + .forEach((s) => (s.scrollTop = 0)); + } +} diff --git a/projects/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.js-meta.xml b/projects/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mapFilters/mapFilters.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/FindNearby/force-app/main/default/lwc/mobileMap/__tests__/mobileMap.test.js b/projects/FindNearby/force-app/main/default/lwc/mobileMap/__tests__/mobileMap.test.js new file mode 100644 index 0000000..65c8ea8 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mobileMap/__tests__/mobileMap.test.js @@ -0,0 +1,147 @@ +import { createElement } from "lwc"; +import MobileMap from "c/mobileMap"; + +let element; + +describe("c-mobile-map", () => { + beforeEach(() => { + element = createElement("c-mobile-map", { + is: MobileMap + }); + + element.filteredMarkers = [ + { + location: { Latitude: 10, Longitude: 10 }, + value: { titleFieldValue: "marker title1" } + }, + { + location: { Latitude: 20, Longitude: 20 }, + value: { titleFieldValue: "marker title2" } + }, + { + location: { Latitude: 30, Longitude: 30 }, + value: { titleFieldValue: "marker title3" } + } + ]; + element.currentMarker = element.filteredMarkers[0]; + element.currentMarkerInd = 0; + element.setCurrentMarker = jest.fn(); + element.redirectToMarkerDetails = jest.fn(); + element.routeToMarkerLocation = jest.fn(); + element.handleError = jest.fn(console.log); + + document.body.appendChild(element); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + element = null; + }); + + it("should show map and hide cards on launch", () => { + const map = element.shadowRoot.querySelector("lightning-map"); + const cards = element.shadowRoot.querySelector(".cards"); + + expect(map).not.toBeNull(); + expect(cards).toBeNull(); + }); + + it("should be 2 markers on the map", async () => { + const map = element.shadowRoot.querySelector("lightning-map"); + + return Promise.resolve().then(() => { + expect(map.mapMarkers).toHaveLength(3); + }); + }); + + it("card has correct title", async () => { + element.currentMarkerSet(false); + + return Promise.resolve().then(() => { + const cards = element.shadowRoot.querySelector(".cards"); + expect(cards).not.toBeNull(); + const cardTitle = element.shadowRoot.querySelector(".title-text"); + expect(cardTitle.textContent).toBe("marker title1"); + }); + }); + + it("closes card on x click", async () => { + element.currentMarkerSet(false); + + return Promise.resolve().then(async () => { + const cardClose = element.shadowRoot.querySelector(".x"); + cardClose.click(); + return Promise.resolve().then(() => { + const cards = element.shadowRoot.querySelector(".cards"); + expect(cards).toBeNull(); + }); + }); + }); + + it("closes card when locator clicked", async () => { + element.currentMarkerSet(false); + + return Promise.resolve().then(async () => { + const locator = element.shadowRoot.querySelector(".locator"); + locator.click(); + return Promise.resolve().then(() => { + const cards = element.shadowRoot.querySelector(".cards"); + expect(cards).toBeNull(); + }); + }); + }); + + it("triggers redirectToMarkerDetails when open record clicked", async () => { + element.currentMarkerSet(false); + + return Promise.resolve().then(async () => { + const action = element.shadowRoot.querySelectorAll( + ".card-primary-button" + )[0]; + action.click(); + return Promise.resolve().then(() => { + expect(element.redirectToMarkerDetails).toHaveBeenCalled(); + }); + }); + }); + + it("triggers routeToMarkerLocation when get directions clicked", async () => { + element.currentMarkerSet(false); + + return Promise.resolve().then(async () => { + const action = element.shadowRoot.querySelectorAll( + ".card-primary-button" + )[1]; + action.click(); + return Promise.resolve().then(() => { + expect(element.routeToMarkerLocation).toHaveBeenCalled(); + }); + }); + }); + + it("moves to previous item when back clicked", async () => { + element.currentMarkerSet(false); + + return Promise.resolve().then(async () => { + const back = element.shadowRoot.querySelectorAll(".card-footer-arrow")[0]; + back.click(); + return Promise.resolve().then(() => { + expect(element.setCurrentMarker).toHaveBeenCalledWith(2); + }); + }); + }); + + it("moves to next item when next clicked", async () => { + element.currentMarkerSet(false); + + return Promise.resolve().then(async () => { + const back = element.shadowRoot.querySelectorAll(".card-footer-arrow")[1]; + back.click(); + return Promise.resolve().then(() => { + expect(element.setCurrentMarker).toHaveBeenCalledWith(1); + }); + }); + }); +}); diff --git a/projects/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.css b/projects/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.css new file mode 100644 index 0000000..3a97718 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.css @@ -0,0 +1,199 @@ +.main-container { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + position: relative; + height: 100%; + width: 100%; +} + +.locator { + display: flex; + justify-content: center; + align-items: center; + height: 48px; + width: 48px; + background-color: white; + border-radius: 100px; + top: 90px; + right: 16px; + position: absolute; + z-index: 1; + box-shadow: 0px 4px rgba(0, 0, 0, 0.25); +} + +lightning-map { + height: 100%; + width: 100%; + padding: 0; + margin: 0; +} + +.buttons { + margin-top: 10px; + margin-left: 0; +} + +/* cards */ + +.cards { + position: absolute; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + background-color: white; + border: 2px #9faab5 solid; + border-radius: 10px; + width: 360px; + top: calc(50% + 10px); + height: fit-content; + box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.16); +} + +.card-top-arrow { + height: 16px; + width: 16px; + background-color: white; + position: absolute; + left: 50%; + top: -1px; + border-left: 2px #9faab5 solid; + border-top: 2px #9faab5 solid; + transform: translate(-50%, -50%) rotate(45deg); +} + +.card-header { + display: flex; + justify-content: space-between; + width: 100%; + height: 48px; +} + +.card-title { + padding: 16px; + padding-bottom: 16px; + display: flex; + align-items: center; +} + +.title-text { + color: #181818; + font-size: 20px; + font-weight: 500; + margin-left: 8px; +} + +.x { + cursor: pointer; + background: none; + border: none; + padding: 16px; +} + +.x-icon { + --sds-c-icon-color-foreground-default: #0d7fa8; +} + +.card-main { + padding: 16px; + padding-top: 0; + display: flex; + flex-direction: column; + align-items: flex-start; + justify-content: space-between; + width: 100%; + height: fit-content; + text-align: left; +} + +.card-details { + display: flex; + flex-direction: column; + width: 100%; + font-size: 14px; +} + +.card-details-row { + display: flex; + flex-direction: row; + width: 100%; +} + +.first-row { + margin-bottom: 12px; +} + +.card-details-text { + margin-right: 30px; + flex: 1; + color: black; +} + +.card-secondary-title { + color: #444444; + font-size: 14px; +} + +.card-secondary-text { + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.card-buttons-container { + display: flex; + flex-direction: row; + justify-content: space-between; + margin-top: 10px; + width: 100%; +} + +.card-buttons-container button { + background: white; + color: #0d7fa8; + border: 1.5px #0d7fa8 solid; + height: 44px; + border-radius: 10px; + padding: 8px 12px; + font-size: 14px; + line-height: 18px; + letter-spacing: 0px; + font-weight: 500; + width: 160px; +} + +.card-primary-button { + margin: 0; +} + +.slds-button__icon { + margin: 0; +} + +.card-footer { + width: 100%; + background: #eeeeee; + color: #444444; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + padding: 16px 0; + height: 50px; + border-radius: 0 0 10px 10px; + font-size: 16px; +} + +.card-footer-arrow { + border: none; + background: none; + height: 48px; + width: 48px; +} + +.arrow-icon { + --sds-c-icon-color-foreground-default: #444444; +} diff --git a/projects/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.html b/projects/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.html new file mode 100644 index 0000000..327bcb5 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.html @@ -0,0 +1,125 @@ + diff --git a/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.js b/projects/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.js similarity index 91% rename from FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.js rename to projects/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.js index 44ffccf..6b58754 100644 --- a/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.js +++ b/projects/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.js @@ -1,4 +1,4 @@ -import { LightningElement, api, track } from 'lwc'; +import { LightningElement, api, track } from "lwc"; export default class MobileMaps extends LightningElement { // Markers @@ -21,10 +21,10 @@ export default class MobileMaps extends LightningElement { // Map options zoom = 15; - listView = ''; + listView = ""; mapOptions = { disableDefaultUI: true, - zoomControl: false, + zoomControl: false }; renderedCallback() { @@ -36,10 +36,14 @@ export default class MobileMaps extends LightningElement { } isMarkersListEqual() { - const markers = this.markersWithResource.filter((m) => m.value !== undefined); + const markers = this.markersWithResource.filter( + (m) => m.value !== undefined + ); return ( this.filteredMarkers.length === markers.length && - this.filteredMarkers.every((m, ind) => m.value.id === markers[ind].value.id) + this.filteredMarkers.every( + (m, ind) => m.value.id === markers[ind].value.id + ) ); } @@ -47,9 +51,9 @@ export default class MobileMaps extends LightningElement { this.resourceMarker = { location: { Latitude: lat, - Longitude: lng, + Longitude: lng }, - mapIcon: this.getResourceMarkerSVG(), + mapIcon: this.getResourceMarkerSVG() }; } @@ -165,6 +169,6 @@ export default class MobileMaps extends LightningElement { `; - return 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent(icon); + return "data:image/svg+xml;charset=UTF-8," + encodeURIComponent(icon); } } diff --git a/projects/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.js-meta.xml b/projects/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mobileMap/mobileMap.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/__tests__/data/getObjectInfosResponse.json b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/__tests__/data/getObjectInfosResponse.json new file mode 100644 index 0000000..53a7d28 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/__tests__/data/getObjectInfosResponse.json @@ -0,0 +1,174 @@ +{ + "results": [ + { + "statusCode": 200, + "result": { + "apiName": "ServiceAppointment", + "associateEntityType": null, + "associateParentEntity": null, + "childRelationships": [ + { + "childObjectApiName": "ActivityHistory", + "fieldName": "WhatId", + "junctionIdListNames": [], + "junctionReferenceTo": [], + "relationshipName": "ActivityHistories" + } + ], + "createable": true, + "custom": false, + "defaultRecordTypeId": "012000000000000AAA", + "deletable": true, + "dependentFields": {}, + "feedEnabled": false, + "fields": { + "AccountId": { + "apiName": "AccountId", + "calculated": false, + "compound": false, + "compoundComponentName": null, + "compoundFieldName": null, + "controllerName": null, + "controllingFields": [], + "createable": false, + "custom": false, + "dataType": "Reference", + "extraTypeInfo": null, + "filterable": true, + "filteredLookupInfo": null, + "highScaleNumber": false, + "htmlFormatted": false, + "inlineHelpText": null, + "label": "Account ID", + "length": 18, + "nameField": false, + "polymorphicForeignKey": false, + "precision": 0, + "reference": true, + "referenceTargetField": null, + "referenceToInfos": [ + { + "apiName": "Account", + "nameFields": ["Name"] + } + ], + "relationshipName": "Account", + "required": false, + "scale": 0, + "searchPrefilterable": true, + "sortable": true, + "unique": false, + "updateable": false + } + }, + "keyPrefix": "08p", + "label": "Service Appointment", + "labelPlural": "Service Appointments", + "layoutable": true, + "mruEnabled": true, + "nameFields": ["AppointmentNumber"], + "queryable": true, + "recordTypeInfos": { + "012000000000000AAA": { + "available": true, + "defaultRecordTypeMapping": true, + "master": true, + "name": "Master", + "recordTypeId": "012000000000000AAA" + } + }, + "searchable": true, + "themeInfo": { + "color": "5867E8", + "iconUrl": "https://inbalorg-dev-ed.develop.my.salesforce.com/img/icon/t4v35/standard/service_appointment_120.png" + }, + "updateable": true + } + }, + { + "statusCode": 200, + "result": { + "apiName": "ServiceResource", + "associateEntityType": null, + "associateParentEntity": null, + "childRelationships": [ + { + "childObjectApiName": "ActivityHistory", + "fieldName": "WhatId", + "junctionIdListNames": [], + "junctionReferenceTo": [], + "relationshipName": "ActivityHistories" + } + ], + "createable": true, + "custom": false, + "defaultRecordTypeId": "012000000000000AAA", + "deletable": false, + "dependentFields": {}, + "feedEnabled": false, + "fields": { + "AccountId": { + "apiName": "AccountId", + "calculated": false, + "compound": false, + "compoundComponentName": null, + "compoundFieldName": null, + "controllerName": null, + "controllingFields": [], + "createable": true, + "custom": false, + "dataType": "Reference", + "extraTypeInfo": null, + "filterable": true, + "filteredLookupInfo": null, + "highScaleNumber": false, + "htmlFormatted": false, + "inlineHelpText": null, + "label": "Account ID", + "length": 18, + "nameField": false, + "polymorphicForeignKey": false, + "precision": 0, + "reference": true, + "referenceTargetField": null, + "referenceToInfos": [ + { + "apiName": "Account", + "nameFields": ["Name"] + } + ], + "relationshipName": "Account", + "required": false, + "scale": 0, + "searchPrefilterable": true, + "sortable": true, + "unique": false, + "updateable": true + } + }, + "keyPrefix": "0Hn", + "label": "Service Resource", + "labelPlural": "Service Resources", + "layoutable": true, + "mruEnabled": true, + "nameFields": ["Name"], + "queryable": true, + "recordTypeInfos": { + "012000000000000AAA": { + "available": true, + "defaultRecordTypeMapping": true, + "master": true, + "name": "Master", + "recordTypeId": "012000000000000AAA" + } + }, + "searchable": true, + "themeInfo": { + "color": "5867E8", + "iconUrl": "https://inbalorg-dev-ed.develop.my.salesforce.com/img/icon/t4v35/standard/service_resource_120.png" + }, + "updateable": true + } + } + ] +} diff --git a/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/__tests__/mobileMapLayersMain.test.js b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/__tests__/mobileMapLayersMain.test.js new file mode 100644 index 0000000..41cf1d0 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/__tests__/mobileMapLayersMain.test.js @@ -0,0 +1,56 @@ +import { createElement } from "lwc"; +import MobileMapLayersMain from "c/mobileMapLayersMain"; +import { graphql } from "lightning/uiGraphQLApi"; +import { getObjectInfos } from "lightning/uiObjectInfoApi"; + +let element; +const getObjectInfosResponse = require("./data/getObjectInfosResponse.json"); + +describe("c-mobile-map-layers-main", () => { + beforeEach(() => { + element = createElement("c-mobile-map-layers-main", { + is: MobileMapLayersMain + }); + + document.body.appendChild(element); + + graphql.emit({ + uiapi: { + query: { + ServiceResource: { + edges: [ + { + node: { + Id: "0HnB00000002TLwKAM", + LastKnownLatitude: { + value: 32.4 + }, + LastKnownLongitude: { + value: 34.9 + } + } + } + ] + } + } + } + }); + + getObjectInfos.emit(getObjectInfosResponse); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("should contain all 3 components", () => { + const mapFilters = element.shadowRoot.querySelector("c-map-filters"); + expect(mapFilters).not.toBeNull(); + const mobileMap = element.shadowRoot.querySelector("c-mobile-map"); + expect(mobileMap).not.toBeNull(); + const locationsList = element.shadowRoot.querySelector("c-locations-list"); + expect(locationsList).not.toBeNull(); + }); +}); diff --git a/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/config.js b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/config.js new file mode 100644 index 0000000..18c7bdb --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/config.js @@ -0,0 +1,23 @@ +export const config = { + mapObjects: [ + { + value: "ServiceAppointment", + latField: "Latitude", + longField: "Longitude", + titleField: "AppointmentNumber", + firstDetailField: "Subject", + secondDetailField: "Status", + thirdDetailField: "DurationInMinutes" + }, + { + value: "ServiceResource", + latField: "LastKnownLatitude", + longField: "LastKnownLongitude", + titleField: "Name", + firstDetailField: "ResourceType", + secondDetailField: "IsActive", + thirdDetailField: "Description" + } + ], + distanceUnit: "km" // Preferred distance unit: km or mi +}; diff --git a/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.css b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.css new file mode 100644 index 0000000..e56276e --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.css @@ -0,0 +1,32 @@ +.find-nearby-main-container { + position: relative; + width: 100%; + height: 100vh; + overflow: hidden; + background-color: white; +} + +.page { + position: absolute; + width: 100%; +} + +.filters-container { + position: absolute; + z-index: 3; + width: 100%; +} + +.map-container { + display: inline-block; + height: calc(85% + 70px); + padding: 0; + margin: 0; +} + +.locations-list-container { + z-index: 2; + height: 100%; + width: 100%; + pointer-events: none; +} diff --git a/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.html b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.html new file mode 100644 index 0000000..98a5dfa --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.html @@ -0,0 +1,39 @@ + diff --git a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.js b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.js similarity index 81% rename from FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.js rename to projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.js index d853ef3..b83425f 100644 --- a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.js +++ b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.js @@ -1,32 +1,34 @@ -import { LightningElement, wire } from 'lwc'; -import { gql, graphql } from 'lightning/uiGraphQLApi'; -import { getObjectInfos } from 'lightning/uiObjectInfoApi'; -import { NavigationMixin } from 'lightning/navigation'; -import executeFilterQuery from '@salesforce/apex/MobileMapLayersService.executeFilterQuery'; -import Id from '@salesforce/user/Id'; -import { config } from './config'; -import ConfirmModal from 'c/confirmModal'; -import overrideCSS from './overrideCSS'; - -export default class MobileMapLayersMain extends NavigationMixin(LightningElement) { +import { LightningElement, wire } from "lwc"; +import { gql, graphql } from "lightning/uiGraphQLApi"; +import { getObjectInfos } from "lightning/uiObjectInfoApi"; +import { NavigationMixin } from "lightning/navigation"; +import executeFilterQuery from "@salesforce/apex/MobileMapLayersService.executeFilterQuery"; +import Id from "@salesforce/user/Id"; +import { config } from "./config"; +import ConfirmModal from "c/confirmModal"; +import overrideCSS from "./overrideCSS"; + +export default class MobileMapLayersMain extends NavigationMixin( + LightningElement +) { CONFIG = config; userId = Id; - resourceLocation = { lat: '0.0', lng: '0.0' }; + resourceLocation = { lat: "0.0", lng: "0.0" }; isResourceLocationSet = false; allMarkers = []; filteredMarkers = []; currentMarker; currentMarkerInd = 0; currentObjectFilter = { - value: '', - label: '', - plural: '', - iconUrl: '', - color: '', + value: "", + label: "", + plural: "", + iconUrl: "", + color: "" }; currentFieldFilter = { isActive: false, - field: { value: '', label: '', type: '', input: '' }, + field: { value: "", label: "", type: "", input: "" } }; fullQuery; init = false; @@ -35,9 +37,11 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen objQueries = []; connectedCallback() { - if (!['km', 'mi'].includes(this.CONFIG.distanceUnit)) this.CONFIG.distanceUnit = 'km'; + if (!["km", "mi"].includes(this.CONFIG.distanceUnit)) + this.CONFIG.distanceUnit = "km"; - const myStyle = document.createElement('style'); + const myStyle = document.createElement("style"); + // eslint-disable-next-line @lwc/lwc/no-inner-html myStyle.innerHTML = overrideCSS; document.head.appendChild(myStyle); } @@ -45,8 +49,10 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen renderedCallback() { if (!this.init) { this.init = true; - window.visualViewport?.addEventListener('resize', (e) => { - if (window.visualViewport.height === window.innerHeight) window.scrollTo(0, 0); + // eslint-disable-next-line no-unused-vars + window.visualViewport?.addEventListener("resize", (e) => { + if (window.visualViewport.height === window.innerHeight) + window.scrollTo(0, 0); }); } } @@ -75,7 +81,7 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen } } `, - variables: '$userIdVariable', + variables: "$userIdVariable" }) GetAssignedResourceLocation({ data, errors }) { if (data?.uiapi && !this.isResourceLocationSet) { @@ -87,7 +93,9 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen this.resourceLocation = { lat, lng }; } - this.template.querySelector('c-mobile-map')?.setResourceMarker(this.resourceLocation); + this.template + .querySelector("c-mobile-map") + ?.setResourceMarker(this.resourceLocation); this.isResourceLocationSet = true; this.addLocations(); @@ -106,18 +114,21 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen } } - @wire(getObjectInfos, { objectApiNames: '$queriedObjects' }) + @wire(getObjectInfos, { objectApiNames: "$queriedObjects" }) async getObjectInfos({ data, error }) { if (data) { const allObjResults = data.results; this.CONFIG.mapObjects.forEach(async (o, ind) => { - const objResult = allObjResults.find((r) => r.result?.apiName === o.value)?.result; + const objResult = allObjResults.find( + (r) => r.result?.apiName === o.value + )?.result; + // eslint-disable-next-line no-unused-vars const fields = Object.entries(objResult.fields).map(([_, value]) => ({ value: value.apiName, label: value.label, - type: value.dataType, + type: value.dataType })); o.fields = fields; @@ -135,7 +146,7 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen o.label = objResult.label; o.plural = objResult.labelPlural; o.iconUrl = objResult.themeInfo.iconUrl; - o.color = `#${objResult.themeInfo.color ?? '4bc076'}`; + o.color = `#${objResult.themeInfo.color ?? "4bc076"}`; o.infoReceived = true; this.objQueries.push(this.buildQueryForObject(o)); @@ -189,7 +200,7 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen const q = `query GetLocations { uiapi { query { - ${objQueries.join('\n')} + ${objQueries.join("\n")} } } }`; @@ -199,7 +210,7 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen }; @wire(graphql, { - query: '$fullQuery', + query: "$fullQuery" }) GetObjectLocationsResults({ data, errors }) { if (data) { @@ -218,7 +229,7 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen titleFieldValue: fieldsList[3], firstDetailFieldValue: fieldsList[4], secondDetailFieldValue: fieldsList[5], - thirdDetailFieldValue: fieldsList[6], + thirdDetailFieldValue: fieldsList[6] }); } this.addAllObjectsLocations(obj.value, records); @@ -252,7 +263,7 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen const marker = { location: { Latitude: lat, Longitude: long }, mapIcon: this.getMarkerSVG(objDetails.color), - value: { ...objDetails, ...recordDetails, navUrl, routeUrl, distance }, + value: { ...objDetails, ...recordDetails, navUrl, routeUrl, distance } }; this.addToMarkers(marker); } @@ -269,7 +280,7 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen try { ids = await executeFilterQuery({ currentObjectFilter: this.currentObjectFilter.value, - currentFieldFilter: this.currentFieldFilter.field, + currentFieldFilter: this.currentFieldFilter.field }); } catch (error) { this.handleError(error); @@ -291,8 +302,8 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen try { this.currentMarkerInd = ind; this.currentMarker = { ...this.filteredMarkers[ind] }; - this.template.querySelector('c-locations-list').currentMarkerSet(); - this.template.querySelector('c-mobile-map').currentMarkerSet(init); + this.template.querySelector("c-locations-list").currentMarkerSet(); + this.template.querySelector("c-mobile-map").currentMarkerSet(init); } catch (error) { this.handleError(error); } @@ -306,19 +317,19 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen let toOpen = true; if (this.isIos()) { toOpen = await ConfirmModal.open({ - content: 'Opening the record resets your search.', - header: 'Open Record?', - okButtonText: 'Open Record', - cancelButtonText: 'Cancel', + content: "Opening the record resets your search.", + header: "Open Record?", + okButtonText: "Open Record", + cancelButtonText: "Cancel" }); } if (toOpen) { this[NavigationMixin.Navigate]({ - type: 'standard__webPage', + type: "standard__webPage", attributes: { - url: this.filteredMarkers[index].value.navUrl, - }, + url: this.filteredMarkers[index].value.navUrl + } }); } }; @@ -326,10 +337,10 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen routeToMarkerLocation = (ind) => { const index = ind ?? this.currentMarkerInd; this[NavigationMixin.Navigate]({ - type: 'standard__webPage', + type: "standard__webPage", attributes: { - url: this.filteredMarkers[index].value.routeUrl, - }, + url: this.filteredMarkers[index].value.routeUrl + } }); }; @@ -349,7 +360,7 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen get userIdVariable() { return { - userId: this.userId, + userId: this.userId }; } @@ -372,22 +383,25 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen getDistance(lat1, lng1, lat2, lng2, distanceUnit) { const deg2rad = (deg) => deg * (Math.PI / 180); - const R = distanceUnit === 'mi' ? 3958.8 : 6371; // radius of earth + const R = distanceUnit === "mi" ? 3958.8 : 6371; // radius of earth const dLat = deg2rad(lat2 - lat1); const dLng = deg2rad(lng2 - lng1); const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + - Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.sin(dLng / 2) * Math.sin(dLng / 2); + Math.cos(deg2rad(lat1)) * + Math.cos(deg2rad(lat2)) * + Math.sin(dLng / 2) * + Math.sin(dLng / 2); const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); return R * c; } isIos = () => { const isIpad = - navigator.userAgent.includes('Macintosh') && + navigator.userAgent.includes("Macintosh") && navigator.maxTouchPoints && navigator.maxTouchPoints > 1; - const isIphone = navigator.platform.includes('iPhone'); + const isIphone = navigator.platform.includes("iPhone"); return isIpad || isIphone; }; @@ -401,7 +415,7 @@ export default class MobileMapLayersMain extends NavigationMixin(LightningElemen `; - return 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent(icon); + return "data:image/svg+xml;charset=UTF-8," + encodeURIComponent(icon); } handleError(error) { diff --git a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.js-meta.xml b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.js-meta.xml similarity index 90% rename from FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.js-meta.xml rename to projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.js-meta.xml index 75f7c95..e6373b3 100644 --- a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.js-meta.xml +++ b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/mobileMapLayersMain.js-meta.xml @@ -1,4 +1,4 @@ - + 55.0 true @@ -16,4 +16,4 @@ ScreenAction - \ No newline at end of file + diff --git a/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/overrideCSS.js b/projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/overrideCSS.js similarity index 100% rename from FindNearby/force-app/main/default/lwc/mobileMapLayersMain/overrideCSS.js rename to projects/FindNearby/force-app/main/default/lwc/mobileMapLayersMain/overrideCSS.js diff --git a/projects/FindNearby/force-app/main/default/lwc/objectIcon/__tests__/objectIcon.test.js b/projects/FindNearby/force-app/main/default/lwc/objectIcon/__tests__/objectIcon.test.js new file mode 100644 index 0000000..52bd53e --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/objectIcon/__tests__/objectIcon.test.js @@ -0,0 +1,34 @@ +import { createElement } from "lwc"; +import ObjectIcon from "c/objectIcon"; + +describe("c-object-icon", () => { + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("should produce component with the provided values", () => { + const element = createElement("c-object-icon", { + is: ObjectIcon + }); + + element.iconUrl = "https://moble-map-layers-test.com"; + element.color = "#123456"; + document.body.appendChild(element); + + const img = element.shadowRoot.querySelector("img"); + expect(img.src).toBe("https://moble-map-layers-test.com/"); + }); + + it("should produce component with the default icon", () => { + const element = createElement("c-object-icon", { + is: ObjectIcon + }); + + document.body.appendChild(element); + + const icon = element.shadowRoot.querySelector("lightning-icon"); + expect(icon.iconName).toBe("standard:address"); + }); +}); diff --git a/projects/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.css b/projects/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.css new file mode 100644 index 0000000..a2e62d2 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.css @@ -0,0 +1,10 @@ +.lightning-icon-container { + display: flex; + align-items: flex-start; +} + +.icon { + height: 24px; + width: 24px; + border-radius: 4px; +} diff --git a/projects/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.html b/projects/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.html new file mode 100644 index 0000000..6005565 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.html @@ -0,0 +1,13 @@ + diff --git a/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.js b/projects/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.js similarity index 80% rename from FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.js rename to projects/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.js index ee32db3..a93fa85 100644 --- a/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.js +++ b/projects/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.js @@ -1,4 +1,4 @@ -import { LightningElement, api } from 'lwc'; +import { LightningElement, api } from "lwc"; export default class ObjectIcon extends LightningElement { @api iconUrl; diff --git a/projects/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.js-meta.xml b/projects/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FindNearby/force-app/main/default/lwc/objectIcon/objectIcon.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/FindNearby/force-app/test/jest-mocks/lightning/modal.js b/projects/FindNearby/force-app/test/jest-mocks/lightning/modal.js new file mode 100644 index 0000000..a2eabbe --- /dev/null +++ b/projects/FindNearby/force-app/test/jest-mocks/lightning/modal.js @@ -0,0 +1,5 @@ +import { LightningElement, api } from "lwc"; + +export default class LightningModal extends LightningElement { + @api close; +} diff --git a/projects/FindNearby/force-app/test/jest-mocks/lightning/modalBody.html b/projects/FindNearby/force-app/test/jest-mocks/lightning/modalBody.html new file mode 100644 index 0000000..572af9d --- /dev/null +++ b/projects/FindNearby/force-app/test/jest-mocks/lightning/modalBody.html @@ -0,0 +1 @@ + diff --git a/projects/FindNearby/force-app/test/jest-mocks/lightning/modalBody.js b/projects/FindNearby/force-app/test/jest-mocks/lightning/modalBody.js new file mode 100644 index 0000000..b820da7 --- /dev/null +++ b/projects/FindNearby/force-app/test/jest-mocks/lightning/modalBody.js @@ -0,0 +1,3 @@ +import { LightningElement } from "lwc"; + +export default class ModalBody extends LightningElement {} diff --git a/projects/FindNearby/force-app/test/jest-mocks/lightning/modalFooter.html b/projects/FindNearby/force-app/test/jest-mocks/lightning/modalFooter.html new file mode 100644 index 0000000..572af9d --- /dev/null +++ b/projects/FindNearby/force-app/test/jest-mocks/lightning/modalFooter.html @@ -0,0 +1 @@ + diff --git a/projects/FindNearby/force-app/test/jest-mocks/lightning/modalFooter.js b/projects/FindNearby/force-app/test/jest-mocks/lightning/modalFooter.js new file mode 100644 index 0000000..31663a7 --- /dev/null +++ b/projects/FindNearby/force-app/test/jest-mocks/lightning/modalFooter.js @@ -0,0 +1,3 @@ +import { LightningElement } from "lwc"; + +export default class ModalFooter extends LightningElement {} diff --git a/projects/FindNearby/force-app/test/jest-mocks/lightning/modalHeader.html b/projects/FindNearby/force-app/test/jest-mocks/lightning/modalHeader.html new file mode 100644 index 0000000..572af9d --- /dev/null +++ b/projects/FindNearby/force-app/test/jest-mocks/lightning/modalHeader.html @@ -0,0 +1 @@ + diff --git a/projects/FindNearby/force-app/test/jest-mocks/lightning/modalHeader.js b/projects/FindNearby/force-app/test/jest-mocks/lightning/modalHeader.js new file mode 100644 index 0000000..4616b71 --- /dev/null +++ b/projects/FindNearby/force-app/test/jest-mocks/lightning/modalHeader.js @@ -0,0 +1,5 @@ +import { LightningElement, api } from "lwc"; + +export default class ModalHeader extends LightningElement { + @api label; +} diff --git a/projects/FindNearby/force-app/test/jest-mocks/lightning/uiGraphQLApi.js b/projects/FindNearby/force-app/test/jest-mocks/lightning/uiGraphQLApi.js new file mode 100644 index 0000000..eb4e350 --- /dev/null +++ b/projects/FindNearby/force-app/test/jest-mocks/lightning/uiGraphQLApi.js @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2023, salesforce.com, inc. + * All rights reserved. + * SPDX-License-Identifier: MIT + * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT + */ +import { createTestWireAdapter } from "@salesforce/wire-service-jest-util"; + +export class graphql extends createTestWireAdapter() { + static emit(value, filterFn) { + super.emit({ data: value, errors: undefined }, filterFn); + } + + static emitErrors(errors, filterFn) { + super.emit({ data: undefined, errors }, filterFn); + } + + constructor(dataCallback) { + super(dataCallback); + + graphql.emit({ data: undefined, errors: undefined }); + } +} + +export const gql = jest.fn(); +export const refreshGraphQL = jest.fn(); diff --git a/projects/FindNearby/jest.config.js b/projects/FindNearby/jest.config.js new file mode 100644 index 0000000..0a5775d --- /dev/null +++ b/projects/FindNearby/jest.config.js @@ -0,0 +1,17 @@ +const { jestConfig } = require("@salesforce/sfdx-lwc-jest/config"); + +module.exports = { + ...jestConfig, + modulePathIgnorePatterns: ["/.localdevserver"], + moduleNameMapper: { + "^lightning/modal$": "/force-app/test/jest-mocks/lightning/modal", + "^lightning/modalBody$": + "/force-app/test/jest-mocks/lightning/modalBody", + "^lightning/modalFooter$": + "/force-app/test/jest-mocks/lightning/modalFooter", + "^lightning/modalHeader$": + "/force-app/test/jest-mocks/lightning/modalHeader", + "^lightning/uiGraphQLApi$": + "/force-app/test/jest-mocks/lightning/uiGraphQLApi" + } +}; diff --git a/projects/FindNearby/package.json b/projects/FindNearby/package.json new file mode 100644 index 0000000..15eb8b5 --- /dev/null +++ b/projects/FindNearby/package.json @@ -0,0 +1,29 @@ +{ + "name": "find-nearby", + "private": true, + "version": "1.0.0", + "description": "Find Nearby", + "scripts": { + "lint": "eslint **/lwc/**", + "test": "npm run test:unit", + "test:unit": "sfdx-lwc-jest", + "test:unit:watch": "sfdx-lwc-jest --watch", + "test:unit:debug": "sfdx-lwc-jest --debug", + "test:unit:coverage": "sfdx-lwc-jest --coverage", + "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", + "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"" + }, + "devDependencies": { + "@lwc/eslint-plugin-lwc": "^1.7.0", + "@prettier/plugin-xml": "^3.2.2", + "@salesforce/eslint-config-lwc": "^3.5.2", + "@salesforce/eslint-plugin-aura": "^2.1.0", + "@salesforce/eslint-plugin-lightning": "^1.0.0", + "@salesforce/sfdx-lwc-jest": "^3.1.0", + "eslint": "^8.55.0", + "eslint-plugin-import": "^2.29.0", + "eslint-plugin-jest": "^27.6.0", + "prettier": "^3.1.1", + "prettier-plugin-apex": "^2.0.1" + } +} diff --git a/projects/FindNearby/sfdx-project.json b/projects/FindNearby/sfdx-project.json new file mode 100644 index 0000000..43cdeb8 --- /dev/null +++ b/projects/FindNearby/sfdx-project.json @@ -0,0 +1,12 @@ +{ + "packageDirectories": [ + { + "path": "force-app", + "default": true + } + ], + "name": "FindNearby", + "namespace": "", + "sfdcLoginUrl": "https://login.salesforce.com/", + "sourceApiVersion": "59.0" +} diff --git a/HelloWorld/.eslintignore b/projects/FollowUpAppointment/.eslintignore similarity index 100% rename from HelloWorld/.eslintignore rename to projects/FollowUpAppointment/.eslintignore diff --git a/projects/FollowUpAppointment/.prettierignore b/projects/FollowUpAppointment/.prettierignore new file mode 100755 index 0000000..26253eb --- /dev/null +++ b/projects/FollowUpAppointment/.prettierignore @@ -0,0 +1,12 @@ +# List files or directories below to ignore them when running prettier +# More information: https://prettier.io/docs/en/ignore.html +# + +**/staticresources/** +.localdevserver +.sfdx +.vscode + +coverage/ + +**/*.js-meta.xml \ No newline at end of file diff --git a/projects/FollowUpAppointment/.prettierrc b/projects/FollowUpAppointment/.prettierrc new file mode 100755 index 0000000..03da7ba --- /dev/null +++ b/projects/FollowUpAppointment/.prettierrc @@ -0,0 +1,14 @@ +{ + "trailingComma": "none", + "plugins": ["@prettier/plugin-xml", "prettier-plugin-apex"], + "overrides": [ + { + "files": "**/lwc/**/*.html", + "options": { "parser": "lwc" } + }, + { + "files": "*.{cmp,page,component}", + "options": { "parser": "html" } + } + ] +} diff --git a/projects/FollowUpAppointment/README.md b/projects/FollowUpAppointment/README.md new file mode 100644 index 0000000..39f49a3 --- /dev/null +++ b/projects/FollowUpAppointment/README.md @@ -0,0 +1,47 @@ +## Set Up the Follow-Up Appointment Lightning Web Component (LWC) + +Let your mobile workers create and schedule follow-up appointments for customers directly from the mobile app, without contacting customer services. + +Note: Follow-Up Appointment LWC is an open-source component and is not supported by Salesforce Support. + +1. To install the package, click + https://login.salesforce.com/packaging/installPackage.apexp?p0=04t1Q0000012BwaQAE. +2. Enable access to LWCs. See [Define a Permission Set for Your Org](https://developer.salesforce.com/docs/atlas.en-us.mobile_offline.meta/mobile_offline/quickstart_lwc_action_org_setup.htm#quickstart_lwc_action_org_setup_create_permset). +3. Enable the permission sets. + 1. From Setup, in the Quick Find box, enter Users, and then select **Users**. + 2. Select the required user. + 3. Under Permission Set Assignments, click **Edit Assignments**. + 4. Enable these permission sets: + - Field Service Agent License + - Field Service Agent Permissions + - Field Service Mobile License + - Field Service Resource License + - Field Service Resource Permissions + - Field Service Follow-Up Appointment Permissions +4. Grant access to Apex classes. + 1. From Setup, in the Quick Find box, enter `Custom Code`, and then select **Apex Classes**. + 2. For FollowUpAppointmentController, click **Security**. + 3. Add the relevant profiles to the Enabled Profiles list. +5. From the App Launcher, find and select **Follow-Up Appointment Settings**. +6. Configure the LWC. + + 1. In the Settings tab, determine which appointment slots the mobile worker sees and determine who the work can be assigned to and what kind of work they can create. + If you choose to let mobile workers create the service appointment, only a service appointment is created. If you choose to let mobile workers create work orders or work order line items, a service appointment is created automatically. A service appointment is created regardless of the Auto-Create Service Appointment setting for the work type. + + *Tip:* To control whether the service appointment can be assigned only to the mobile worker in the app, make sure that your scheduling policy includes the **Field Service - Required Resources work rule**. + + 2. In the Mobile Workflow tab, configure up to four steps. + - To add the address, use the fields that compose the address, such as City and Street. + - Lookup fields appear as read-only fields for the mobile user. + +7. Add the component to the Work Order record page to troubleshoot the setup. + 1. From a Work Order record page in Field Service, click the settings icon and select Edit Page. + 2. In Lightning App Builder, drag the Follow-Up Appointment component onto the layout. + 3. Save your changes. + 4. Log in to the org with a user that is a Service Resource (mobile worker) and check the process end to end. + 5. If you encounter an issue with the component, click F12 to check the console logs. +8. Connect the LWC to a quick action on the Work Order, or Work Order Line Item object. See [Create Quick Actions for the Field Service Mobile App](https://help.salesforce.com/s/articleView?id=sf.mfs_quick_actions.htm&type=5). + 1. For Action Type, select **Lightning Web Components**. + 2. For Lightning Web Component, select **c:followUpAppointmentMain**. +9. Add the quick action to the required layout. +10. Log in to the Field Service mobile app as a mobile user and open the LWC to verify that everything works as expected on a mobile device. diff --git a/projects/FollowUpAppointment/config/project-scratch-def.json b/projects/FollowUpAppointment/config/project-scratch-def.json new file mode 100644 index 0000000..f04b851 --- /dev/null +++ b/projects/FollowUpAppointment/config/project-scratch-def.json @@ -0,0 +1,34 @@ +{ + "orgName": "Demo company", + "namespace": "", + "template": "trialforce", + "features": [ + "EnableSetPasswordInApi", + "FieldService:10", + "FieldServiceAppointmentAssistantUser:10", + "EnableSetPasswordInApi", + "Communities" + ], + + "settings": { + "communitiesSettings": { + "enableNetworksEnabled": true, + "enableCommunityWorkspaces": true + }, + "lightningExperienceSettings": { + "enableS1DesktopEnabled": true + }, + "fieldServiceSettings": { + "fieldServiceOrgPref": true, + "optimizationServiceAccess": true + }, + "mobileSettings": { + "enableS1EncryptedStoragePref2": false + }, + "languageSettings": { + "enableTranslationWorkbench": true, + "enableEndUserLanguages": true, + "enablePlatformLanguages": true + } + } +} diff --git a/FollowUpAppointment/force-app/main/default/Assets/SFS_FollowupAppointmentPerm.permissionset-meta.xml b/projects/FollowUpAppointment/force-app/main/default/Assets/SFS_FollowupAppointmentPerm.permissionset-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/Assets/SFS_FollowupAppointmentPerm.permissionset-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/Assets/SFS_FollowupAppointmentPerm.permissionset-meta.xml diff --git a/projects/FollowUpAppointment/force-app/main/default/classes/FollowUpAppointmentController.cls b/projects/FollowUpAppointment/force-app/main/default/classes/FollowUpAppointmentController.cls new file mode 100644 index 0000000..a7fc04d --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/classes/FollowUpAppointmentController.cls @@ -0,0 +1,2563 @@ +public without sharing class FollowUpAppointmentController { + public FollowUpAppointmentController() { + } + private static final String UNAUTH_MSG = 'User is not allowed to perform this operation.'; + + @AuraEnabled + public static Decimal getWorkTypeOffset(String workTypeName) { + workTypeName = sanitizeFieldValues(workTypeName); + try { + WorkType wt = [ + SELECT FSL__Due_Date_Offset__c + FROM WorkType + WHERE Name = :workTypeName + ][0]; + System.debug('workType ' + wt); + return wt.FSL__Due_Date_Offset__c; + } catch (Exception e) { + return -1; + } + } + + @AuraEnabled + public static Map getServiceAppointment( + String serviceAppointmentId + ) { + serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); + Map serviceAppointmentInfo = new Map(); + + try { + ServiceAppointment sa = [ + SELECT + Id, + Contact.FirstName, + Contact.LastName, + Contact.Phone, + Status, + Address, + WorkType.Name, + Subject, + EarliestStartTime, + ArrivalWindowStartTime, + ArrivalWindowEndTime, + SchedStartTime, + SchedEndTime, + DueDate, + Description, + AppointmentNumber, + ServiceTerritoryId + FROM ServiceAppointment + WHERE ID = :serviceAppointmentId + ][0]; + + if (sa.ServiceTerritoryId != null) { + ServiceTerritory st = [ + SELECT OperatingHoursId + FROM ServiceTerritory + WHERE ID = :sa.ServiceTerritoryId + ][0]; + OperatingHours oh = [ + SELECT TimeZone + FROM OperatingHours + WHERE ID = :st.OperatingHoursID + ][0]; + serviceAppointmentInfo.put('ServiceTerritoryTimeZone', oh.TimeZone); + } + + Address addr = sa.Address; + String customerAddress = ''; + if (addr != null) { + if (addr.Street != null) + customerAddress = customerAddress + addr.Street + ' '; + if (addr.City != null) + customerAddress = customerAddress + addr.City + ' '; + if (addr.State != null) + customerAddress = customerAddress + addr.State + ' '; + if (addr.PostalCode != null) + customerAddress = customerAddress + addr.PostalCode + ' '; + if (addr.Country != null) + customerAddress = customerAddress + addr.Country + ' '; + } + + serviceAppointmentInfo.put('serviceAppointmentId', serviceAppointmentId); + serviceAppointmentInfo.put('CustomerFirstName', sa.Contact.FirstName); + serviceAppointmentInfo.put('CustomerLastName', sa.Contact.LastName); + serviceAppointmentInfo.put('CustomerPhone', sa.Contact.Phone); + serviceAppointmentInfo.put('ServiceAppointmentStatus', sa.Status); + serviceAppointmentInfo.put('CustomerAddress', customerAddress); + serviceAppointmentInfo.put('WorkTypeName', sa.WorkType.Name); + serviceAppointmentInfo.put('ServiceAppointmentSubject', sa.Subject); + serviceAppointmentInfo.put( + 'EarliestStartTime', + '' + sa.EarliestStartTime + ); + serviceAppointmentInfo.put( + 'ArrivalWindowStartTime', + '' + sa.ArrivalWindowStartTime + ); + serviceAppointmentInfo.put( + 'ArrivalWindowEndTime', + '' + sa.ArrivalWindowEndTime + ); + serviceAppointmentInfo.put('SchedStartTime', '' + sa.SchedStartTime); + serviceAppointmentInfo.put('SchedEndTime', '' + sa.SchedEndTime); + serviceAppointmentInfo.put('DueDate', '' + sa.DueDate); + serviceAppointmentInfo.put( + 'ServiceAppointmentDescription', + sa.Description + ); + serviceAppointmentInfo.put('AppointmentNumber', sa.AppointmentNumber); + } catch (Exception e) { + serviceAppointmentInfo.put( + 'error', + 'SA not found: ' + e.getMessage() + ', ' + e.getLineNumber() + ); + } + + try { + AssignedResource ar = [ + SELECT Id, ServiceResourceId + FROM AssignedResource + WHERE ServiceAppointmentId = :serviceAppointmentId + ][0]; + + ServiceResource sr = [ + SELECT Id, Name + FROM ServiceResource + WHERE Id = :ar.ServiceResourceId + ][0]; + serviceAppointmentInfo.put('ServiceResourceName', sr.Name); + } catch (Exception e) { + serviceAppointmentInfo.put( + 'error', + 'ServiceResource or AssignedResource not found: ' + + e.getMessage() + + ', ' + + e.getLineNumber() + ); + } + + return serviceAppointmentInfo; + } + + @AuraEnabled + public static Map getSlots( + String serviceAppointmentId, + Id operatingHoursId, + Id schedulingPolicyId, + Boolean arrivalWindowFlag, + String localetimezone + ) { + serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); + localetimezone = sanitizeFieldValues(localetimezone); + + Map slotsList = new Map(); + + try { + if (serviceAppointmentId != null) { + ServiceAppointment sa = [ + SELECT Id, ServiceTerritoryId + FROM ServiceAppointment + WHERE ID = :serviceAppointmentId + ][0]; + Timezone timeZone = Timezone.getTimeZone(localetimezone); + if (timeZone == null) { + timeZone = UserInfo.getTimeZone(); + } + slotsList.put('timeZone', +timeZone.getId()); + + if (sa.ServiceTerritoryId != null) { + ServiceTerritory st = [ + SELECT OperatingHoursId + FROM ServiceTerritory + WHERE ID = :sa.ServiceTerritoryId + ][0]; + OperatingHours oh = [ + SELECT TimeZone + FROM OperatingHours + WHERE ID = :st.OperatingHoursID + ][0]; + timeZone = System.Timezone.getTimeZone(oh.TimeZone); + slotsList.put('timeZone', +timeZone.getId()); + } + + List timeSlots = FSL.AppointmentBookingService.GetSlots( + serviceAppointmentId, + schedulingPolicyId, + operatingHoursId, + timeZone, + arrivalWindowFlag + ); + + slotsList.put('list', timeSlots); + List timeSlotRange = new List(); + + for (integer i = 0; i < timeSlots.size(); i++) { + timeSlotRange.add( + timeSlots[i].Interval.Start + + '#' + + timeSlots[i].Interval.Finish + + '#' + + (timeSlots[i].Grade).longValue() + ); + } + slotsList.put('timeSlotList', timeSlotRange); + } else { + slotsList.put('error', 'Invalid SA ID or token expired'); + } + return slotsList; + } catch (Exception e) { + slotsList.put('error', '' + e.getMessage()); + return slotsList; + } + } + + @AuraEnabled + public static Map getSlotsByAssignmentMethod( + String serviceAppointmentId, + Id operatingHoursId, + Id schedulingPolicyId, + Boolean arrivalWindowFlag, + String localetimezone + ) { + serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); + localetimezone = sanitizeFieldValues(localetimezone); + try { + return getSlots( + serviceAppointmentId, + operatingHoursId, + schedulingPolicyId, + arrivalWindowFlag, + localetimezone + ); + } catch (Exception e) { + throw new AuraHandledException( + 'Error in getSlotsByAssignmentMethod:::' + e.getMessage() + ); + } + } + + @AuraEnabled + public static Map scheduleSA( + String serviceAppointmentId, + String schedulingPolicyId + ) { + serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); + schedulingPolicyId = sanitizeFieldValues(schedulingPolicyId); + Map updateStatusArray = new Map(); + + try { + FSL.ScheduleResult myResult = new FSL.ScheduleResult(); + + if (!Test.isRunningTest()) { + // avoid unit test to cover schedule SA + myResult = FSL.ScheduleService.schedule( + schedulingPolicyId, + serviceAppointmentId + ); + } + updateStatusArray.put('success', '' + myResult); + + return updateStatusArray; + } catch (Exception e) { + throw new AuraHandledException( + 'Error in scheduleSA:::' + e.getMessage() + ' ' + e.getLineNumber() + ); + } + } + + @AuraEnabled + public static Map updateSASlot( + String serviceAppointmentId, + DateTime arrivalWindowStartTime, + DateTime arrivalWindowEndTime + ) { + serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); + Map updateStatusArray = new Map(); + + try { + ServiceAppointment sa = [ + SELECT Id + FROM ServiceAppointment + WHERE ID = :serviceAppointmentId + ][0]; + + if ( + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() + ) { + sa.ArrivalWindowStartTime = arrivalWindowStartTime; + sa.ArrivalWindowEndTime = arrivalWindowEndTime; + } else + updateStatusArray.put( + 'DML', + 'Permission denied to update ArrivalWindowStartTime, ArrivalWindowEndTime' + ); + + if (ServiceAppointment.sObjectType.getDescribe().isUpdateable()) { + update sa; + } else + updateStatusArray.put( + 'DML', + 'Permission denied to update ServiceAppointment' + ); + + updateStatusArray.put('success', 'Appointment Updated'); + } catch (Exception e) { + updateStatusArray.put('error', '' + e); + } + + return updateStatusArray; + } + + @AuraEnabled + public static Map updateServiceAppointmentStatus( + String serviceAppointmentId, + String statusId + ) { + serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); + statusId = sanitizeFieldValues(statusId); + Map updateStatusArray = new Map(); + + try { + ServiceAppointment sa = [ + SELECT Id + FROM ServiceAppointment + WHERE ID = :serviceAppointmentId + ][0]; + + if (Schema.sObjectType.ServiceAppointment.fields.Status.isUpdateable()) { + sa.Status = statusId; + } else + updateStatusArray.put('DML', 'Permission denied to update Status'); + + if (ServiceAppointment.sObjectType.getDescribe().isUpdateable()) { + update sa; + } else + updateStatusArray.put( + 'DML', + 'Permission denied to update ServiceAppointment' + ); + + updateStatusArray.put('success', 'Appointment Updated'); + } catch (Exception e) { + updateStatusArray.put('error', '' + e.getMessage()); + } + + return updateStatusArray; + } + + @AuraEnabled + public static Map updateSA( + String serviceAppointmentId, + DateTime earliestStartDate, + DateTime arrivalStartDate, + DateTime arrivalEndDate + ) { + serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); + Map newSaArray = new Map(); + + try { + if (serviceAppointmentId != null) { + ServiceAppointment sa = [ + SELECT Id, EarliestStartTime + FROM ServiceAppointment + WHERE ID = :serviceAppointmentId + ][0]; + if (sa != null) { + if ( + Schema.sObjectType.ServiceAppointment.fields.EarliestStartTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() + ) { + sa.EarliestStartTime = earliestStartDate; + sa.ArrivalWindowEndTime = arrivalEndDate; + sa.ArrivalWindowStartTime = arrivalStartDate; + } else + newSaArray.put( + 'DML', + 'Permission denied to update EarliestStartTime, ArrivalWindowEndTime, ArrivalWindowStartTime' + ); + + if (ServiceAppointment.sObjectType.getDescribe().isUpdateable()) { + update sa; + } else + newSaArray.put( + 'DML', + 'Permission denied to update ServiceAppointment' + ); + + newSaArray.put('success', 'service appointment updated'); + } else { + newSaArray.put('error', 'Unable to find service appointment'); + } + } else { + newSaArray.put('error', 'No service appointment found'); + } + } catch (Exception e) { + newSaArray.put('error', '' + e.getMessage()); + return newSaArray; + } + return newSaArray; + } + + @AuraEnabled + public static String deleteExistingRequiredResources(String workOrderId) { + workOrderId = sanitizeFieldValues(workOrderId); + String response; + try { + List requiredResourcePreferenceList = [ + SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId + FROM ResourcePreference + WHERE RelatedRecordId = :workOrderId AND PreferenceType = :'Required' + ]; + if (!requiredResourcePreferenceList.isEmpty()) { + delete requiredResourcePreferenceList; + } + response = 'success'; + } catch (Exception e) { + response = '**ERROR** ' + e.getMessage(); + throw new AuraHandledException( + 'Error in deleteExistingRequiredResources:::' + e.getMessage() + ); + } + return response; + } + + @AuraEnabled + public static String deleteExistingResourcePreferencesForResource( + String workOrderId, + String serviceResourceId + ) { + workOrderId = sanitizeFieldValues(workOrderId); + serviceResourceId = sanitizeFieldValues(serviceResourceId); + String response; + try { + List resourcePreferenceList = [ + SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId + FROM ResourcePreference + WHERE + RelatedRecordId = :workOrderId + AND ServiceResourceId = :serviceResourceId + ]; + if (!resourcePreferenceList.isEmpty()) { + delete resourcePreferenceList; + } + response = 'success'; + } catch (Exception e) { + response = '**ERROR** ' + e.getMessage(); + throw new AuraHandledException( + 'Error in deleteExistingResourcePreferencesForResource:::' + + e.getMessage() + ); + } + return response; + } + + @AuraEnabled + public static String addNewRequiredResource( + String workOrderId, + String serviceResourceId + ) { + workOrderId = sanitizeFieldValues(workOrderId); + serviceResourceId = sanitizeFieldValues(serviceResourceId); + String response; + try { + List existingResourcePreference = [ + SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId + FROM ResourcePreference + WHERE + RelatedRecordId = :workOrderId + AND ServiceResourceId = :serviceResourceId + ]; + + if ( + existingResourcePreference == null || + existingResourcePreference.IsEmpty() + ) { + ResourcePreference techReq = new ResourcePreference( + PreferenceType = 'Required', + RelatedRecordId = workOrderId, + ServiceResourceId = serviceResourceId + ); + insert techReq; + response = 'success'; + } else if (existingResourcePreference[0].PreferenceType != 'Required') { + existingResourcePreference[0].PreferenceType = 'Required'; + update existingResourcePreference; + response = 'success'; + } + } catch (Exception e) { + response = '**ERROR** ' + e.getMessage(); + throw new AuraHandledException( + 'Error in addNewRequiredResource resource ' + + serviceResourceId + + ' : ' + + e.getMessage() + ); + } + return response; + } + + @AuraEnabled + public static Map assignCurrentUserAsRequiredResource( + String serviceAppointmentId, + String currentAssignmentMethod + ) { + serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); + currentAssignmentMethod = sanitizeFieldValues(currentAssignmentMethod); + try { + Map resultArray = new Map(); + String serviceResourceId = [ + SELECT Id + FROM ServiceResource + WHERE RelatedRecordId = :Userinfo.getUserId() + ][0] + ?.Id; + String workOrderId = [ + SELECT Id, ParentRecordId + FROM ServiceAppointment + WHERE Id = :serviceAppointmentId + ][0] + ?.ParentRecordId; + + if (workOrderId != null && serviceResourceId != null) { + if (ServiceResource.sObjectType.getDescribe().isUpdateable()) { + resultArray.put( + 'deleteExistingRequiredResources: ', + deleteExistingRequiredResources(workOrderId) + ); + } else + resultArray.put('DML', 'Permission denied to delete ServiceResource'); + if (ServiceResource.sObjectType.getDescribe().isUpdateable()) { + resultArray.put( + 'deleteExistingResourcePreferencesForResource: ', + deleteExistingResourcePreferencesForResource( + workOrderId, + serviceResourceId + ) + ); + } else + resultArray.put('DML', 'Permission denied to delete ServiceResource'); + if (currentAssignmentMethod == 'assignToMe') { + if (ServiceResource.sObjectType.getDescribe().isCreateable()) { + if (ServiceResource.sObjectType.getDescribe().isUpdateable()) { + resultArray.put( + 'addNewRequiredResource: ', + addNewRequiredResource(workOrderId, serviceResourceId) + ); + List resourcePreferenceList = [ + SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId + FROM ResourcePreference + WHERE + RelatedRecordId = :workOrderId + AND PreferenceType = :'Required' + ]; + if ( + resourcePreferenceList != null && + resourcePreferenceList.size() == 1 + ) { + resultArray.put('success', serviceResourceId); + } else { + resultArray.put('error', serviceResourceId); + } + } else + resultArray.put( + 'DML', + 'Permission denied to update ServiceResource' + ); + } else + resultArray.put( + 'DML', + 'Permission denied to create ServiceResource' + ); + } + } else { + resultArray.put('error', serviceResourceId); + } + + return resultArray; + } catch (Exception e) { + throw new AuraHandledException( + 'Error in assignCurrentUserAsRequiredResource:::' + e.getMessage() + ); + } + } + + @AuraEnabled + public static Map isUserExcludedResource( + String serviceAppointmentId + ) { + serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); + Map results = new Map(); + + try { + String serviceResourceId = [ + SELECT Id + FROM ServiceResource + WHERE RelatedRecordId = :Userinfo.getUserId() + ][0] + ?.Id; + String workOrderId = [ + SELECT Id, ParentRecordId + FROM ServiceAppointment + WHERE Id = :serviceAppointmentId + ][0] + ?.ParentRecordId; + results.put('serviceResourceId', serviceResourceId != null); + results.put('workOrderId', workOrderId != null); + + if (serviceResourceId != null && workOrderId != null) { + List resourcePreference = [ + SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId + FROM ResourcePreference + WHERE + ServiceResourceId = :serviceResourceId + AND RelatedRecordId = :workOrderId + ]; + if (!resourcePreference.isEmpty()) { + resourcePreference tech = resourcePreference[0]; + if ( + (String) tech.get('PreferenceType') != null && + (String) tech.get('PreferenceType') == 'Excluded' + ) { + results.put('success', true); + } else { + results.put('success', false); + } + } + } else { + results.put('error', false); + } + } catch (Exception e) { + results.put('error ' + e.getMessage() + ', ' + e.getLineNumber(), false); + throw new AuraHandledException( + 'Error in isUserExcludedResource:::' + + e.getMessage() + + ', ' + + e.getLineNumber() + ); + } + + return results; + } + + @AuraEnabled + public static Map cloneWorkOrder( + String originalSaId, + DateTime startPermitDate, + DateTime maxValidCalendarDate, + String dummySA, + String dummyWO + ) { + originalSaId = sanitizeFieldValues(originalSaId); + dummySA = sanitizeFieldValues(dummySA); + dummyWO = sanitizeFieldValues(dummyWO); + Map results = new Map(); + + try { + ServiceAppointment originalSa = [ + SELECT + Id, + WorkTypeId, + EarliestStartTime, + ArrivalWindowStartTime, + ArrivalWindowEndTime, + SchedStartTime, + SchedEndTime, + DueDate, + ServiceTerritoryId, + Address, + ParentRecordId + FROM ServiceAppointment + WHERE ID = :originalSaId + ][0]; + + DateTime dueDate = originalSa.DueDate; + if (dummySA != null) { + //update existing startdate and due date + updateDummySa( + dummySA, + startPermitDate, + maxValidCalendarDate, + originalSa.ServiceTerritoryId + ); + results.put('dummyServiceAppointmentId', dummySA); + results.put('dummyWorkOrderId', dummyWO); + } else { + String originalWOId = originalSa.ParentRecordId; + + Address address = originalSa.Address; + + String newWOId = createNewDummyWorkOrder( + originalSa.ServiceTerritoryId, + originalSa.WorkTypeId, + originalWOId + ); + + if (String.isNotEmpty(newWOId)) { + List saList = [ + SELECT Id + FROM ServiceAppointment + WHERE ParentRecordId = :newWOId + ]; + if (saList.size() == 0) { + ServiceAppointment sa = new ServiceAppointment(); + if ( + Schema.sObjectType.ServiceAppointment.fields.DueDate.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.EarliestStartTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.ServiceTerritoryId.isUpdateable() + ) { + sa.ParentRecordId = newWOId; + sa.DueDate = dueDate; + sa.EarliestStartTime = startPermitDate; + sa.ServiceTerritoryId = originalSa.ServiceTerritoryId; + } else + results.put( + 'DML', + 'Permission denied to update DueDate, EarliestStartTime, ServiceTerritoryId' + ); + if (ServiceAppointment.sObjectType.getDescribe().isCreateable()) { + insert sa; + results.put('dummyServiceAppointmentId', sa.Id); + results.put('dummyWorkOrderId', newWOId); + } else + results.put( + 'DML', + 'Permission denied to create ServiceAppointment' + ); + } else { + ServiceAppointment sa = saList[0]; + updateDummySa( + sa.Id, + startPermitDate, + maxValidCalendarDate, + originalSa.ServiceTerritoryId + ); + results.put('dummyServiceAppointmentId', sa.Id); + results.put('dummyWorkOrderId', newWOId); + } + //Clone resource preference list + String workOrderId = [ + SELECT Id, ParentRecordId + FROM ServiceAppointment + WHERE Id = :originalSAId + ][0] + ?.ParentRecordId; + + // cloneResourcePreference(workOrderId, newWOId); + } + } + + return results; + } catch (Exception e) { + results.put( + 'error', + 'Error in clone work order:::' + e.getMessage() + e.getLineNumber() + ); + return results; + } + } + + @AuraEnabled + public static string deleteClonedResourcePreference( + String clonedEorkOrderId + ) { + clonedEorkOrderId = sanitizeFieldValues(clonedEorkOrderId); + try { + List resourcePreferenceList = [ + SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId + FROM ResourcePreference + WHERE RelatedRecordId = :clonedEorkOrderId + ]; + + if (!resourcePreferenceList.isEmpty()) { + if (ServiceResource.sObjectType.getDescribe().isUpdateable()) { + delete resourcePreferenceList; + } else + return ('error: Permission denied to update ServiceResource'); + } + + return clonedEorkOrderId; + } catch (Exception e) { + throw new AuraHandledException(e.getMessage()); + } + } + + @AuraEnabled + public static string deleteClonedWorkOrder(String clonedEorkOrderId) { + clonedEorkOrderId = sanitizeFieldValues(clonedEorkOrderId); + try { + WorkOrder wo = [ + SELECT Id + FROM WorkOrder + WHERE Id = :clonedEorkOrderId + ][0]; + + if (wo != null) { + if (WorkOrder.sObjectType.getDescribe().isDeletable()) { + delete wo; + } else + return 'error: Permission denied to delete WorkOrder - deleteClonedWorkOrder'; + + return wo.Id; + } else { + return ''; + } + } catch (Exception e) { + throw new AuraHandledException(e.getMessage()); + } + } + + // @AuraEnabled + // public static string cloneResourcePreference(String workOrderId, String newWOId){ + // try { + + // List resourcePreferenceList = [SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId FROM ResourcePreference WHERE RelatedRecordId =: workOrderId]; + + // if(!resourcePreferenceList.isEmpty()){ + // //copy list + // if(ServiceResourcePreference.sObjectType.getDescribe().isCreateable()) { + // for (ResourcePreference tech : resourcePreferenceList){ + // copyResourcePreferenceObject(tech, newWOId); + // } + // } else return 'Error: Permission denied to create ServiceResourcePreference'; + // } + + // return newWOId; + // } catch (Exception e) { + // throw new AuraHandledException(e.getMessage()); + // } + // } + + @AuraEnabled + public static void copyResourcePreferenceObject( + ResourcePreference originalRFObj, + String newWO + ) { + newWO = sanitizeFieldValues(newWO); + try { + ResourcePreference RFCopy = new ResourcePreference( + PreferenceType = originalRFObj.PreferenceType, + RelatedRecordId = newWO, + ServiceResourceId = originalRFObj.serviceResourceId + ); + if (!Test.isRunningTest()) { + insert RFCopy; + } + } catch (Exception e) { + throw new AuraHandledException( + 'Error in copyResourcePreferenceObject::: ' + + newWO + + ' ' + + originalRFObj.serviceResourceId + + e.getMessage() + ); + } + } + + @AuraEnabled + public static Map deleteClonedAppointmentData( + String clonedServiceAppointmentId + ) { + clonedServiceAppointmentId = sanitizeFieldValues( + clonedServiceAppointmentId + ); + Map result = new Map(); + try { + ServiceAppointment sa = [ + SELECT Id, ParentRecordId + FROM ServiceAppointment + WHERE Id = :clonedServiceAppointmentId + ][0]; + + if (sa != null) { + String woid = sa.ParentRecordId; + WorkOrder wo = [SELECT Id FROM WorkOrder WHERE Id = :woid][0]; + if (ServiceAppointment.sObjectType.getDescribe().isDeletable()) { + delete sa; + } else + result.put( + 'error1', + 'Permission denied to delete ServiceAppointment - deleteClonedAppointmentData' + ); + + if (wo != null && String.isNotEmpty(woid)) { + //delete after + List resourcePreferenceList = [ + SELECT Id, PreferenceType, RelatedRecordId, ServiceResourceId + FROM ResourcePreference + WHERE RelatedRecordId = :woid + ]; + if (resourcePreferenceList != null) { + if (ServiceResource.sObjectType.getDescribe().isUpdateable()) { + delete resourcePreferenceList; + } else + result.put( + 'error2', + 'Permission denied to update ServiceResource - deleteClonedAppointmentData' + ); + } + if (WorkOrder.sObjectType.getDescribe().isDeletable()) { + delete wo; + } else + result.put( + 'error3', + 'Permission denied to delete WorkOrder - deleteClonedAppointmentData' + ); + result.put('success', 'Sa: ' + sa.id + ' WO: ' + woid); + } + } + + return result; + } catch (Exception e) { + result.put('error', e.getMessage()); + return result; + } + } + + @AuraEnabled + public static Map updateDummySa( + String dummySA, + DateTime startPermitDate, + DateTime maxValidCalendarDate, + String serviceTerritoryId + ) { + dummySA = sanitizeFieldValues(dummySA); + serviceTerritoryId = sanitizeFieldValues(serviceTerritoryId); + try { + Map results = new Map(); + + ServiceAppointment sa = [ + SELECT Id, ServiceTerritoryId + FROM ServiceAppointment + WHERE Id = :dummySA + ][0]; + if (sa != null) { + if ( + Schema.sObjectType.ServiceAppointment.fields.EarliestStartTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.DueDate.isUpdateable() + ) { + sa.EarliestStartTime = startPermitDate; + sa.DueDate = maxValidCalendarDate; + } else + results.put( + 'DML', + 'Permission denied to update EarliestStartTime, DueDate' + ); + + if (String.isNotEmpty(serviceTerritoryId)) { + if ( + Schema.sObjectType.ServiceAppointment.fields.ServiceTerritoryId.isUpdateable() + ) { + sa.ServiceTerritoryId = serviceTerritoryId; + } else + results.put( + 'DML', + 'Permission denied to update ServiceTerritoryId' + ); + } + + if (ServiceAppointment.sObjectType.getDescribe().isUpdateable()) { + update sa; + } else + results.put('DML', 'Permission denied to update ServiceAppointment'); + + results.put('said', sa.Id); + } else { + results.put('error', 'Could not find dummySa'); + } + + return results; + } catch (Exception e) { + Map results = new Map(); + results.put('error', e.getMessage() + e.getLineNumber()); + return results; + } + } + + @AuraEnabled + public static string createNewDummyWorkOrder( + String serviceTerritoryId, + String workTypeId, + String originalWOId + ) { + serviceTerritoryId = sanitizeFieldValues(serviceTerritoryId); + workTypeId = sanitizeFieldValues(workTypeId); + originalWOId = sanitizeFieldValues(originalWOId); + try { + String result = ''; + WorkOrder newWO = new WorkOrder(); + if (String.isNotEmpty(workTypeId)) { + if (Schema.sObjectType.WorkOrder.fields.WorkTypeId.isUpdateable()) { + newWO.WorkTypeId = workTypeId; + } else + return 'error: Permission denied to update WorkTypeId'; + } + + Address originalAddress; + try { + originalAddress = [ + SELECT Address + FROM WorkOrder + WHERE Id = :originalWOId + ][0] + ?.Address; + } catch (Exception e) { + originalAddress = [ + SELECT Address + FROM WorkOrderLineItem + WHERE Id = :originalWOId + ][0] + ?.Address; + } + + if (String.IsEmpty(ServiceTerritoryId) && originalAddress != null) { + if ( + originalAddress.Latitude != null && + originalAddress.Longitude != null + ) { + if ( + Schema.sObjectType.WorkOrder.fields.Longitude.isUpdateable() && + Schema.sObjectType.WorkOrder.fields.Latitude.isUpdateable() + ) { + newWO.Longitude = originalAddress.Longitude; + newWO.Latitude = originalAddress.Latitude; + } else + return 'error: Permission denied to update Longitude, Latitude'; + } else { + if ( + Schema.sObjectType.WorkOrder.fields.Street.isUpdateable() && + Schema.sObjectType.WorkOrder.fields.City.isUpdateable() && + Schema.sObjectType.WorkOrder.fields.State.isUpdateable() && + Schema.sObjectType.WorkOrder.fields.Country.isUpdateable() && + Schema.sObjectType.WorkOrder.fields.PostalCode.isUpdateable() + ) { + newWO.Street = originalAddress.Street; + newWO.City = originalAddress.City; + newWO.State = originalAddress.State; + newWO.Country = originalAddress.Country; + newWO.PostalCode = originalAddress.PostalCode; + } else + return 'error: Permission denied to update Street, City, State, Country, PostalCode'; + } + } + + if (WorkOrder.sObjectType.getDescribe().isCreateable()) { + insert newWo; + } else + return 'Error: Permission denied to create WorkOrder'; + + result = newWO.Id; + return result; + } catch (Exception e) { + throw new AuraHandledException( + 'Error in create new Dummy Work Order' + e.getMessage() + ); + } + } + + @AuraEnabled(cacheable=true) + public static String getUserName() { + ServiceResource sr = [ + SELECT RelatedRecordId, Name + FROM ServiceResource + WHERE RelatedRecordId = :Userinfo.getUserId() + ][0]; + + return sr.Name; + } + + @AuraEnabled + public static Map convertTimeToOtherTimeZone( + DateTime date1, + DateTime date2, + string sourceTimezone, + string targetTimezone + ) { + sourceTimezone = sanitizeFieldValues(sourceTimezone); + targetTimezone = sanitizeFieldValues(targetTimezone); + + Map detailArray = new Map(); + // Source Timezone + TimeZone tz = Timezone.getTimeZone(sourceTimezone); + + Integer offset = tz.getOffset(date1); + + Integer offset2 = tz.getOffset(date2); + + // target Timezone. + TimeZone targetTZ = Timezone.getTimeZone(targetTimezone); + + // Date 1 + integer offsetTotargetTZ = targetTZ.getOffset(date1); + integer correction1 = offset - offsetTotargetTZ; + + // Date 2 + integer offsetTotargetTZ2 = targetTZ.getOffset(date2); + integer correction2 = offset2 - offsetTotargetTZ2; + + detailArray.put('date1', date1.addMinutes(correction1 / (1000 * 60))); + detailArray.put('date2', date2.addMinutes(correction2 / (1000 * 60))); + + return detailArray; + } + + @AuraEnabled + public static Map getUpdatedSASchedulingInfo( + String serviceAppointmentId + ) { + serviceAppointmentId = sanitizeFieldValues(serviceAppointmentId); + Map serviceAppointmentInfo = new Map(); + + try { + ServiceAppointment sa = [ + SELECT + Id, + EarliestStartTime, + ArrivalWindowStartTime, + ArrivalWindowEndTime, + SchedStartTime, + SchedEndTime, + DueDate + FROM ServiceAppointment + WHERE ID = :serviceAppointmentId + ][0]; + + serviceAppointmentInfo.put( + 'EarliestStartTime', + '' + sa.EarliestStartTime + ); + serviceAppointmentInfo.put( + 'ArrivalWindowStartTime', + '' + sa.ArrivalWindowStartTime + ); + serviceAppointmentInfo.put( + 'ArrivalWindowEndTime', + '' + sa.ArrivalWindowEndTime + ); + serviceAppointmentInfo.put('SchedStartTime', '' + sa.SchedStartTime); + serviceAppointmentInfo.put('SchedEndTime', '' + sa.SchedEndTime); + serviceAppointmentInfo.put('DueDate', '' + sa.DueDate); + } catch (Exception e) { + serviceAppointmentInfo.put('error', '' + e); + } + return serviceAppointmentInfo; + } + + @AuraEnabled(cacheable=true) + public static Id getSchedulingPolicyId(String schedulingPolicyName) { + schedulingPolicyName = sanitizeFieldValues(schedulingPolicyName); + Id schedulingPolicyId = [ + SELECT Id, Name + FROM FSL__Scheduling_Policy__c + WHERE Name = :schedulingPolicyName + LIMIT 1 + ] + .Id; + return schedulingPolicyId; + } + + @AuraEnabled(cacheable=true) + public static Id getOperatingHoursId(String operatingHoursName) { + operatingHoursName = sanitizeFieldValues(operatingHoursName); + Id operatingHoursId = [ + SELECT Id, Name + FROM OperatingHours + WHERE Name = :operatingHoursName + LIMIT 1 + ] + .Id; + return operatingHoursId; + } + + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- + // ---------------- FOLLOWUP APPOINTMENT FEATURE ------------------ + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- + + @AuraEnabled + public static Map getSettingsObject(String recordId) { + recordId = sanitizeFieldValues(recordId); + Map settings = new Map(); + + try { + FollowupAppointmentSettings__c obj = [ + SELECT + ShowExactArrivalTime__c, + Operating_Hours__c, + Scheduling_Policy__c, + Scheduling_Horizon_Value__c, + Fields_To_Show_Page_1__c, + Fields_To_Show_Page_2__c, + Fields_To_Show_Page_3__c, + Record_To_Create__c, + Screen_Title_1__c, + Screen_Title_2__c, + Screen_Title_3__c, + Technician_Assigment__c + FROM FollowupAppointmentSettings__c + ][0]; + + settings.put('showExactArrivalTime', '' + obj.ShowExactArrivalTime__c); + settings.put('operatingHoursId', obj.Operating_Hours__c); + settings.put('schedulingPolicyId', obj.Scheduling_Policy__c); + settings.put( + 'schedulingHorizonValue', + '' + obj.Scheduling_Horizon_Value__c + ); + settings.put('fieldsToShowPage1', '' + obj.Fields_To_Show_Page_1__c); + settings.put('fieldsToShowPage2', '' + obj.Fields_To_Show_Page_2__c); + settings.put('fieldsToShowPage3', '' + obj.Fields_To_Show_Page_3__c); + settings.put('headerCustomPage1', '' + obj.Screen_Title_1__c); + settings.put('headerCustomPage2', '' + obj.Screen_Title_2__c); + settings.put('headerCustomPage3', '' + obj.Screen_Title_3__c); + settings.put('recordToCreate', '' + obj.Record_To_Create__c); + settings.put('workerAssignmentOptions', '' + obj.Technician_Assigment__c); + } catch (Exception e) { + settings.put('error1', '' + e); + } + + try { + WorkOrder wo = [SELECT ContactId FROM WorkOrder WHERE Id = :recordId][0]; + Contact contact = [SELECT Name FROM Contact WHERE Id = :wo.ContactId][0]; + settings.put('contactName', '' + contact.Name); + } catch (Exception e) { + try { + // If parent record is WOLI + WorkOrderLineItem woli = [ + SELECT WorkOrderId + FROM WorkOrderLineItem + WHERE Id = :recordId + ][0]; + WorkOrder wo = [ + SELECT ContactId + FROM WorkOrder + WHERE Id = :woli.WorkOrderId + ][0]; + Contact contact = [ + SELECT Name + FROM Contact + WHERE Id = :wo.ContactId + ][0]; + settings.put('contactName', '' + contact.Name); + } catch (Exception e1) { + System.debug('-- error while getting ContactId from parent record'); + settings.put('contactName', ''); + } + } + + List saList = [ + SELECT Id, ParentRecordId + FROM ServiceAppointment + WHERE ParentRecordId = :recordId + ]; + ServiceAppointment sa; + if (saList.size() > 1) { + try { + // search for the relevant SA + sa = [ + SELECT Id, ParentRecordId + FROM ServiceAppointment + WHERE ParentRecordId = :recordId AND StatusCategory = :'In Progress' + ][0]; + settings.put('serviceAppointmentId', '' + sa.Id); + settings.put('parentRecordId', '' + sa.ParentRecordId); + } catch (Exception e) { + try { + sa = [ + SELECT Id, ParentRecordId + FROM ServiceAppointment + WHERE ParentRecordId = :recordId AND StatusCategory = :'Dispatched' + ][0]; + settings.put('serviceAppointmentId', '' + sa.Id); + settings.put('parentRecordId', '' + sa.ParentRecordId); + } catch (Exception e1) { + try { + sa = [ + SELECT Id, ParentRecordId + FROM ServiceAppointment + WHERE ParentRecordId = :recordId AND StatusCategory = :'Scheduled' + ORDER BY AppointmentNumber DESC NULLS LAST + ][0]; + settings.put('serviceAppointmentId', '' + sa.Id); + settings.put('parentRecordId', '' + sa.ParentRecordId); + } catch (Exception e2) { + settings.put( + 'error2', + 'No Active Service Appointment found (StatusCategory = In Progress, Dispatched) AND no Service Appointment with StatusCategory = Dispatched: ' + + e2 + ); + } + } + } + } else { + settings.put('serviceAppointmentId', '' + saList[0].Id); + settings.put('parentRecordId', '' + saList[0].ParentRecordId); + } + + return settings; + } + + // ---------------------------------------------------------------- + // ------------------------ CREATE RECORD ------------------------- + // ---------------------------------------------------------------- + + public static Object formatDataBaseOnValue( + String fieldDataType, + String fieldValue + ) { + fieldDataType = sanitizeFieldValues(fieldDataType); + fieldValue = sanitizeFieldValues(fieldValue); + + switch on fieldDataType { + when 'Double', 'Location' { + System.debug('-> format to Double or Location'); + Decimal value = decimal.valueof(fieldValue); + return value; + } + when 'DateTime' { + System.debug('-> format to DateTime'); + DateTime value = Datetime.valueof(fieldValue.replace('T', ' ')); + return value; + } + when 'Boolean' { + System.debug('-> format to Boolean'); + Boolean value = boolean.valueof(fieldValue); + return value; + } + when 'Address' { + // unsupported types + System.debug('-> Address field is not allowed'); + String value = 'Address field is not allowed'; + return value; + } + when else { + // when string + System.debug('-> format to String'); + String value = fieldValue; + return value; + } + } + } + + @AuraEnabled + public static Map createRecord( + String recordToCreate, + String recordId, + List listOfFields, + DateTime arrivalWindowStartTime, + DateTime arrivalWindowEndTime, + String schedulingHorizonValue + ) { + Map newRecord = new Map(); + try { + recordToCreate = sanitizeFieldValues(recordToCreate); + recordId = sanitizeFieldValues(recordId); + schedulingHorizonValue = sanitizeFieldValues(schedulingHorizonValue); + + switch on recordToCreate { + // ---------------------------------------------------------------- + // ---------------------- CREATE WORK ORDER ----------------------- + // ---------------------------------------------------------------- + when 'WorkOrder' { + System.debug('** creating new WO **'); + WorkOrder newWO = new WorkOrder(); + for (String field : listOfFields) { + List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value + String objectApiName = split[0]; + String fieldApiName = split[1]; + String fieldDataType = split[2]; + String fieldValue = split[3]; + if (objectApiName == 'WorkOrder') { + System.debug('field input: ' + split); + if (fieldValue != 'null') { + newWO.put( + fieldApiName, + formatDataBaseOnValue(fieldDataType, fieldValue) + ); + System.debug('--- value added to record'); + } else { + System.debug('--- disregarding null values'); + } + } + } + if (WorkOrder.sObjectType.getDescribe().isCreateable()) { + insert newWO; + newRecord.put('success', 'Work Order created'); + System.debug('*** Created WorkOrder record: ' + newWO); + } else { + newRecord.put('DML', 'Permission denied to create Work Order'); + } + + try { + ServiceAppointment newSA = [ + SELECT Id, AppointmentNumber + FROM ServiceAppointment + WHERE ParentRecordId = :newWO.Id + ][0]; + if ( + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() + ) { + newSA.ArrivalWindowStartTime = arrivalWindowStartTime; + newSA.ArrivalWindowEndTime = arrivalWindowEndTime; + } else + newRecord.put( + 'DML', + 'Permission denied to update ArrivalWindowEndTime, ArrivalWindowStartTime' + ); + for (String field : listOfFields) { + List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value + String objectApiName = split[0]; + String fieldApiName = split[1]; + String fieldDataType = split[2]; + String fieldValue = split[3]; + if (objectApiName == 'ServiceAppointment') { + System.debug('field input: ' + split); + if (fieldValue != 'null') { + newSA.put( + fieldApiName, + formatDataBaseOnValue(fieldDataType, fieldValue) + ); + System.debug('--- value added to record'); + } else { + System.debug('--- disregarding null values'); + } + } + } + if (ServiceAppointment.sObjectType.getDescribe().isUpdateable()) { + update newSA; + newRecord.put('success', 'Service Appointment Updated'); + System.debug('*** Updated SA record: ' + newSA); + newSA = [ + SELECT Id, AppointmentNumber + FROM ServiceAppointment + WHERE ParentRecordId = :newWO.Id + ][0]; + newRecord.put('SAId', newSA.Id); + newRecord.put('SANumber', newSA.AppointmentNumber); + } else { + newRecord.put( + 'DML', + 'Permission denied to update Service Appointment' + ); + } + } catch (Exception e) { + // if SA not created automatically, create new SA and update its fields + try { + ServiceAppointment newSA = new ServiceAppointment(); + if ( + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() + ) { + newSA.ParentRecordId = newWO.Id; + newSA.ArrivalWindowStartTime = arrivalWindowStartTime; + newSA.ArrivalWindowEndTime = arrivalWindowEndTime; + } else + newRecord.put( + 'DML', + 'Permission denied to update ArrivalWindowStartTime, ArrivalWindowEndTime' + ); + for (String field : listOfFields) { + List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value + String objectApiName = split[0]; + String fieldApiName = split[1]; + String fieldDataType = split[2]; + String fieldValue = split[3]; + if (objectApiName == 'ServiceAppointment') { + System.debug('field input: ' + split); + if (fieldValue != 'null') { + newSA.put( + fieldApiName, + formatDataBaseOnValue(fieldDataType, fieldValue) + ); + System.debug('--- value added to record'); + } else { + System.debug('--- disregarding null values'); + } + } + } + if (newSA.EarliestStartTime == null) { + // Must add ESP and DD values + if ( + Schema.sObjectType.ServiceAppointment.fields.EarliestStartTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.DueDate.isUpdateable() + ) { + newSA.EarliestStartTime = System.now(); + newSA.DueDate = System.now() + .addDays(integer.valueof(schedulingHorizonValue)); + } else + newRecord.put( + 'DML', + 'Permission denied to update EarliestStartTime, DueDate' + ); + } + if (ServiceAppointment.sObjectType.getDescribe().isCreateable()) { + insert newSA; + newRecord.put('success', 'Service Appointment Created'); + System.debug('*** Created SA record: ' + newSA); + newSA = [ + SELECT Id, AppointmentNumber + FROM ServiceAppointment + WHERE ParentRecordId = :newWO.Id + ][0]; + newRecord.put('SAId', newSA.Id); + newRecord.put('SANumber', newSA.AppointmentNumber); + } else { + newRecord.put( + 'DML', + 'Permission denied to create Service Appointment' + ); + } + } catch (Exception e2) { + System.debug('*** error: Service Appointment not created: ' + e2); + newRecord.put( + 'error', + 'error: Service Appointment not created: ' + e2 + ); + } + } + } + // ---------------------------------------------------------------- + // ----------------- CREATE WORK ORDER LINE ITEM ------------------ + // ---------------------------------------------------------------- + + when 'WorkOrderLineItem' { + System.debug('** creating new WOLI **'); + WorkOrderLineItem newWOLI = new WorkOrderLineItem(); + try { + // when initiated via WO + WorkOrder woParent = [ + SELECT Id + FROM WorkOrder + WHERE Id = :recordId + ][0]; + newWOLI.WorkOrderId = recordId; + } catch (Exception e2) { + // when initiated via WOLI + WorkOrderLineItem woliParent = [ + SELECT Id, WorkOrderId + FROM WorkOrderLineItem + WHERE Id = :recordId + ][0]; + newWOLI.WorkOrderId = woliParent.WorkOrderId; + } + for (String field : listOfFields) { + List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value + String objectApiName = split[0]; + String fieldApiName = split[1]; + String fieldDataType = split[2]; + String fieldValue = split[3]; + if (objectApiName == 'WorkOrderLineItem') { + System.debug('field input: ' + split); + if (fieldValue != 'null') { + newWOLI.put( + fieldApiName, + formatDataBaseOnValue(fieldDataType, fieldValue) + ); + System.debug('--- value added to record'); + } else { + System.debug('--- disregarding null values'); + } + } + } + if (WorkOrderLineItem.sObjectType.getDescribe().isCreateable()) { + insert newWOLI; + newRecord.put('success', 'Work Order Line Item created'); + System.debug('*** Created WorkOrderLineItem record: ' + newWOLI); + } else { + newRecord.put( + 'DML', + 'Permission denied to create Work Order Line Item' + ); + } + + try { + ServiceAppointment newSA = [ + SELECT Id, AppointmentNumber + FROM ServiceAppointment + WHERE ParentRecordId = :newWOLI.Id + ][0]; + if ( + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() + ) { + newSA.ArrivalWindowStartTime = arrivalWindowStartTime; + newSA.ArrivalWindowEndTime = arrivalWindowEndTime; + } else + newRecord.put( + 'DML', + 'Permission denied to update ArrivalWindowEndTime, ArrivalWindowStartTime' + ); + for (String field : listOfFields) { + List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value + String objectApiName = split[0]; + String fieldApiName = split[1]; + String fieldDataType = split[2]; + String fieldValue = split[3]; + if (objectApiName == 'ServiceAppointment') { + System.debug('field input: ' + split); + if (fieldValue != 'null') { + newSA.put( + fieldApiName, + formatDataBaseOnValue(fieldDataType, fieldValue) + ); + System.debug('--- value added to record'); + } else { + System.debug('--- disregarding null values'); + } + } + } + if (ServiceAppointment.sObjectType.getDescribe().isUpdateable()) { + update newSA; + newRecord.put('success', 'Service Appointment Updated'); + System.debug('*** Updated SA record: ' + newSA); + newSA = [ + SELECT Id, AppointmentNumber + FROM ServiceAppointment + WHERE ParentRecordId = :newWOLI.Id + ][0]; + newRecord.put('SAId', newSA.Id); + newRecord.put('SANumber', newSA.AppointmentNumber); + } else { + newRecord.put( + 'DML', + 'Permission denied to update Service Appointment' + ); + } + } catch (Exception e) { + // if SA not created automatically, create new SA and update its fields + try { + ServiceAppointment newSA = new ServiceAppointment(); + if ( + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() + ) { + newSA.ParentRecordId = newWOLI.Id; + newSA.ArrivalWindowStartTime = arrivalWindowStartTime; + newSA.ArrivalWindowEndTime = arrivalWindowEndTime; + } else + newRecord.put( + 'DML', + 'Permission denied to update ArrivalWindowStartTime, ArrivalWindowEndTime' + ); + for (String field : listOfFields) { + List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value + String objectApiName = split[0]; + String fieldApiName = split[1]; + String fieldDataType = split[2]; + String fieldValue = split[3]; + if (objectApiName == 'ServiceAppointment') { + System.debug('field input: ' + split); + if (fieldValue != 'null') { + newSA.put( + fieldApiName, + formatDataBaseOnValue(fieldDataType, fieldValue) + ); + System.debug('--- value added to record'); + } else { + System.debug('--- disregarding null values'); + } + } + } + if (newSA.EarliestStartTime == null) { + // Must add ESP and DD values + if ( + Schema.sObjectType.ServiceAppointment.fields.EarliestStartTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.DueDate.isUpdateable() + ) { + newSA.EarliestStartTime = System.now(); + newSA.DueDate = System.now() + .addDays(integer.valueof(schedulingHorizonValue)); + } else + newRecord.put( + 'DML', + 'Permission denied to update EarliestStartTime, DueDate' + ); + } + if (ServiceAppointment.sObjectType.getDescribe().isCreateable()) { + insert newSA; + newRecord.put('success', 'Service Appointment Created'); + System.debug('*** Created SA record: ' + newSA); + newSA = [ + SELECT Id, AppointmentNumber + FROM ServiceAppointment + WHERE ParentRecordId = :newWOLI.Id + ][0]; + newRecord.put('SAId', newSA.Id); + newRecord.put('SANumber', newSA.AppointmentNumber); + } else { + newRecord.put( + 'DML', + 'Permission denied to create Service Appointment' + ); + } + } catch (Exception e2) { + System.debug('*** error: Service Appointment not created: ' + e2); + newRecord.put('error', 'Service Appointment not created: ' + e2); + } + } + } + // ---------------------------------------------------------------- + // ----------------- CREATE SERVICE APPOINTMENT ------------------ + // ---------------------------------------------------------------- + + when else { + try { + System.debug('** creating new SA **'); + ServiceAppointment newSA = new ServiceAppointment(); + if ( + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowEndTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.ArrivalWindowStartTime.isUpdateable() + ) { + newSA.ParentRecordId = recordId; + newSA.ArrivalWindowStartTime = arrivalWindowStartTime; + newSA.ArrivalWindowEndTime = arrivalWindowEndTime; + } else + newRecord.put( + 'DML', + 'Permission denied to update ArrivalWindowStartTime, ArrivalWindowEndTime' + ); + for (String field : listOfFields) { + List split = field.split(','); // 0 - objectApiName, 1 - fieldApiName, 2 - dataType, 3 - value + String objectApiName = split[0]; + String fieldApiName = split[1]; + String fieldDataType = split[2]; + String fieldValue = split[3]; + if (objectApiName == 'ServiceAppointment') { + System.debug('field input: ' + split); + if (fieldValue != 'null') { + newSA.put( + fieldApiName, + formatDataBaseOnValue(fieldDataType, fieldValue) + ); + System.debug('--- value added to record'); + } else { + System.debug('--- disregarding null values'); + } + } + } + if (newSA.EarliestStartTime == null) { + if ( + Schema.sObjectType.ServiceAppointment.fields.EarliestStartTime.isUpdateable() && + Schema.sObjectType.ServiceAppointment.fields.DueDate.isUpdateable() + ) { + newSA.EarliestStartTime = System.now(); + newSA.DueDate = System.now() + .addDays(integer.valueof(schedulingHorizonValue)); + System.debug( + '--- added EarliestStartTime: ' + newSA.EarliestStartTime + ); + System.debug('--- added DueDate: ' + newSA.DueDate); + } else + newRecord.put( + 'DML', + 'Permission denied to update EarliestStartTime, DueDate' + ); + } + if (ServiceAppointment.sObjectType.getDescribe().isCreateable()) { + insert newSA; + newRecord.put('success', 'Service Appointment Created'); + System.debug('*** Created SA record: ' + newSA); + newSA = [ + SELECT Id, AppointmentNumber + FROM ServiceAppointment + WHERE Id = :newSA.Id + ][0]; + newRecord.put('SAId', newSA.Id); + newRecord.put('SANumber', newSA.AppointmentNumber); + } else { + newRecord.put( + 'DML', + 'Permission denied to create Service Appointment' + ); + } + } catch (Exception e2) { + System.debug('*** error: Service Appointment not created: ' + e2); + System.debug('*** newRecord: ' + newRecord); + newRecord.put('error', ' Service Appointment not created: ' + e2); + } + } + } + + return newRecord; + } catch (Exception e) { + throw new AuraHandledException( + '--debug-- ' + newRecord + ' ; ' + e.getMessage() + ); + } + } + + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- + // ---------------------- SETTING PAGE LWC ------------------------ + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- + // ---------------------------------------------------------------- + + // ************************* Settings APIs ********** // + + @Auraenabled(cacheable=true) + public static List getSchedulingPolicyList() { + List schedulingPolicyListNames = new List(); + + List schedulingPolicyList = [ + SELECT Id, Name + FROM FSL__Scheduling_Policy__c + WHERE IsDeleted = :false + WITH SECURITY_ENFORCED + ]; + + for (integer i = 0; i < schedulingPolicyList.size(); i++) { + schedulingPolicyListNames.add(schedulingPolicyList[i].Name); + } + return schedulingPolicyListNames; + } + + @Auraenabled(cacheable=true) + public static List getOperatingHoursList() { + List operatingHoursListNames = new List(); + + List operatingHourList = [ + SELECT Id, Name + FROM OperatingHours + WHERE IsDeleted = :false + WITH SECURITY_ENFORCED + ]; + + for (integer i = 0; i < operatingHourList.size(); i++) { + operatingHoursListNames.add(operatingHourList[i].Name); + } + return operatingHoursListNames; + } + + @Auraenabled(cacheable=false) + public static List getObjectNames() { + List stdObjectNames = new List(); + List allowedObjects = new List(); + try { + List followUpSettingList = [ + SELECT Id, Record_To_Create__c + FROM FollowupAppointmentSettings__c + WHERE Name = 'AA_Followup_Settings' + WITH SECURITY_ENFORCED + ]; + + if (followUpSettingList.size() > 0) { + FollowupAppointmentSettings__c followupObj = followUpSettingList[0]; + if (followupObj.Record_To_Create__c == 'ServiceAppointment') { + allowedObjects.add('ServiceAppointment'); + } else { + allowedObjects.add('ServiceAppointment'); + allowedObjects.add('WorkOrder'); + allowedObjects.add('WorkOrderLineItem'); + } + } else { + allowedObjects.add('ServiceAppointment'); + allowedObjects.add('WorkOrder'); + allowedObjects.add('WorkOrderLineItem'); + } + + for (Schema.SObjectType typ : Schema.getGlobalDescribe().values()) { + String sobjName = String.valueOf(typ); + for (String obj : allowedObjects) { + if (sobjName.equals(obj)) { + stdObjectNames.add(sobjName); + } + } + } + System.debug('stdObjectNames: ' + stdObjectNames); + stdObjectNames.sort(); + } catch (Exception e) { + } + return stdObjectNames; + } + + @AuraEnabled + public static Map checkPermSetAssignedToUser() { + // First check if the user is admin user. If so, allow to add perm set. + if (!isAuthorized()) { + throw new HandledException(UNAUTH_MSG); + } + + Map resList = new Map(); + List hasPermList = [ + SELECT count(Id) co + FROM PermissionSetAssignment + WHERE + AssigneeId = :Userinfo.getUserId() + AND PermissionSet.Name = 'SFS_FollowupAppointmentPerm' + ]; + Integer count = (Integer) hasPermList[0].get('co'); + if (count == 1) { + system.debug('User has permission'); + resList.put( + 'success', + 'User has SFS followup appointment permission assigned' + ); + } else { + system.debug('Permission is missing'); + List permissionSetList = new List(); + for (User u : [ + SELECT ID, UserRole.Name, Profile.Name, IsActive + FROM User + WHERE Id = :UserInfo.getUserId() + ]) { + // Add fields as per your requirement... + PermissionSet ps = [ + SELECT Id + FROM PermissionSet + WHERE Name = 'SFS_FollowupAppointmentPerm' + ]; + PermissionSetAssignment psa = new PermissionSetAssignment( + PermissionSetId = ps.Id, + AssigneeId = u.Id + ); + permissionSetList.add(psa); + } + try { + upsert permissionSetList; + resList.put('success', 'permission set assigned successfully'); + } catch (exception e) { + system.debug('exception caught' + e); + resList.put( + 'error', + 'error while assigning permissionset to user : ' + e.getMessage() + ); + } + } + return resList; + } + + @AuraEnabled + public static Map getConfigurationData() { + Map settingList = new Map(); + + try { + FollowupAppointmentSettings__c obj = [ + SELECT + ShowExactArrivalTime__c, + Operating_Hours__c, + Scheduling_Policy__c, + Scheduling_Horizon_Value__c, + Fields_To_Show_Page_1__c, + Fields_To_Show_Page_2__c, + Fields_To_Show_Page_3__c, + Record_To_Create__c, + Screen_Title_1__c, + Screen_Title_2__c, + Screen_Title_3__c, + Technician_Assigment__c + FROM FollowupAppointmentSettings__c + WITH SECURITY_ENFORCED + ][0]; + + if (obj != null) { + if (obj.Scheduling_Policy__c != null) { + String schedulingPolicyName = [ + SELECT Id, Name + FROM FSL__Scheduling_Policy__c + WHERE Id = :obj.Scheduling_Policy__c + ] + .Name; + if (schedulingPolicyName != null) { + settingList.put( + 'schedulingPolicyName', + String.valueOf(schedulingPolicyName) + ); + } + } + + if (obj.Operating_Hours__c != null) { + String opName = [ + SELECT Id, Name + FROM OperatingHours + WHERE Id = :obj.Operating_Hours__c + ] + .Name; + if (opName != null) { + settingList.put('operatingHoursName', String.valueOf(opName)); + } + } + + settingList.put( + 'showExactArrivalTime', + '' + obj.ShowExactArrivalTime__c + ); + settingList.put('operatingHoursId', obj.Operating_Hours__c); + settingList.put('schedulingPolicyId', obj.Scheduling_Policy__c); + settingList.put( + 'schedulingHorizonValue', + '' + obj.Scheduling_Horizon_Value__c + ); + settingList.put('fieldsToShowPage1', '' + obj.Fields_To_Show_Page_1__c); + settingList.put('fieldsToShowPage2', '' + obj.Fields_To_Show_Page_2__c); + settingList.put('fieldsToShowPage3', '' + obj.Fields_To_Show_Page_3__c); + settingList.put('objectsToCreate', '' + obj.Record_To_Create__c); + settingList.put('Screen_Title_1__c', '' + obj.Screen_Title_1__c); + settingList.put('Screen_Title_2__c', '' + obj.Screen_Title_2__c); + settingList.put('Screen_Title_3__c', '' + obj.Screen_Title_3__c); + settingList.put( + 'Technician_Assigment__c', + '' + obj.Technician_Assigment__c + ); + } else { + settingList.put('null', 'null'); + } + } catch (Exception e) { + settingList.put('error', '' + e); + } + + return settingList; + } + + @AuraEnabled + public static Map getSavedScreenData() { + Map settingList = new Map(); + + try { + FollowupAppointmentSettings__c obj = [ + SELECT + Screen_Title_1__c, + Screen_Title_2__c, + Screen_Title_3__c, + Fields_To_Show_Page_1__c, + Fields_To_Show_Page_2__c, + Fields_To_Show_Page_3__c + FROM FollowupAppointmentSettings__c + ][0]; + + if (obj != null) { + settingList.put('Screen_Title_1__c', '' + obj.Screen_Title_1__c); + settingList.put('Screen_Title_2__c', '' + obj.Screen_Title_2__c); + settingList.put('Screen_Title_3__c', '' + obj.Screen_Title_3__c); + settingList.put( + 'Fields_To_Show_Page_1__c', + '' + obj.Fields_To_Show_Page_1__c + ); + settingList.put( + 'Fields_To_Show_Page_2__c', + '' + obj.Fields_To_Show_Page_2__c + ); + settingList.put( + 'Fields_To_Show_Page_3__c', + '' + obj.Fields_To_Show_Page_3__c + ); + } else { + settingList.put('null', 'null'); + } + } catch (Exception e) { + settingList.put('error', '' + e); + } + + return settingList; + } + + @Auraenabled(cacheable=false) + public static List getFieldNames(String objectName) { + String escapeFields = 'Address'; + Set escapeFieldList = new Set{ + 'Address', + 'AppointmentNumber', + 'CreatedById', + 'CreatedDate', + 'DurationInMinutes', + 'FSL__Duration_In_Minutes__c', + 'FSL__InternalSLRGeolocation__c', + 'IsDeleted', + 'LastModifiedById', + 'LastModifiedDate', + 'LastReferencedDate', + 'LastViewedDate', + 'ParentRecordId', + 'ParentRecordStatusCategory', + 'ParentRecordType', + 'StatusCategory', + 'SystemModstamp', + 'Discount', + 'DurationInMinutes', + 'FSL_Schedluing_Priority_c', + 'GrandTotal', + 'Id', + 'IsClosed', + 'IsDeleted', + 'IsGeneratedFromMainianacePlan', + 'LastModfiedById', + 'LastModfiedDate', + 'LastRefrencedDate', + 'LastViewedDate', + 'LineItemCount', + 'MileStoneStatus', + 'RootWorkOrderId', + 'ServiceAppointmentCount', + 'StatusCategory', + 'SubTotal', + 'SystemModStamp', + 'TotalPrice', + 'WorkOrderNumber' + }; + + SObjectType objectType = Schema.getGlobalDescribe().get(objectName); + Map mfields = objectType.getDescribe() + .fields.getMap(); + + List sObjectDetailsList = new List(); + for (String s : mfields.keySet()) { + //sObjectDetailsList.add(objectName+'.'+String.valueOf(mfields.get(s))); + Boolean isStrinList = false; + + for (String escapeStr : escapeFieldList) { + if (String.valueOf(mfields.get(s)).equals(escapeStr)) { + isStrinList = true; + break; + } + } + if (!isStrinList) { + sObjectDetailsList.add(String.valueOf(mfields.get(s))); + } + System.debug('Field Names : ' + String.valueOf(mfields.get(s))); + } + sObjectDetailsList.sort(); + return sObjectDetailsList; + } + + // Save settings + + @AuraEnabled + public static Map saveSettings(List inputArr) { + String schedulingPolicy = sanitizeFieldValues(inputArr.get(0)); + String operatingHours = sanitizeFieldValues(inputArr.get(1)); + Boolean isExactAppintmentTime = Boolean.valueOf(inputArr.get(2)); + Integer schedulingHorizonUnits = Integer.valueof(inputArr.get(3)); + String objectsAllowedToBeCreated = sanitize(inputArr.get(4)); + String technicianAssignment = sanitize(inputArr.get(5)); + String objectsAllowed = sanitize(inputArr.get(6)); + + Map responseResult = new Map(); + try { + OperatingHours op = [ + SELECT Id + FROM OperatingHours + WHERE Name = :operatingHours + WITH SECURITY_ENFORCED + ]; + FSL__Scheduling_Policy__c sp = [ + SELECT Id + FROM FSL__Scheduling_Policy__c + WHERE Name = :schedulingPolicy + WITH SECURITY_ENFORCED + ]; + + List followUpSettingList; + followUpSettingList = [ + SELECT Id + FROM FollowupAppointmentSettings__c + WHERE Name = 'AA_Followup_Settings' + WITH SECURITY_ENFORCED + ]; + if (followUpSettingList.size() > 0) { + FollowupAppointmentSettings__c followUpSetting = followUpSettingList[0]; + + if ( + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Operating_Hours__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Scheduling_Horizon_Value__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Scheduling_Policy__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.ShowExactArrivalTime__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Technician_Assigment__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Record_To_Create__c.isUpdateable() + ) { + followUpSetting.Operating_Hours__c = op.id; + followUpSetting.Scheduling_Horizon_Value__c = schedulingHorizonUnits; + followUpSetting.Scheduling_Policy__c = sp.id; + followUpSetting.ShowExactArrivalTime__c = isExactAppintmentTime; + followUpSetting.Technician_Assigment__c = technicianAssignment; + followUpSetting.Record_To_Create__c = objectsAllowed; + } + + if ( + FollowupAppointmentSettings__c.sObjectType.getDescribe() + .isUpdateable() + ) { + update followUpSetting; + responseResult.put('success', 'success'); + } else { + responseResult.put('DML', 'Permission denied to update the record'); + } + } else { + FollowupAppointmentSettings__c newRecord; + if ( + FollowupAppointmentSettings__c.sObjectType.getDescribe() + .isCreateable() + ) { + newRecord = new FollowupAppointmentSettings__c(); + } + if ( + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Name.isCreateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Operating_Hours__c.isCreateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Scheduling_Horizon_Value__c.isCreateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Scheduling_Policy__c.isCreateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.ShowExactArrivalTime__c.isCreateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Technician_Assigment__c.isCreateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Record_To_Create__c.isCreateable() + ) { + newRecord.Name = 'AA_Followup_Settings'; + newRecord.Operating_Hours__c = op.id; + newRecord.Scheduling_Horizon_Value__c = schedulingHorizonUnits; + newRecord.Scheduling_Policy__c = sp.id; + newRecord.ShowExactArrivalTime__c = isExactAppintmentTime; + newRecord.Technician_Assigment__c = technicianAssignment; + newRecord.Record_To_Create__c = objectsAllowed; + } + + if ( + FollowupAppointmentSettings__c.sObjectType.getDescribe() + .isCreateable() + ) { + insert newRecord; + responseResult.put('success', 'success'); + } else { + responseResult.put('DML', 'Permission denied to create the record'); + } + } + } catch (Exception e) { + System.debug('Error while saving the record' + e); + responseResult.put('error', e); + } + + return responseResult; + } + + @AuraEnabled + public static Map saveFieldSettings(List inputArr) { + Integer pageNo = Integer.valueof(inputArr.get(0)); + String screenTitle = sanitize(inputArr.get(1)); + String fieldList = sanitizeFieldValues(String.valueOf(inputArr.get(2))); + + Map responseResult = new Map(); + try { + List followUpSettingList = [ + SELECT Id + FROM FollowupAppointmentSettings__c + WHERE Name = 'AA_Followup_Settings' + WITH SECURITY_ENFORCED + ]; + + if (followUpSettingList.size() > 0) { + FollowupAppointmentSettings__c followUpSetting = followUpSettingList[0]; + + if ( + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_1__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_1__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_2__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_2__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_3__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_3__c.isUpdateable() + ) { + if (pageNo == 1) { + followUpSetting.Screen_Title_1__c = screenTitle; + followUpSetting.Fields_To_Show_Page_1__c = fieldList; + } else if (pageNo == 2) { + followUpSetting.Screen_Title_2__c = screenTitle; + followUpSetting.Fields_To_Show_Page_2__c = fieldList; + } else { + followUpSetting.Screen_Title_3__c = screenTitle; + followUpSetting.Fields_To_Show_Page_3__c = fieldList; + } + } + + if ( + FollowupAppointmentSettings__c.sObjectType.getDescribe() + .isUpdateable() + ) { + update followUpSetting; + responseResult.put('success', 'success'); + } else { + responseResult.put('DML', 'Permission denied to update the record'); + } + } else { + FollowupAppointmentSettings__c newRecord = new FollowupAppointmentSettings__c(); + + if ( + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Name.isCreateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_1__c.isCreateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_1__c.isCreateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_2__c.isCreateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_2__c.isCreateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_3__c.isCreateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_3__c.isCreateable() + ) { + newRecord.Name = 'AA_Followup_Settings'; + if (pageNo == 1) { + newRecord.Screen_Title_1__c = screenTitle; + newRecord.Fields_To_Show_Page_1__c = fieldList; + } else if (pageNo == 2) { + newRecord.Screen_Title_2__c = screenTitle; + newRecord.Fields_To_Show_Page_2__c = fieldList; + } else { + newRecord.Screen_Title_3__c = screenTitle; + newRecord.Fields_To_Show_Page_3__c = fieldList; + } + } + if ( + FollowupAppointmentSettings__c.sObjectType.getDescribe() + .isCreateable() + ) { + insert newRecord; + responseResult.put('success', 'success'); + } else { + responseResult.put('DML', 'Permission denied to create the record'); + } + } + } catch (Exception e) { + System.debug('Error while saving the record' + e); + responseResult.put('error', e); + } + + return responseResult; + } + + @AuraEnabled + public static Map deleteScreen(Integer screenNo) { + Integer pageNo = Integer.valueOf(screenNo); + + Map responseResult = new Map(); + try { + List followUpSettingList = [ + SELECT Id + FROM FollowupAppointmentSettings__c + WHERE Name = 'AA_Followup_Settings' + WITH SECURITY_ENFORCED + ]; + + if (followUpSettingList.size() > 0) { + FollowupAppointmentSettings__c followUpSetting = followUpSettingList[0]; + if ( + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_1__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_1__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_2__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_2__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_3__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_3__c.isUpdateable() + ) { + if (pageNo == 1) { + followUpSetting.Screen_Title_1__c = null; + followUpSetting.Fields_To_Show_Page_1__c = null; + } else if (pageNo == 2) { + followUpSetting.Screen_Title_2__c = null; + followUpSetting.Fields_To_Show_Page_2__c = null; + } else { + followUpSetting.Screen_Title_3__c = null; + followUpSetting.Fields_To_Show_Page_3__c = null; + } + } + + if ( + FollowupAppointmentSettings__c.sObjectType.getDescribe() + .isUpdateable() + ) { + update followUpSetting; + responseResult.put('success', 'success'); + } else { + responseResult.put('DML', 'Permission denied to update the record'); + } + } + } catch (Exception e) { + System.debug('Error while saving the record' + e); + responseResult.put('error', e); + } + + return responseResult; + } + + @AuraEnabled + public static Map duplicateScreenData( + Integer fromScreenNo, + Integer toScreenNo + ) { + Integer pageNo = Integer.valueOf(fromScreenNo); + + Map responseResult = new Map(); + try { + List followUpSettingList = [ + SELECT + Id, + Screen_Title_1__c, + Fields_To_Show_Page_1__c, + Screen_Title_2__c, + Fields_To_Show_Page_2__c, + Screen_Title_3__c, + Fields_To_Show_Page_3__c + FROM FollowupAppointmentSettings__c + WHERE Name = 'AA_Followup_Settings' + WITH SECURITY_ENFORCED + ]; + + if (followUpSettingList.size() > 0) { + FollowupAppointmentSettings__c followUpSetting = followUpSettingList[0]; + String copyTitle = ''; + String copyFields = ''; + if (fromScreenNo == 1) { + copyTitle = followUpSetting.Screen_Title_1__c; + copyFields = followUpSetting.Fields_To_Show_Page_1__c; + } else if (fromScreenNo == 2) { + copyTitle = followUpSetting.Screen_Title_2__c; + copyFields = followUpSetting.Fields_To_Show_Page_2__c; + } else { + copyTitle = followUpSetting.Screen_Title_3__c; + copyFields = followUpSetting.Fields_To_Show_Page_3__c; + } + + if ( + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_1__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_1__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_2__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_2__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_3__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_3__c.isUpdateable() + ) { + switch on toScreenNo { + when 1 { + followUpSetting.Screen_Title_1__c = copyTitle; + followUpSetting.Fields_To_Show_Page_1__c = copyFields; + } + when 2 { + followUpSetting.Screen_Title_2__c = copyTitle; + followUpSetting.Fields_To_Show_Page_2__c = copyFields; + } + when 3 { + followUpSetting.Screen_Title_3__c = copyTitle; + followUpSetting.Fields_To_Show_Page_3__c = copyFields; + } + } + } + + if ( + FollowupAppointmentSettings__c.sObjectType.getDescribe() + .isUpdateable() + ) { + update followUpSetting; + responseResult.put('success', 'success'); + } else { + responseResult.put('DML', 'Permission denied to update the record'); + } + } + } catch (Exception e) { + System.debug('Error while saving the record' + e); + responseResult.put('error', e); + } + + return responseResult; + } + + @AuraEnabled + public static Map swapScreenLeftRight( + Integer fromScreenNo, + Integer toScreenNo + ) { + Integer pageNo = Integer.valueOf(fromScreenNo); + + Map responseResult = new Map(); + try { + List followUpSettingList = [ + SELECT + Id, + Screen_Title_1__c, + Fields_To_Show_Page_1__c, + Screen_Title_2__c, + Fields_To_Show_Page_2__c, + Screen_Title_3__c, + Fields_To_Show_Page_3__c + FROM FollowupAppointmentSettings__c + WHERE Name = 'AA_Followup_Settings' + WITH SECURITY_ENFORCED + ]; + + if (followUpSettingList.size() > 0) { + FollowupAppointmentSettings__c followUpSetting = followUpSettingList[0]; + + String copyTitle = ''; + String copyFields = ''; + + if ( + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_1__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_1__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_2__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_2__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Screen_Title_3__c.isUpdateable() && + Schema.sObjectType.FollowupAppointmentSettings__c.fields.Fields_To_Show_Page_3__c.isUpdateable() + ) { + if (fromScreenNo == 1 && toScreenNo == 2) { + String title1 = followUpSetting.Screen_Title_1__c; + String fields1 = followUpSetting.Fields_To_Show_Page_1__c; + + followUpSetting.Screen_Title_1__c = followUpSetting.Screen_Title_2__c; + followUpSetting.Fields_To_Show_Page_1__c = followUpSetting.Fields_To_Show_Page_2__c; + + followUpSetting.Screen_Title_2__c = title1; + followUpSetting.Fields_To_Show_Page_2__c = fields1; + } else if (fromScreenNo == 2 && toScreenNo == 3) { + String title2 = followUpSetting.Screen_Title_2__c; + String fields2 = followUpSetting.Fields_To_Show_Page_2__c; + + followUpSetting.Screen_Title_2__c = followUpSetting.Screen_Title_3__c; + followUpSetting.Fields_To_Show_Page_2__c = followUpSetting.Fields_To_Show_Page_3__c; + + followUpSetting.Screen_Title_3__c = title2; + followUpSetting.Fields_To_Show_Page_3__c = fields2; + } else { + System.debug('screen not in record'); + } + } + + if ( + FollowupAppointmentSettings__c.sObjectType.getDescribe() + .isUpdateable() + ) { + update followUpSetting; + responseResult.put('success', 'success'); + } else { + responseResult.put('DML', 'Permission denied to update the record'); + } + } + } catch (Exception e) { + System.debug('Error while saving the record' + e); + responseResult.put('error', e); + } + + return responseResult; + } + + private static String sanitize(String name) { + if (name == null) { + return name; + } + return name.replaceAll('[^\\w\\s]', '').replaceAll('_', ' ').trim(); + } + + private static String sanitizeFieldValues(String name) { + if (name == null) { + return name; + } + string HTML_TAG_PATTERN = '<.*?>'; + // compile the pattern + pattern myPattern = pattern.compile(HTML_TAG_PATTERN); + // get your matcher instance + matcher myMatcher = myPattern.matcher(name); + //remove the tags + return myMatcher.replaceAll(''); + } + + private static boolean isAuthorized() { + try { + return [SELECT Id FROM Profile WHERE Name = 'System Administrator'].Id == + System.UserInfo.getProfileId(); + } catch (Exception e) { + throw new HandledException(e.getMessage()); + } + } +} diff --git a/FollowUpAppointment/force-app/main/default/classes/FollowUpAppointmentController.cls-meta.xml b/projects/FollowUpAppointment/force-app/main/default/classes/FollowUpAppointmentController.cls-meta.xml similarity index 77% rename from FollowUpAppointment/force-app/main/default/classes/FollowUpAppointmentController.cls-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/classes/FollowUpAppointmentController.cls-meta.xml index 4b0bc9f..c47403d 100644 --- a/FollowUpAppointment/force-app/main/default/classes/FollowUpAppointmentController.cls-meta.xml +++ b/projects/FollowUpAppointment/force-app/main/default/classes/FollowUpAppointmentController.cls-meta.xml @@ -1,4 +1,4 @@ - + 55.0 Active diff --git a/projects/FollowUpAppointment/force-app/main/default/classes/ut_FollowUpAppointmentController.cls b/projects/FollowUpAppointment/force-app/main/default/classes/ut_FollowUpAppointmentController.cls new file mode 100644 index 0000000..d4f756c --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/classes/ut_FollowUpAppointmentController.cls @@ -0,0 +1,1171 @@ +@isTest +public without sharing class ut_FollowUpAppointmentController { + public static final String ADMIN_EMAIL = 'ApptAssistantAdmin@SFDC.com'; + public static final String PERMSET_ADMIN = 'aa_Admin'; + public static final String PROFILE_ADMIN = 'System Administrator'; + public static final String PROFILE_USER = 'Standard User'; + public static final String AA_PSL = 'FSLApptAssistant'; + + public static AssignedResource ar; + public static ServiceAppointment sa; + public static WorkOrder wo; + public static WorkOrder wo_sa; + public static ServiceResource sr; + public static ResourcePreference rp; + public static OperatingHours oh; + public static WorkType wt; + public static WorkType wt_sa; + public static FSL__Scheduling_Policy__c sp; + + public enum UserType { + ADMIN + } + + /** + * setupUser description + * @param profileName profileName description + * @param email email description + * @param doInsert doInsert description + * @return return description + */ + public static User setupUser( + String profileName, + String email, + Boolean doInsert + ) { + return setupUser(profileName, 'Test', 'User ', null, email, doInsert); + } + + private static Map mapProfileNameToId = new Map(); + private static Id getIdForProfile(String profileName) { + if (!mapProfileNameToId.containsKey(profileName.toUpperCase())) { + for (Profile p : [ + SELECT Id, Name + FROM Profile + WHERE Name = :profileName + ]) { + mapProfileNameToId.put(p.Name.toUpperCase(), p.Id); + } + } + + return mapProfileNameToId.get(profileName.toUpperCase()); + } + + /** + * Setup User with Profile, name and number + **/ + public static User setupUser( + String profileName, + String firstName, + String lastName, + String employeeNumber, + String email, + Boolean doInsert + ) { + if (email == null) { + email = + 'unit.test.user@' + + UserInfo.getOrganizationId() + + '.apexanalytixtest.com'; + } + User u = new User(); + u.FirstName = firstName; + u.LastName = lastName; + u.EmployeeNumber = employeeNumber; + u.Email = email; + u.Username = email; + u.Alias = 'tuser' + String.valueOf(Integer.valueOf((Math.random() * 999))); + u.Phone = '503-555-1212'; + u.ProfileId = getIdForProfile(profileName); + u.TimeZoneSidKey = 'America/Los_Angeles'; + u.LocaleSidKey = 'en_US'; + u.EmailEncodingKey = 'ISO-8859-1'; + u.LanguageLocaleKey = 'en_US'; + + if (UserInfo.isMultiCurrencyOrganization()) { + ((SObject) u).put('CurrencyIsoCode', 'USD'); + } + + if (doInsert) { + insert u; + } + + return u; + } + + static AssignedResource makeData(User user) { + System.runAs(user) { + sr = new ServiceResource(); + + // ServiceTerritoryMember + sr.Name = 'John Doe'; + sr.RelatedRecordId = user.Id; + sr.LastKnownLatitude = 12.9716; + sr.LastKnownLongitude = 77.5946; + sr.IsActive = true; + insert sr; + + sp = new FSL__Scheduling_Policy__c(); + sp.Name = 'Customer First Test'; + insert sp; + + oh = new OperatingHours(); + oh.TimeZone = 'Europe/Istanbul'; + oh.Name = 'Test time zone'; + insert oh; + + List offsetList = [ + SELECT TimeZone + FROM OperatingHours + LIMIT 1 + ]; + ServiceTerritory ter = new ServiceTerritory(); + ter.IsActive = true; + ter.Name = 'Floor 5'; + ter.OperatingHoursId = oh.id; + insert ter; + + ServiceTerritoryMember stm = new ServiceTerritoryMember(); + stm.ServiceResourceId = sr.id; + stm.ServiceTerritoryId = ter.id; + stm.EffectiveStartDate = Date.valueOf('2021-03-11'); + stm.TerritoryType = 'P'; + insert stm; + + Account a = new Account(); + a.Name = 'BAC'; + insert a; + + // create a work type + wt = new WorkType(); + wt.Name = 'test'; + wt.EstimatedDuration = 2; + wt.DurationType = 'Hours'; + wt.FSL__Due_Date_Offset__c = 7200; + wt.FSL__Exact_Appointments__c = true; + insert wt; + + wt_sa = new WorkType(); + wt_sa.Name = 'test1'; + wt_sa.EstimatedDuration = 2; + wt_sa.DurationType = 'Hours'; + wt_sa.FSL__Due_Date_Offset__c = 7200; + wt_sa.FSL__Exact_Appointments__c = true; + wt_sa.ShouldAutoCreateSvcAppt = true; + insert wt_sa; + + // create a work order + wo = new WorkOrder(); + wo.WorkTypeId = wt.Id; + wo.City = 'Bangalore'; + wo.Country = 'India'; + wo.Street = 'Palm Retreat'; + wo.Latitude = 12.9716; + wo.Longitude = 77.5946; + insert wo; + + wo_sa = new WorkOrder(); + wo_sa.WorkTypeId = wt_sa.Id; + wo_sa.City = 'Bangalore'; + wo_sa.Country = 'India'; + wo_sa.Street = 'Palm Retreat'; + wo_sa.Latitude = 12.9716; + wo_sa.Longitude = 77.5946; + insert wo_sa; + + rp = new ResourcePreference(); + rp.RelatedRecordId = wo.Id; + rp.ServiceResourceId = sr.Id; + insert rp; + + sa = new ServiceAppointment(); + sa.ParentRecordId = wo.Id; + sa.City = 'Bangalore'; + sa.Country = 'India'; + sa.Street = 'Palm Retreat'; + sa.ArrivalWindowStartTime = DateTime.valueOf('2024-03-11 10:00:00'); + sa.ArrivalWindowEndTime = DateTime.valueOf('2024-03-11 14:00:00'); + sa.Status = 'Dispatched'; + sa.ServiceTerritoryId = ter.id; + sa.EarliestStartTime = DateTime.valueOf('2024-03-01 10:00:00'); + sa.DueDate = DateTime.valueOf('2024-05-19 10:00:00'); + sa.SchedStartTime = DateTime.valueOf('2024-03-11 11:00:00'); + sa.SchedEndTime = DateTime.valueOf('2024-03-11 12:00:00'); + sa.ServiceNote = 'Your appointment is confirmed'; + sa.Latitude = 12.9716; + sa.Longitude = 77.5946; + insert sa; + + ar = new AssignedResource(); + ar.ServiceResourceId = sr.id; + ar.ServiceAppointmentId = sa.id; + // TODO CHNAGE THIS + //ar.ApptAssistantInfoUrl = 'www.salesforce.com'; + insert ar; + + return ar; + } + return null; + } + + public static User createUserWithPermSet(String email) { + User usr = setupUser('System Administrator', email, true); + + return usr; + } + + @isTest + static void test_getServiceAppointment() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + + Map mapInfo = FollowUpAppointmentController.getServiceAppointment( + sa.Id + ); + Map mapInfo2 = FollowUpAppointmentController.getServiceAppointment( + '123123' + ); + + List schedulingPolicyList = FollowUpAppointmentController.getSchedulingPolicyList(); + List operatingHoursList = FollowUpAppointmentController.getOperatingHoursList(); + + system.assert(mapInfo.size() > 0, true); + system.assert(mapInfo2.size() > 0, true); + + system.assert(schedulingPolicyList.size() > 0, true); + system.assert(operatingHoursList.size() > 0, true); + + // system.assert(saInfo.size() > 0); + // system.assert(currentAssignmentMethodInfo.size() > 0); + // system.assert(scheduleSAInfo.size() > 0); + // system.assert(Info1.size() > 0); + // system.assert(Info2.size() > 0); + // system.assert(Info3.size() > 0); + // system.assert(Info4.size() > 0); + + Test.stopTest(); + } + } + + @isTest + static void test_getSlots() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + + Map mapInfo = FollowUpAppointmentController.getSlots( + sa.Id, + oh.Id, + sp.Id, + true, + '' + ); + system.assert(mapInfo.size() > 0, true); + + Test.stopTest(); + } + } + + @isTest + static void test_getSlotsByAssignmentMethod() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map mapInfo = FollowUpAppointmentController.getSlotsByAssignmentMethod( + sa.Id, + oh.Id, + sp.Id, + true, + '' + ); + system.assert(mapInfo.size() > 0, true); + Test.stopTest(); + } + } + + @isTest + static void test_scheduleSA() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map mapInfo = FollowUpAppointmentController.scheduleSA( + sa.Id, + sp.Id + ); + system.assert(mapInfo.size() > 0, true); + Test.stopTest(); + } + } + + @isTest + static void test_updateSASlot() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map mapInfo = FollowUpAppointmentController.updateSASlot( + sa.Id, + sa.EarliestStartTime, + sa.dueDate + ); + system.assert(mapInfo.size() > 0, true); + Test.stopTest(); + } + } + + @isTest + static void test_updateServiceAppointmentStatus() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map mapInfo = FollowUpAppointmentController.updateServiceAppointmentStatus( + sa.Id, + sa.Status + ); + system.assert(mapInfo.size() > 0, true); + Test.stopTest(); + } + } + + @isTest + static void test_updateSA() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map mapInfo = FollowUpAppointmentController.updateSA( + sa.Id, + sa.EarliestStartTime, + sa.dueDate, + sa.dueDate + ); + system.assert(mapInfo.size() > 0, true); + Test.stopTest(); + } + } + + @isTest + static void test_deleteExistingRequiredResources() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + FollowUpAppointmentController.deleteExistingRequiredResources(wo.Id); + //system.assert(mapInfo.size() > 0, true); + Test.stopTest(); + } + } + + @isTest + static void test_deleteExistingResourcePreferencesForResource() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + FollowUpAppointmentController.deleteExistingResourcePreferencesForResource( + wo.Id, + wo.Id + ); + //system.assert(mapInfo.size() > 0, true); + Test.stopTest(); + } + } + + @isTest + static void test_addNewRequiredResource() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + WorkOrder tempWo = new WorkOrder(); + tempWo.WorkTypeId = wt.Id; + insert tempWo; + Test.startTest(); + FollowUpAppointmentController.addNewRequiredResource(wo.Id, sr.Id); + FollowUpAppointmentController.addNewRequiredResource(tempWo.Id, sr.Id); + Test.stopTest(); + } + } + + @isTest + static void test_assignCurrentUserAsRequiredResource() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map mapInfo = FollowUpAppointmentController.assignCurrentUserAsRequiredResource( + sa.Id, + 'assignToMe' + ); + system.assert(mapInfo.size() > 0, true); + Test.stopTest(); + } + } + + @isTest + static void test_isUserExcludedResource() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map mapInfo = FollowUpAppointmentController.isUserExcludedResource( + sa.Id + ); + //Map mapInfo2 = FollowUpAppointmentController.isUserExcludedResource('tempId'); + system.assert(mapInfo.size() > -1, true); + Test.stopTest(); + } + } + + @isTest + static void test_cloneWorkOrder() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map mapInfo = FollowUpAppointmentController.cloneWorkOrder( + sa.Id, + sa.SchedStartTime, + sa.DueDate, + sa.Id, + wo.Id + ); + Map mapInfo2 = FollowUpAppointmentController.cloneWorkOrder( + sa.Id, + sa.SchedStartTime, + sa.DueDate, + null, + null + ); + + system.assert(mapInfo.size() > -1, true); + system.assert(mapInfo2.size() > -1, true); + + Test.stopTest(); + } + } + + @isTest + static void test_deleteClonedResourcePreference() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + String mapInfo = FollowUpAppointmentController.deleteClonedResourcePreference( + wo.Id + ); + system.assert(mapInfo.length() > -1, true); + Test.stopTest(); + } + } + + @isTest + static void test_copyResourcePreferenceObject() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + FollowUpAppointmentController.copyResourcePreferenceObject(rp, wo.Id); + //system.assert(mapInfo.length() > -1, true); + Test.stopTest(); + } + } + + @isTest + static void test_updateDummySa() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map mapInfo = FollowUpAppointmentController.updateDummySa( + sa.Id, + sa.SchedStartTime, + sa.SchedEndTime, + sa.ServiceTerritoryId + ); + system.assert(mapInfo.size() > -1, true); + Test.stopTest(); + } + } + + @isTest + static void test_createNewDummyWorkOrder() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + WorkOrder tempWo = new WorkOrder(); + tempWo.WorkTypeId = wt.Id; + tempWo.City = 'Bangalore'; + tempWo.Country = 'India'; + tempWo.Street = 'Palm Retreat'; + insert tempWo; + + Test.startTest(); + String mapInfo = FollowUpAppointmentController.createNewDummyWorkOrder( + sa.ServiceTerritoryId, + wt.Id, + wo.Id + ); + String mapInfo2 = FollowUpAppointmentController.createNewDummyWorkOrder( + '', + wt.Id, + wo.Id + ); + String mapInfo3 = FollowUpAppointmentController.createNewDummyWorkOrder( + '', + wt.Id, + tempWo.Id + ); + system.assert(mapInfo.length() > -1, true); + Test.stopTest(); + } + } + + @isTest + static void test_getUserName() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + String mapInfo = FollowUpAppointmentController.getUserName(); + system.assert(mapInfo.length() > -1, true); + Test.stopTest(); + } + } + + @isTest + static void test_convertTimeToOtherTimeZone() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map resultArray = FollowUpAppointmentController.convertTimeToOtherTimeZone( + sa.DueDate, + sa.EarliestStartTime, + 'America/Tijuana', + 'America/Tijuana' + ); + system.assert(resultArray.size() > 0, true); + Test.stopTest(); + } + } + + @isTest + static void test_getUpdatedSASchedulingInfo() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map resultArray = FollowUpAppointmentController.getUpdatedSASchedulingInfo( + sa.Id + ); + system.assert(resultArray.size() > 0, true); + Test.stopTest(); + } + } + + @isTest + static void test_getSpAndOpId() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Id resultArray = FollowUpAppointmentController.getSchedulingPolicyId( + sp.Name + ); + Id resultArray2 = FollowUpAppointmentController.getOperatingHoursId( + oh.Name + ); + + system.assert(resultArray != null, true); + system.assert(resultArray2 != null, true); + + Test.stopTest(); + } + } + + @isTest + static void test_getSettingsObject() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map resultArray = FollowUpAppointmentController.getSettingsObject( + wo.Id + ); + system.assert(resultArray.size() > -1, true); + Test.stopTest(); + } + } + + @isTest + static void test_getSettingsObject2() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + // Insert setting object + FollowupAppointmentSettings__c settingsObj = new FollowupAppointmentSettings__c(); + settingsObj.ShowExactArrivalTime__c = true; + settingsObj.Operating_Hours__c = oh.Id; + settingsObj.Scheduling_Policy__c = sp.Id; + settingsObj.Name = 'AA_Followup_Settings'; + settingsObj.Screen_Title_1__c = 'abc'; + settingsObj.Screen_Title_2__c = 'abc'; + settingsObj.Screen_Title_3__c = 'abc'; + settingsObj.Record_To_Create__c = 'workOrder'; + settingsObj.Scheduling_Horizon_Value__c = 12; + settingsObj.Technician_Assigment__c = '23'; + insert settingsObj; + Test.startTest(); + Map resultArray2 = FollowUpAppointmentController.getSettingsObject( + wo.Id + ); + Test.stopTest(); + } + } + + @isTest + static void test_deleteClonedAppointmentData() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map mapInfo = FollowUpAppointmentController.deleteClonedAppointmentData( + sa.Id + ); + system.assert(mapInfo.size() > 0, true); + Test.stopTest(); + } + } + + // @isTest + // static void Test_cloneResourcePreference() { + // User user = createUserWithPermSet(ADMIN_EMAIL); + // makeData(user); + // system.runas(user) { + // WorkOrder newWo = new WorkOrder(); + // newWo.WorkTypeId = wt.Id; + // insert newWo; + // Test.startTest(); + // String resultStr = FollowUpAppointmentController.cloneResourcePreference(wo.Id, newWo.Id); + // system.assert(resultStr.length() > -1, true); + // Test.stopTest(); + // } + // } + + @isTest + static void Test_deleteClonedWorkOrder() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + String resultStr = FollowUpAppointmentController.deleteClonedWorkOrder( + wo.Id + ); + system.assert(resultStr.length() > -1, true); + Test.stopTest(); + } + } + + @isTest + static void Test_getObjectNames() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + List resultStr = FollowUpAppointmentController.getObjectNames(); + system.assert(resultStr.size() > -1, true); + Test.stopTest(); + } + } + + @isTest + static void Test_getConfigurationData() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map resultStr = FollowUpAppointmentController.getConfigurationData(); + system.assert(resultStr.size() > -1, true); + Test.stopTest(); + } + } + + @isTest + static void Test_getSavedScreenData() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map resultStr = FollowUpAppointmentController.getSavedScreenData(); + system.assert(resultStr.size() > -1, true); + Test.stopTest(); + } + } + + @isTest + static void test_saveSettings() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + List objectList = new List(); + objectList.add(sp.Name); + objectList.add(oh.Name); + objectList.add('true'); + objectList.add('10'); + objectList.add('serviceAppointment'); + objectList.add('1'); + objectList.add('serviceAppointment'); + Test.startTest(); + Map resultStr = FollowUpAppointmentController.saveSettings( + objectList + ); + system.assert(resultStr.size() > -1, true); + Test.stopTest(); + } + } + + @isTest + static void Test_saveSettings2() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + List objectList = new List(); + objectList.add(sp.Name); + objectList.add(oh.Name); + objectList.add('true'); + objectList.add('10'); + objectList.add('serviceAppointment'); + objectList.add('1'); + objectList.add('serviceAppointment'); + + // Insert setting object + FollowupAppointmentSettings__c settingsObj = new FollowupAppointmentSettings__c(); + settingsObj.ShowExactArrivalTime__c = true; + settingsObj.Operating_Hours__c = oh.Id; + settingsObj.Scheduling_Policy__c = sp.Id; + settingsObj.Name = 'AA_Followup_Settings'; + settingsObj.Screen_Title_1__c = 'abc'; + settingsObj.Screen_Title_2__c = 'abc'; + settingsObj.Screen_Title_3__c = 'abc'; + settingsObj.Record_To_Create__c = 'workOrder'; + settingsObj.Scheduling_Horizon_Value__c = 12; + settingsObj.Technician_Assigment__c = '23'; + insert settingsObj; + Test.startTest(); + Map resultStr2 = FollowUpAppointmentController.saveSettings( + objectList + ); + Test.stopTest(); + } + } + + @isTest + static void Test_saveFieldSettings2() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + // Insert setting object + FollowupAppointmentSettings__c settingsObj = new FollowupAppointmentSettings__c(); + settingsObj.ShowExactArrivalTime__c = true; + settingsObj.Operating_Hours__c = oh.Id; + settingsObj.Scheduling_Policy__c = sp.Id; + settingsObj.Name = 'AA_Followup_Settings'; + settingsObj.Screen_Title_1__c = 'abc'; + settingsObj.Screen_Title_2__c = 'abc'; + settingsObj.Screen_Title_3__c = 'abc'; + settingsObj.Record_To_Create__c = 'workOrder'; + settingsObj.Scheduling_Horizon_Value__c = 12; + settingsObj.Technician_Assigment__c = '23'; + insert settingsObj; + + Test.startTest(); + List objectList = new List(); + objectList.add('1'); + objectList.add('screentitle'); + objectList.add('serviceAppointment.Account'); + Map resultStr = FollowUpAppointmentController.saveFieldSettings( + objectList + ); + system.assert(resultStr.size() > -1, true); + + List objectList2 = new List(); + objectList2.add('2'); + objectList2.add('screentitle'); + objectList2.add('serviceAppointment.Account'); + Map resultStr2 = FollowUpAppointmentController.saveFieldSettings( + objectList2 + ); + + List objectList3 = new List(); + objectList3.add('3'); + objectList3.add('screentitle'); + objectList3.add('serviceAppointment.Account'); + Map resultStr3 = FollowUpAppointmentController.saveFieldSettings( + objectList3 + ); + + Test.stopTest(); + } + } + + @isTest + static void Test_saveFieldSettings() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + List objectList = new List(); + objectList.add('1'); + objectList.add('screentitle'); + objectList.add('serviceAppointment.Account'); + Map resultStr = FollowUpAppointmentController.saveFieldSettings( + objectList + ); + system.assert(resultStr.size() > -1, true); + + List objectList2 = new List(); + objectList2.add('2'); + objectList2.add('screentitle'); + objectList2.add('serviceAppointment.Account'); + Map resultStr2 = FollowUpAppointmentController.saveFieldSettings( + objectList2 + ); + + List objectList3 = new List(); + objectList3.add('3'); + objectList3.add('screentitle'); + objectList3.add('serviceAppointment.Account'); + Map resultStr3 = FollowUpAppointmentController.saveFieldSettings( + objectList3 + ); + + Test.stopTest(); + } + } + + @isTest + static void Test_deleteScreen() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + FollowupAppointmentSettings__c settingsObj = new FollowupAppointmentSettings__c(); + settingsObj.ShowExactArrivalTime__c = true; + settingsObj.Operating_Hours__c = oh.Id; + settingsObj.Scheduling_Policy__c = sp.Id; + settingsObj.Name = 'AA_Followup_Settings'; + settingsObj.Screen_Title_1__c = 'abc'; + settingsObj.Screen_Title_2__c = 'abc'; + settingsObj.Screen_Title_3__c = 'abc'; + settingsObj.Record_To_Create__c = 'workOrder'; + settingsObj.Scheduling_Horizon_Value__c = 12; + settingsObj.Technician_Assigment__c = '23'; + insert settingsObj; + + Test.startTest(); + + Map resultStrz = FollowUpAppointmentController.duplicateScreenData( + 1, + 1 + ); + system.assert(resultStrz.size() > -1, true); + Map resultStr2z = FollowUpAppointmentController.duplicateScreenData( + 1, + 2 + ); + Map resultStr3z = FollowUpAppointmentController.duplicateScreenData( + 1, + 3 + ); + + Map resultStr4 = FollowUpAppointmentController.duplicateScreenData( + 2, + 1 + ); + Map resultStr5 = FollowUpAppointmentController.duplicateScreenData( + 2, + 2 + ); + Map resultStr6 = FollowUpAppointmentController.duplicateScreenData( + 2, + 3 + ); + + Map resultStr7 = FollowUpAppointmentController.duplicateScreenData( + 3, + 1 + ); + Map resultStr8 = FollowUpAppointmentController.duplicateScreenData( + 3, + 2 + ); + Map resultStr9 = FollowUpAppointmentController.duplicateScreenData( + 3, + 3 + ); + + Map swipeLeft1 = FollowUpAppointmentController.swapScreenLeftRight( + 1, + 2 + ); + Map swipeLeft2 = FollowUpAppointmentController.swapScreenLeftRight( + 2, + 3 + ); + Map swipeLeft3 = FollowUpAppointmentController.swapScreenLeftRight( + 3, + 3 + ); + + Map resultStr = FollowUpAppointmentController.deleteScreen( + 1 + ); + system.assert(resultStr.size() > -1, true); + Map resultStr2 = FollowUpAppointmentController.deleteScreen( + 2 + ); + Map resultStr3 = FollowUpAppointmentController.deleteScreen( + 3 + ); + + Test.stopTest(); + } + } + + // @isTest + // static void Test_duplicateScreenData() { + // User user = createUserWithPermSet(ADMIN_EMAIL); + // makeData(user); + // system.runas(user) { + // FollowupAppointmentSettings__c settingsObj = new FollowupAppointmentSettings__c(); + // settingsObj.ShowExactArrivalTime__c = true; + // settingsObj.Operating_Hours__c = oh.Id; + // settingsObj.Scheduling_Policy__c = sp.Id; + // settingsObj.Name = 'AA_Followup_Settings'; + // settingsObj.Screen_Title_1__c = 'abc'; + // settingsObj.Screen_Title_2__c = 'abc'; + // settingsObj.Screen_Title_3__c = 'abc'; + // settingsObj.Record_To_Create__c = 'workOrder'; + // settingsObj.Scheduling_Horizon_Value__c = 12; + // settingsObj.Technician_Assigment__c = '23'; + // insert settingsObj; + + // Test.startTest(); + // Map resultStr = FollowUpAppointmentController.duplicateScreenData(1,1); + // system.assert(resultStr.size() > -1, true); + // Map resultStr2 = FollowUpAppointmentController.duplicateScreenData(1,2); + // Map resultStr3 = FollowUpAppointmentController.duplicateScreenData(1,3); + + // Map resultStr4 = FollowUpAppointmentController.duplicateScreenData(2,1); + // Map resultStr5 = FollowUpAppointmentController.duplicateScreenData(2,2); + // Map resultStr6 = FollowUpAppointmentController.duplicateScreenData(2,3); + + // Map resultStr7 = FollowUpAppointmentController.duplicateScreenData(3,1); + // Map resultStr8 = FollowUpAppointmentController.duplicateScreenData(3,2); + // Map resultStr9 = FollowUpAppointmentController.duplicateScreenData(3,3); + // Test.stopTest(); + // } + // } + + // @isTest + // static void Test_saveFieldSettings() { + // User user = createUserWithPermSet(ADMIN_EMAIL); + // makeData(user); + // system.runas(user) { + // Test.startTest(); + // List objectList = new List(); + // objectList.add('1'); + // objectList.add('screentitle'); + // objectList.add('serviceAppointment.Account'); + // Map resultStr = FollowUpAppointmentController.saveFieldSettings(objectList); + // system.assert(resultStr.size() > -1, true); + // Test.stopTest(); + // } + // } + + @isTest + static void Test_formatDataBaseOnValue() { + String decimalValue = '30.00'; + String dateTimeValue = '2021-03-11 10:00:00'; + String booleanValue = 'true'; + String stringValue = 'string'; + Boolean answer1 = false; + Boolean answer2 = false; + Boolean answer3 = false; + Boolean answer4 = false; + + Test.startTest(); + + Object decimalOutput = FollowUpAppointmentController.formatDataBaseOnValue( + 'Double', + decimalValue + ); + Object dateTimeOutput = FollowUpAppointmentController.formatDataBaseOnValue( + 'DateTime', + dateTimeValue + ); + Object booleanOutput = FollowUpAppointmentController.formatDataBaseOnValue( + 'Boolean', + booleanValue + ); + Object stringOutput = FollowUpAppointmentController.formatDataBaseOnValue( + 'String', + stringValue + ); + + if (decimalOutput instanceof Decimal) + answer1 = true; + if (dateTimeOutput instanceof DateTime) + answer2 = true; + if (booleanOutput instanceof Boolean) + answer3 = true; + if (stringOutput instanceof String) + answer4 = true; + + system.assert(answer1, true); + system.assert(answer2, true); + system.assert(answer3, true); + system.assert(answer4, true); + + Test.stopTest(); + } + + @isTest + static void test_createRecord_WO() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + List arr = new List(); + arr.add('ServiceAppointment,Duration,Double,60'); + arr.add('ServiceAppointment,DurationType,Picklist,Minutes'); + arr.add('ServiceAppointment,FSL__Auto_Schedule__c,Boolean,false'); + Test.startTest(); + Map resultArray = FollowUpAppointmentController.createRecord( + 'WorkOrder', + wo.Id, + arr, + sa.ArrivalWindowStartTime, + sa.ArrivalWindowEndTime, + '10' + ); + Test.stopTest(); + } + } + + @isTest + static void test_createRecord_WO_SA() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + List arr = new List(); + arr.add('WorkOrder,WorkTypeId,Reference,' + wt_sa.Id); + arr.add('ServiceAppointment,Duration,Double,60'); + arr.add('ServiceAppointment,DurationType,Picklist,Minutes'); + arr.add('ServiceAppointment,FSL__Auto_Schedule__c,Boolean,false'); + Test.startTest(); + Map resultArray = FollowUpAppointmentController.createRecord( + 'WorkOrder', + wo_sa.Id, + arr, + sa.ArrivalWindowStartTime, + sa.ArrivalWindowEndTime, + '10' + ); + Test.stopTest(); + } + } + + @isTest + static void test_createRecord_WOLI() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + List arr = new List(); + arr.add('ServiceAppointment,Duration,Double,60'); + arr.add('ServiceAppointment,DurationType,Picklist,Minutes'); + arr.add('ServiceAppointment,FSL__Auto_Schedule__c,Boolean,false'); + Test.startTest(); + Map resultArray = FollowUpAppointmentController.createRecord( + 'WorkOrderLineItem', + wo.Id, + arr, + sa.ArrivalWindowStartTime, + sa.ArrivalWindowEndTime, + '10' + ); + Test.stopTest(); + } + } + + @isTest + static void test_createRecord_WOLI_SA() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + List arr = new List(); + arr.add('WorkOrderLineItem,WorkTypeId,Reference,' + wt_sa.Id); + arr.add('ServiceAppointment,Duration,Double,60'); + arr.add('ServiceAppointment,DurationType,Picklist,Minutes'); + arr.add('ServiceAppointment,FSL__Auto_Schedule__c,Boolean,false'); + Test.startTest(); + Map resultArray = FollowUpAppointmentController.createRecord( + 'WorkOrderLineItem', + wo_sa.Id, + arr, + sa.ArrivalWindowStartTime, + sa.ArrivalWindowEndTime, + '10' + ); + Test.stopTest(); + } + } + + @isTest + static void test_createRecord_SA() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + List arr = new List(); + arr.add('ServiceAppointment,Duration,Double,60'); + arr.add('ServiceAppointment,DurationType,Picklist,Minutes'); + arr.add('ServiceAppointment,FSL__Auto_Schedule__c,Boolean,false'); + Test.startTest(); + Map resultArray = FollowUpAppointmentController.createRecord( + 'ServiceAppointment', + wo.Id, + arr, + sa.ArrivalWindowStartTime, + sa.ArrivalWindowEndTime, + '10' + ); + Test.stopTest(); + } + } + + @isTest + static void test_checkPermissionSetAssignment() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Map resultArray = FollowUpAppointmentController.checkPermSetAssignedToUser(); + Test.stopTest(); + } + } + + @isTest + static void test_getWorkTypeOffset() { + User user = createUserWithPermSet(ADMIN_EMAIL); + makeData(user); + System.runAs(user) { + Test.startTest(); + Decimal offset = FollowUpAppointmentController.getWorkTypeOffset(wt.Name); + Test.stopTest(); + } + } +} diff --git a/FollowUpAppointment/force-app/main/default/classes/ut_FollowUpAppointmentController.cls-meta.xml b/projects/FollowUpAppointment/force-app/main/default/classes/ut_FollowUpAppointmentController.cls-meta.xml similarity index 77% rename from FollowUpAppointment/force-app/main/default/classes/ut_FollowUpAppointmentController.cls-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/classes/ut_FollowUpAppointmentController.cls-meta.xml index 40d6793..891916b 100644 --- a/FollowUpAppointment/force-app/main/default/classes/ut_FollowUpAppointmentController.cls-meta.xml +++ b/projects/FollowUpAppointment/force-app/main/default/classes/ut_FollowUpAppointmentController.cls-meta.xml @@ -1,4 +1,4 @@ - + 54.0 Active diff --git a/FollowUpAppointment/force-app/main/default/customLables/aaFollowupAppointmentCustomLabels.labels-meta.xml b/projects/FollowUpAppointment/force-app/main/default/customLables/aaFollowupAppointmentCustomLabels.labels-meta.xml similarity index 88% rename from FollowUpAppointment/force-app/main/default/customLables/aaFollowupAppointmentCustomLabels.labels-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/customLables/aaFollowupAppointmentCustomLabels.labels-meta.xml index 389b820..8cb8163 100644 --- a/FollowUpAppointment/force-app/main/default/customLables/aaFollowupAppointmentCustomLabels.labels-meta.xml +++ b/projects/FollowUpAppointment/force-app/main/default/customLables/aaFollowupAppointmentCustomLabels.labels-meta.xml @@ -1,4 +1,4 @@ - + @@ -227,7 +227,8 @@ en_US true FollowUpAppointments - Schedule Appointment landing page title + Schedule Appointment landing page title Schedule Appoinyment @@ -235,7 +236,8 @@ en_US true FollowUpAppointments - Schedule Appoinyment compact info title + Schedule Appoinyment compact info title Appointment Details @@ -251,31 +253,38 @@ en_US true FollowUpAppointments - Accept new Appointment - button text + Accept new Appointment - button text Schedule - FollowUpAppointments_toastMessage_appointment_schedule + FollowUpAppointments_toastMessage_appointment_schedule en_US true FollowUpAppointments - Toast message when appointment gets scheduled + Toast message when appointment gets scheduled Appointment was scheduled. - FollowUpAppointments_same_appointment_selected_warning + FollowUpAppointments_same_appointment_selected_warning en_US true FollowUpAppointments - Schedule appointment - Same slot selected warning + Schedule appointment - Same slot selected warning Slot already booked. Please select another slot. - FollowUpAppointments_toastMessage_schedule_appointment_fail_message + FollowUpAppointments_toastMessage_schedule_appointment_fail_message en_US true FollowUpAppointments - Toast message schedule appointment fails to get update + Toast message schedule appointment fails to get update We couldn’t schedule the appointment. Try again later. @@ -283,7 +292,8 @@ en_US true FollowUpAppointments - confirmation page failure message when booking fails + confirmation page failure message when booking fails It’s not you, it’s us. Please start over. @@ -299,7 +309,8 @@ en_US true FollowUpAppointments - Show today text followed by date in time slot header + Show today text followed by date in time slot header Today @@ -311,27 +322,33 @@ Appointment was canceled. - FollowUpAppointments_toastMessage_cancel_appointment_fail_message + FollowUpAppointments_toastMessage_cancel_appointment_fail_message en_US true FollowUpAppointments - Toast message cancel appointment fails to get update + Toast message cancel appointment fails to get update We couldn’t cancel the appointment. Try again later. - FollowUpAppointments_toastMessage_appointment_confirmed + FollowUpAppointments_toastMessage_appointment_confirmed en_US true FollowUpAppointments - Toast message when appointment gets confirmed + Toast message when appointment gets confirmed Appointment was confirmed. - FollowUpAppointments_toastMessage_confirm_appointment_fail_message + FollowUpAppointments_toastMessage_confirm_appointment_fail_message en_US true FollowUpAppointments - Toast message confirm appointment fails to get update + Toast message confirm appointment fails to get update We couldn’t confirm the appointment. Try again later. @@ -351,7 +368,8 @@ Next - FollowUpAppointments_select_an_available_appointment_time + FollowUpAppointments_select_an_available_appointment_time en_US true FollowUpAppointments @@ -383,7 +401,8 @@ Assigned to You ({0}) - FollowUpAppointments_assigned_to_any_available_worker + FollowUpAppointments_assigned_to_any_available_worker en_US true FollowUpAppointments @@ -407,35 +426,43 @@ Recommended Appointments - FollowUpAppointments_cant_select_Mobile_Worker_excluded + FollowUpAppointments_cant_select_Mobile_Worker_excluded en_US true FollowUpAppointments - Title for assign to mobile worker radio resource is excluded - You can’t select a mobile worker for this appointment. Ask your admin for help. + Title for assign to mobile worker radio resource is excluded + You can’t select a mobile worker for this appointment. Ask your admin for help. FollowUpAppointments_Mobile_Worker_radio_title en_US true FollowUpAppointments - Title for assign to mobile worker radio + Title for assign to mobile worker radio Mobile Worker - FollowUpAppointments_Mobile_Worker_radio_assignToMe_lable + FollowUpAppointments_Mobile_Worker_radio_assignToMe_lable en_US true FollowUpAppointments - Label mobile worker radio assign to me option with tech name + Label mobile worker radio assign to me option with tech name You - FollowUpAppointments_Mobile_Worker_radio_assignToAnyAvailable_lable + FollowUpAppointments_Mobile_Worker_radio_assignToAnyAvailable_lable en_US true FollowUpAppointments - Label mobile worker radio assign to any available technitian + Label mobile worker radio assign to any available technitian Any available worker @@ -451,31 +478,38 @@ en_US true FollowUpAppointments - Label for show results button on full page calendar + Label for show results button on full page calendar OK - FollowUpAppointments_empty_state_select_any_available_worker + FollowUpAppointments_empty_state_select_any_available_worker en_US true FollowUpAppointments - If no appointments available and the MW can select any available worker - Change the worker or date and try again. If you still can’t find any appointments, contact your admin for help. + If no appointments available and the MW can select any available worker + Change the worker or date and try again. If you still can’t find any appointments, contact your admin for help. FollowUpAppointments_empty_state_change_the_dates en_US true FollowUpAppointments - If no appointments available and the MW can't select any available worker - Change the date and try again. If you can’t find any appointments, contact your admin for help. + If no appointments available and the MW can't select any available worker + Change the date and try again. If you can’t find any appointments, contact your admin for help. FollowUpAppointments_view_more_button en_US true FollowUpAppointments - Label for view more appointments button + Label for view more appointments button View More @@ -483,7 +517,8 @@ en_US true FollowUpAppointments - Schedule Appointment Bottom sheet success + Schedule Appointment Bottom sheet success The appointment was scheduled. @@ -491,7 +526,8 @@ en_US true FollowUpAppointments - Title for Schedule Appointment Bottom sheet failure + Title for Schedule Appointment Bottom sheet failure We couldn’t schedule the appointment. @@ -499,7 +535,8 @@ en_US true FollowUpAppointments - Content Schedule Appointment Bottom sheet failure + Content Schedule Appointment Bottom sheet failure Select a different time slot, or try again later. @@ -672,12 +709,14 @@ en_US true FollowUpAppointments - Heading text for Assignment Permission section + Heading text for Assignment Permission section Let mobile workers assign work to - FollowUpAppointments_MobileWorkerAsignTo_themselves_or_anyWorker + FollowUpAppointments_MobileWorkerAsignTo_themselves_or_anyWorker en_US true FollowUpAppointments @@ -704,7 +743,8 @@ - FollowUpAppointments_Allow_tech_to_create_object_title + FollowUpAppointments_Allow_tech_to_create_object_title en_US true FollowUpAppointments @@ -722,7 +762,8 @@ - FollowUpAppointments_setting_page_cancel_button_label + FollowUpAppointments_setting_page_cancel_button_label en_US true FollowUpAppointments @@ -850,7 +891,8 @@ - FollowUpAppointments_settings_operatingHours_helpText + FollowUpAppointments_settings_operatingHours_helpText en_US true FollowUpAppointments @@ -859,7 +901,8 @@ - FollowUpAppointments_settings_operatingHours_helpText + FollowUpAppointments_settings_operatingHours_helpText en_US true FollowUpAppointments @@ -958,7 +1001,8 @@ - FollowUpAppointments_preview_appointmentDateTime_title + FollowUpAppointments_preview_appointmentDateTime_title en_US true FollowUpAppointments @@ -967,7 +1011,8 @@ - FollowUpAppointments_preview_appointmentDetails_title + FollowUpAppointments_preview_appointmentDetails_title en_US true FollowUpAppointments @@ -999,7 +1044,8 @@ true FollowUpAppointments info bubble text in preview screen - Configure the scheduling settings and the permissions in the Settings tab. + Configure the scheduling settings and the permissions in the Settings tab. @@ -1048,7 +1094,8 @@ - FollowUpAppointments_settingPage_error_duplicate_screen + FollowUpAppointments_settingPage_error_duplicate_screen en_US true FollowUpAppointments @@ -1057,7 +1104,8 @@ - FollowUpAppointments_settingPage_error_delete_screen + FollowUpAppointments_settingPage_error_delete_screen en_US true FollowUpAppointments @@ -1122,29 +1170,35 @@ - FollowUpAppointments_settings_duplicateScreenToastMessage + FollowUpAppointments_settings_duplicateScreenToastMessage en_US true FollowUpAppointments - Replace the {0} with step name that will be duplicated + Replace the {0} with step name that will be duplicated Step {0} was duplicated. - FollowUpAppointments_settings_deleteScreenToastMessage + FollowUpAppointments_settings_deleteScreenToastMessage en_US true FollowUpAppointments - Replace the {0} with step name that will be duplicated + Replace the {0} with step name that will be duplicated Step {0} was deleted. - FollowUpAppointments_settings_createScreenToastMessage + FollowUpAppointments_settings_createScreenToastMessage en_US true FollowUpAppointments - Replace the {0} with step name that will be duplicated + Replace the {0} with step name that will be duplicated Step {0} was created. @@ -1153,7 +1207,8 @@ en_US true FollowUpAppointments - Failure toast message while adding step + Failure toast message while adding step We couldn’t add the step. Try again later. diff --git a/NameAndSignatureCapture/force-app/main/default/lwc/.eslintrc.json b/projects/FollowUpAppointment/force-app/main/default/lwc/.eslintrc.json similarity index 100% rename from NameAndSignatureCapture/force-app/main/default/lwc/.eslintrc.json rename to projects/FollowUpAppointment/force-app/main/default/lwc/.eslintrc.json diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/__tests__/followUpAppointmentCustomToastNotifications.test.js b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/__tests__/followUpAppointmentCustomToastNotifications.test.js new file mode 100644 index 0000000..7cf675f --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/__tests__/followUpAppointmentCustomToastNotifications.test.js @@ -0,0 +1,48 @@ +import { createElement } from "lwc"; +import FollowUpAppointmentCustomToastNotifications from "c/followUpAppointmentCustomToastNotifications"; + +let element; +describe("c-follow-up-appointment-custom-toast-notifications", () => { + afterEach(() => { + // The jsdom instance is shared across test cases in a single file so reset the DOM + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + beforeEach(() => { + element = createElement( + "c-follow-up-appointment-custom-toast-notifications", + { + is: FollowUpAppointmentCustomToastNotifications + } + ); + + element.timeout = 3000; + element.sticky = true; + element.toastId = 0; + + document.body.appendChild(element); + }); + + it("Should dismiss toast", async () => { + element.showToast("success", "message1"); // show the first toast + element.showToast("success", "message2"); // show the second toast + + return Promise.resolve().then(() => { + expect(element.toastId).toBe(2); // should have shown two toast messages + + const action = element.shadowRoot.querySelector("lightning-button-icon"); + action.click(); + + expect(element.toastId).toBe(1); // should have removed one of the toast messages + }); + }); + + it("Should show toast", async () => { + const methodNameFake = jest.spyOn(element, "showToast"); + element.showToast("success", "message"); + expect(methodNameFake).toHaveBeenCalledTimes(1); + expect(element.toastId).toBe(1); + }); +}); diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.html b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.html similarity index 100% rename from FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.html rename to projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.html diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.js b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.js similarity index 86% rename from FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.js rename to projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.js index 32868d8..c0ec35f 100644 --- a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.js +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.js @@ -1,6 +1,6 @@ /* eslint-disable @lwc/lwc/no-api-reassignments */ /* eslint-disable @lwc/lwc/no-async-operation */ -import { LightningElement, track, api } from 'lwc'; +import { LightningElement, track, api } from "lwc"; export default class FollowUpAppointmentCustomToastNotifications extends LightningElement { @track toastList = []; @@ -14,8 +14,8 @@ export default class FollowUpAppointmentCustomToastNotifications extends Lightni headerMessage: type, message: message, id: this.toastId, - iconName: 'utility:' + type, - headerClass: 'slds-notify slds-notify_toast slds-theme_' + type, + iconName: "utility:" + type, + headerClass: "slds-notify slds-notify_toast slds-theme_" + type }; this.toastId = this.toastId + 1; diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.js-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.js-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentCustomToastNotifications/followUpAppointmentCustomToastNotifications.js-meta.xml diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.css b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.css new file mode 100644 index 0000000..0dfe04e --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.css @@ -0,0 +1,108 @@ +.mainContainer { + margin-top: 60px; + background: #ffffff; +} +.mainTitle { + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 21px; + color: #181818; + margin-top: -3px; +} +.stepsTitle { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 18px; + color: #444444; +} +.headerDiv { + position: fixed; + top: 0; + left: 0; + border-top: 1px solid #e1e1e1; + padding: 16px; + height: 66px; + width: 100%; + background: linear-gradient(0deg, #f3f3f3, #f3f3f3), + linear-gradient(0deg, #f3f3f3, #f3f3f3); + z-index: 100; +} +.backButton { + height: 35px; + display: flex; + width: 34px; + align-items: center; + margin-left: 0; + justify-items: center; +} +.customPageDiv { + padding: 16px 11px 86px 11px; +} +.nextButton { + width: 100%; + height: 100%; + font-size: 1rem; + border-radius: 12px; + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 22px; + background-color: #0176d3; + --slds-c-button-brand-color-background-hover: #0176d3; +} +.nextButtonDiv { + position: fixed; + bottom: 0; + left: 0; + border-top: 1px solid #e1e1e1; + padding: 16px; + height: 80px; + width: 100%; + background-color: #fff; + z-index: 98; +} +.empty-slots-container { + background-color: white; + display: flex; + flex-direction: column; + align-items: center; + padding: 200px 16px; + margin-top: 10px; +} +.endPageMainTitle { + margin-top: 20px; + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 22px; +} +.endPageSecondTitle { + margin-top: 20px; + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + width: 250px; + text-align: center; +} +/* CSS Overrides */ +.spinner { + position: relative; + display: inline-block; + text-align: center; +} +.slds-spinner { + position: fixed; +} +.slds-spinner_container { + position: fixed; +} +.slds-faux-input, +.slds-input, +.slds-select_container .slds-select, +.slds-textarea { + border: 2px solid #c9c9c9; + border-radius: 12px; +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.html b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.html new file mode 100644 index 0000000..d5d2e8f --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.html @@ -0,0 +1,161 @@ + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.js b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.js new file mode 100644 index 0000000..e1e154b --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.js @@ -0,0 +1,332 @@ +/* eslint-disable no-unused-expressions */ +/* eslint-disable @lwc/lwc/no-inner-html */ +/* eslint-disable @lwc/lwc/no-api-reassignments */ +import { LightningElement, api, wire, track } from "lwc"; +import getSettingsObject from "@salesforce/apex/FollowUpAppointmentController.getSettingsObject"; +import createRecord from "@salesforce/apex/FollowUpAppointmentController.createRecord"; +import { getRecord } from "lightning/uiRecordApi"; + +import ID_FIELD from "@salesforce/schema/ServiceAppointment.Id"; +import WORK_TYPE_FIELD from "@salesforce/schema/ServiceAppointment.WorkTypeId"; +import SCHED_END_FIELD from "@salesforce/schema/ServiceAppointment.SchedEndTime"; +import SCHED_START_FIELD from "@salesforce/schema/ServiceAppointment.SchedStartTime"; +import APPOINTMENT_NUMBER_FIELD from "@salesforce/schema/ServiceAppointment.AppointmentNumber"; +import DURATION from "@salesforce/schema/ServiceAppointment.Duration"; +import overrideCSS from "./overrideCSS"; +import customLabels from "./labels"; + +export default class followUpAppointmentMain extends LightningElement { + // ----------------------------------- slot lwc ----------------------------------------------- + recommendedScore = 80; + _serviceAppointmentId; + + useDefaultFields = true; + currentAppointmentDefaultFieldNames = [ + ID_FIELD, + WORK_TYPE_FIELD, + SCHED_END_FIELD, + SCHED_START_FIELD, + APPOINTMENT_NUMBER_FIELD, + DURATION + ]; + // ----------------------------------- variables --------------------------------------------- + + LABELS = customLabels; + @track record; + @track fieldsToRecordFormPage1 = []; + @track fieldsToRecordFormPage2 = []; + @track fieldsToRecordFormPage3 = []; + hideNoSetupError = true; + hideCustomPage1 = true; + hideCustomPage2 = true; + hideCustomPage3 = true; + hideCustomPage4 = true; + pagesArray = []; + hideEndPage = true; + hideHeader = false; + hideNextButton = false; + hideBackButton = true; + getFieldsDefaultValues = false; + headerCustomPage1; + headerCustomPage2; + headerCustomPage3; + headerSlotsPage = this.LABELS.FollowUpAppointments_SlotsPageTitle; + listOfFields = []; + settings; + recordToCreate; + @api workerAssignmentOptions; + currentStepNumber = 1; + maxStepNumber = 1; + @api operatingHoursId; + @api schedulingPolicyId; + @api schedulingHorizonValue; + @api schedulingHorizonUnits; + @api showExactArrivalTime; + @api showDataSpinner = false; + numberOfFieldsLoaded = 0; + newRecordId; + @api newRecordNumber; + + @api maxDaysToGetAppointmentSlots = 10; + + // ------------------------------------------------------------------------------------------ + // ------------------------------ getter/setter --------------------------------------------- + // ------------------------------------------------------------------------------------------ + + @api get recordId() { + return this.recordIdRealValue; + } + set recordId(recordId) { + this.record = undefined; + this.recordIdRealValue = recordId; + } + + @wire(getRecord, { + recordId: "$recordId", + layoutTypes: ["Full"], + modes: ["View"] + }) + wiredRecord({ data, error }) { + if (data) { + this.record = data; + this.recordId = data.id; + this.recordName = data.apiName; + } else { + this.record = null; + console.log("Error while get record is : " + error); + } + } + + get objectApiName() { + return (this.record && this.record.apiName) || null; + } + + // ------------------------------------------------------------------------------------------ + // -------------------------------- functions ----------------------------------------------- + // ------------------------------------------------------------------------------------------ + + connectedCallback() { + const myStyle = document.createElement("style"); + myStyle.innerHTML = overrideCSS; + document.head.appendChild(myStyle); + + this.lockScrolling(); + getSettingsObject({ recordId: this.recordId }) + .then((settings) => { + if (settings.error || settings.error2) { + let error = settings.error ? settings.error : settings.error2; + console.log("Error while retrieving settings object: " + error); + this.allowScrolling(); + } else { + console.log("Got settings object successfully"); + this.settings = settings; + + this.operatingHoursId = settings.operatingHoursId; + this.schedulingPolicyId = settings.schedulingPolicyId; + this.schedulingHorizonValue = settings.schedulingHorizonValue; + this.showExactArrivalTime = settings.showExactArrivalTime === "true"; + this.headerCustomPage1 = settings.headerCustomPage1; + this.headerCustomPage2 = settings.headerCustomPage2; + this.headerCustomPage3 = settings.headerCustomPage3; + this.workerAssignmentOptions = settings.workerAssignmentOptions; + + if ( + this.settings.fieldsToShowPage1 === "null" && + this.settings.fieldsToShowPage2 === "null" && + this.settings.fieldsToShowPage3 === "null" + ) { + this.allowScrolling(); + this.hideNoSetupError = false; + this.hideHeader = true; + this.hideNextButton = true; + this.hideBackButton = true; + console.log( + "*** We couldn’t launch this action. Ask your admin for help. ***" + ); + } else { + for (let index = 1; index < 4; index++) { + if (this.settings["fieldsToShowPage" + index] !== "null") { + this.pagesArray.push(index); + this.settings["fieldsToShowPage" + index] + .split(";") + .forEach((field) => { + if (field.split(",")[0] !== "") { + this.listOfFields.push(field); + switch (field.split(",")[0]) { + case "WorkOrder": + this["fieldsToRecordFormPage" + index].push({ + objectApiName: field.split(",")[0], + fieldApiName: field.split(",")[1], + recordId: this.recordId + }); + break; + case "WorkOrderLineItem": + this["fieldsToRecordFormPage" + index].push({ + objectApiName: field.split(",")[0], + fieldApiName: field.split(",")[1], + recordId: this.recordId + }); + break; + case "ServiceAppointment": + this["fieldsToRecordFormPage" + index].push({ + objectApiName: field.split(",")[0], + fieldApiName: field.split(",")[1], + recordId: settings.serviceAppointmentId + }); + break; + default: { + break; + } + } + } + }); + } + } + this.pagesArray.push(4); + this.maxStepNumber = this.pagesArray.length; + this[ + "hideCustomPage" + this.pagesArray[this.currentStepNumber - 1] + ] = false; + } + } + }) + .catch((error) => { + console.log("Error while retrieving settings object - ", error); + this.allowScrolling(); + }); + } + + sleep(ms) { + // eslint-disable-next-line @lwc/lwc/no-async-operation + return new Promise((resolve) => setTimeout(resolve, ms)); + } + + callCreateRecordClass(arrivalWindowStartTime, arrivalWindowEndTime) { + var querySelector = this.template.querySelectorAll("lightning-input-field"); + console.log("-- List of fields to update the new records"); + querySelector.forEach((field) => { + var index = this.listOfFields.findIndex((i) => + i.includes( + field.parentElement.objectApiName + "," + field.fieldName + "," + ) + ); + this.listOfFields[index] = this.listOfFields[index] + "," + field.value; + console.log("-- ", this.listOfFields[index]); + }); + + createRecord({ + recordToCreate: this.settings.recordToCreate, + recordId: this.recordId, + listOfFields: this.listOfFields, + arrivalWindowStartTime: arrivalWindowStartTime, + arrivalWindowEndTime: arrivalWindowEndTime, + schedulingHorizonValue: this.schedulingHorizonValue + }) + .then((newRecord) => { + if (newRecord.error || newRecord.DML) { + console.log("-- Error : ", newRecord.error); + console.log("-- DML : ", newRecord.DML); + } else if (newRecord.success) { + this.newRecordId = newRecord.SAId; + this.newRecordNumber = newRecord.SANumber; + console.log("-- newRecordId : ", this.newRecordId); + console.log("-- newRecordNumber : ", this.newRecordNumber); + this.scheduleSAMethod(this.newRecordId); + } + }) + .catch((error) => { + console.log( + "-- error while creating record : " + JSON.stringify(error) + ); + console.log("-- error : ", error); + this.allowScrolling(); + }); + } + + scheduleSAMethod(newRecordId) { + try { + this.template + .querySelector("c-mobile-appointment-booking-landing") + .scheduleSAMethod(newRecordId); + } catch (error) { + console.log("Error while scheduling SA : " + error.message); + } finally { + this.allowScrolling(); + } + } + + allowScrolling() { + document.body.style.overflow = "auto"; + this.showDataSpinner = false; + } + lockScrolling() { + document.body.style.overflow = "hidden"; + this.showDataSpinner = true; + } + + // --------------------------------------------------------------------------------------------------------------- + // --------------------------------------------- handle ---------------------------------------------------------- + // --------------------------------------------------------------------------------------------------------------- + + handleButtonClick(event) { + let index = this.currentStepNumber - 1; + switch (event.target.name) { + case "nextButton": + this["hideCustomPage" + this.pagesArray[index]] = true; + this["hideCustomPage" + this.pagesArray[index + 1]] = false; + this.currentStepNumber = this.currentStepNumber + 1; + break; + case "backButton": + this["hideCustomPage" + this.pagesArray[index]] = true; + this["hideCustomPage" + this.pagesArray[index - 1]] = false; + this.currentStepNumber = this.currentStepNumber - 1; + break; + default: { + break; + } + } + switch (this.currentStepNumber) { + case 1: + this.hideNextButton = false; + this.hideBackButton = true; + break; + case this.maxStepNumber: + this.hideNextButton = true; + this.hideBackButton = false; + break; + default: + this.hideNextButton = false; + this.hideBackButton = false; + break; + } + } + + handleSelectedSlot(event) { + var selectedSlotStart = event.detail.arrivalWindowStartTime; + var selectedSlotEnd = event.detail.arrivalWindowEndTime; + this.callCreateRecordClass(selectedSlotStart, selectedSlotEnd); + } + + handleScheduleCloseWindow() { + this.hideCustomPage1 = true; + this.hideCustomPage2 = true; + this.hideCustomPage3 = true; + this.hideCustomPage4 = true; + this.hideEndPage = false; + this.hideHeader = true; + this.hideNextButton = true; + this.hideBackButton = true; + } + + handleFieldsAreLoaded() { + // checks if all fields have been added to the DOM + this.numberOfFieldsLoaded = this.numberOfFieldsLoaded + 1; + let numberOfFields = + this.fieldsToRecordFormPage1.length + + this.fieldsToRecordFormPage2.length + + this.fieldsToRecordFormPage3.length; + if (numberOfFields === this.numberOfFieldsLoaded) { + this.allowScrolling(); + } + } +} diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.js-meta.xml similarity index 89% rename from FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.js-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.js-meta.xml index f4087a4..c4d5c1d 100644 --- a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.js-meta.xml +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/followUpAppointmentMain.js-meta.xml @@ -1,4 +1,4 @@ - + 55.0 true @@ -14,4 +14,4 @@ ScreenAction - \ No newline at end of file + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/labels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/labels.js new file mode 100644 index 0000000..635f5ae --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/labels.js @@ -0,0 +1,19 @@ +import FollowUpAppointments_StepTitle1 from "@salesforce/label/c.FollowUpAppointments_StepTitle1"; +import FollowUpAppointments_StepTitle2 from "@salesforce/label/c.FollowUpAppointments_StepTitle2"; +import FollowUpAppointments_NextButtonText from "@salesforce/label/c.FollowUpAppointments_NextButtonText"; +import FollowUpAppointments_EndPageApprovalText1 from "@salesforce/label/c.FollowUpAppointments_EndPageApprovalText1"; +import FollowUpAppointments_EndPageApprovalText2 from "@salesforce/label/c.FollowUpAppointments_EndPageApprovalText2"; +import FollowUpAppointments_SlotsPageTitle from "@salesforce/label/c.FollowUpAppointments_SlotsPageTitle"; +import FollowUpAppointments_NoSetupError from "@salesforce/label/c.FollowUpAppointments_NoSetupError"; + +const customLabels = { + FollowUpAppointments_StepTitle1, + FollowUpAppointments_StepTitle2, + FollowUpAppointments_NextButtonText, + FollowUpAppointments_EndPageApprovalText1, + FollowUpAppointments_EndPageApprovalText2, + FollowUpAppointments_SlotsPageTitle, + FollowUpAppointments_NoSetupError +}; + +export default customLabels; diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/overrideCSS.js b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/overrideCSS.js similarity index 100% rename from FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/overrideCSS.js rename to projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentMain/overrideCSS.js diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/__tests__/followUpAppointmentSettingsContainer.test.js b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/__tests__/followUpAppointmentSettingsContainer.test.js new file mode 100644 index 0000000..73bb744 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/__tests__/followUpAppointmentSettingsContainer.test.js @@ -0,0 +1,74 @@ +import { createElement } from "lwc"; +import followUpAppointmentSettingsContainer from "c/followUpAppointmentSettingsContainer"; + +let element; +describe("c-follow-up-appointment-settings-container", () => { + afterEach(() => { + // The jsdom instance is shared across test cases in a single file so reset the DOM + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + beforeEach(() => { + element = createElement("c-follow-up-appointment-settings-container", { + is: followUpAppointmentSettingsContainer + }); + + element.showDeleteDialogBox = true; + element.handleSaveEvent = jest.fn(); + element.handleCancelEvent = jest.fn(); + document.body.appendChild(element); + }); + + it("should show correct info", () => { + const fieldServiceLabel = + element.shadowRoot.querySelector(".fieldservicelabel"); + expect(fieldServiceLabel.textContent).toBe( + "c.FollowUpAppointments_field_service_title" + ); + + const mainTitleElement = + element.shadowRoot.querySelector(".followupmaintitle"); + expect(mainTitleElement.textContent).toBe( + "c.FollowUpAppointments_setting_page_title" + ); + + const pageTitle = element.shadowRoot.querySelector(".pageTitle"); + expect(pageTitle.textContent).toBe( + "c.FollowUpAppointments_setting_sub_title" + ); + + const pageDescription = + element.shadowRoot.querySelector(".pageDescription"); + expect(pageDescription.textContent).toBe( + "c.FollowUpAppointments_setting_description_text" + ); + }); + + it("test on save button", async () => { + console.log("Element is : " + element.shadowRoot); + const action = element.shadowRoot.querySelector('[data-id="saveBtn"]'); + console.log("Action is : " + action); + const spy = jest.spyOn(element, "handleSaveEvent"); + console.log(spy); + action.dispatchEvent(new CustomEvent("click")); + + return Promise.resolve().then(() => { + expect(spy).toHaveBeenCalledTimes(0); + }); + }); + + it("test on cancel button event", async () => { + console.log("Element is : " + element.shadowRoot); + const action = element.shadowRoot.querySelector('[data-id="cancelBtn"]'); + console.log("Action is : " + action); + const spy = jest.spyOn(element, "handleCancelEvent"); + console.log(spy); + action.dispatchEvent(new CustomEvent("click")); + + return Promise.resolve().then(() => { + expect(spy).toHaveBeenCalledTimes(0); + }); + }); +}); diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.css b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.css new file mode 100644 index 0000000..d72a2b7 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.css @@ -0,0 +1,133 @@ +.header-icon { + margin-right: 12px; +} + +.comboBox { + margin-top: 25px; + width: 346px; + margin-left: 24px; +} + +.comboBoxBackGround { + background-color: #ffffff; +} + +.pageTitle { + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 24px; + margin-left: 24px; + color: #181818; + margin-top: 16px; +} + +.pageDescription { + font-style: normal; + font-weight: 400; + font-size: 13px; + line-height: 20px; + height: 20px; + color: #444444; + margin-left: 24px; + margin-top: 8px; +} + +.lightningCardMain { + padding: 0px; + margin: 0px; + padding-top: 0px; + --slds-c-card-header-spacing-block-end: 0px; + --slds-c-card-header-spacing-block-start: 0px; + /* Removes SF Card body padding/margin top/bottom only */ + --slds-c-card-body-spacing-block-start: 0px; + --slds-c-card-body-spacing-block-end: 0px; +} + +.lightningTabMain { + padding-left: 0px; + --slds-c-card-header-spacing-block-end: 0px; + --slds-c-card-header-spacing-block-start: 0px; + /* Removes SF Card body padding/margin top/bottom only */ + --slds-c-card-body-spacing-block-start: 0px; + --slds-c-card-body-spacing-block-end: 0px; + padding-bottom: 0px; +} + +.footerLayout { + height: 56px; + background-color: #f3f3f3; + padding-right: 100px; + margin-top: 24px; + margin-bottom: 0px; +} + +.saveButton { + margin-top: 11px; +} + +.assignmentPermissionLayout { + margin-top: 10px; + margin-left: 24px; +} + +.permissionText { + margin-top: 25px; + margin-left: 24px; + font-style: normal; + font-size: 16px; + line-height: 24px; + height: 24px; + color: #181818; +} + +.permissionSubText { + margin-top: 8px; + margin-left: 24px; + font-style: normal; + font-size: 13px; + line-height: 20px; + color: #444444; +} + +.mobileWorkerText { + margin-top: 25px; + margin-left: 24px; + font-style: normal; + font-size: 12px; + line-height: 18px; +} + +.horizonUnitsInputField { + margin-top: 25px; + margin-left: 24px; + width: 346px; +} + +.horizonInputField { + width: 100%; +} + +.daysText { + margin-top: 30px; + margin-left: 7px; +} + +.modal { + /* Enable scroll if needed */ + /* Black w/ opacity */ + -webkit-animation-name: fadeIn; + /* Fade in the background */ + -webkit-animation-duration: 1.2s; +} + +/* Modal Content */ + +.modal-content { + position: fixed; + bottom: 0; + background-color: #fefefe; + -webkit-animation-name: slideIn; + -webkit-animation-duration: 1s; + border-radius: 16px 16px 0px 0px !important; +} diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.html b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.html similarity index 100% rename from FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.html rename to projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.html diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.js b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.js new file mode 100644 index 0000000..9327769 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.js @@ -0,0 +1,440 @@ +/* eslint-disable @lwc/lwc/no-api-reassignments */ +/* eslint-disable no-unused-expressions */ +import { LightningElement, track, api } from "lwc"; +import getSchedulingPolicyList from "@salesforce/apex/FollowUpAppointmentController.getSchedulingPolicyList"; +import getOperatingHoursList from "@salesforce/apex/FollowUpAppointmentController.getOperatingHoursList"; +import saveSettings from "@salesforce/apex/FollowUpAppointmentController.saveSettings"; +import getConfigurationData from "@salesforce/apex/FollowUpAppointmentController.getConfigurationData"; +import checkPermSetAssignedToUser from "@salesforce/apex/FollowUpAppointmentController.checkPermSetAssignedToUser"; + +import customLabels from "./labels"; + +export default class followUpAppointmentSettingsContainer extends LightningElement { + @track objectList = []; + LABELS = customLabels; + @track operatingHourList = []; + @track slotDisplayOptions = []; + @api technicianAssigmentSelected = ""; + showDialogBox = false; + @track showWOSAoption = false; + @track showWOLISAoption = false; + @api reloadChildComponent = false; + @api hasUnsavedChanges = false; + + arrival_window = this.LABELS.FollowUpAppointments_arriwal_window_title; + exact_appointment_time = + this.LABELS.FollowUpAppointments_exact_appointment_time_title; + + @api schedulingPolicySelected; + @api operatingHoursSelected; + @api appointmentSlotOptionSelected; + @api schedulingHorizonUnits; + dataLoaded; + + @api savedOH; + @api savedSP; + @api savedAppointmentSlotSelected; + @api savedSchedulingHorizonUnits; + @api savedTechnicianAssignment; + @api savedObjectCreation; + + isCreateWorkOrderEnabled = false; + isCreateWorkOrderLineItemEnabled = false; + isCreateSAenabled = false; + disableSaveButton = true; + + connectedCallback() { + this.callAPEX(); + } + + callAPEX() { + console.log("Apex method called "); + + /** + * GET scheduling Policy + */ + this.dataLoaded = false; + this.objectList = []; + getSchedulingPolicyList() + .then((data) => { + if (data.error) { + throw new Error(data.error); + } else { + for (let i = 0; i < data.length; i++) { + this.objectList = [ + ...this.objectList, + { value: data[i], label: data[i] } + ]; + } + this.dataLoaded = true; + } + }) + .catch((error) => { + console.error("Error while getting scheduling policy : " + error); + }); + + this.operatingHourList = []; + getOperatingHoursList() + .then((data) => { + if (data.error) { + throw new Error(data.error); + } else { + for (let i = 0; i < data.length; i++) { + this.operatingHourList = [ + ...this.operatingHourList, + { value: data[i], label: data[i] } + ]; + } + this.dataLoaded = true; + } + }) + .catch((error) => { + console.log("Error while getting scheduling policy : " + error); + }); + + this.slotDisplayOptions = []; + this.slotDisplayOptions = [ + ...this.slotDisplayOptions, + { value: this.arrival_window, label: this.arrival_window } + ]; + this.slotDisplayOptions = [ + ...this.slotDisplayOptions, + { value: this.exact_appointment_time, label: this.exact_appointment_time } + ]; + + /** + * Function to reload the settings from followup custom object + */ + + checkPermSetAssignedToUser() + .then((data) => { + if (data.error) { + console.error("Error while assigning permission set " + data.error); + } else { + // if permission is assigned , get the configuration data. + this.loadConfigurationDetails(); + } + }) + .catch((error) => { + console.log("Error while retrieving settings object - ", error); + }); + } + + loadConfigurationDetails() { + this.dataLoaded = false; + getConfigurationData() + .then((settings) => { + if (settings.error) { + console.error( + "Error while retrieving settings object " + settings.error + ); + this.validateSaveButton(); + } else if (settings.null) { + // No record found + this.disableSaveButton = true; + console.error( + "Got settings object successfully, No record found in SDB" + ); + } else { + console.log("Got settings object successfully"); + + this.operatingHoursSelected = this.savedOH = + settings.operatingHoursName; + this.schedulingPolicySelected = this.savedSP = + settings.schedulingPolicyName; + this.schedulingHorizonUnits = this.savedSchedulingHorizonUnits = + settings.schedulingHorizonValue; + console.log( + "Show exact arrival time is : " + settings.showExactArrivalTime + ); + + if (settings.showExactArrivalTime === "true") { + this.appointmentSlotOptionSelected = this.exact_appointment_time; + } else { + this.appointmentSlotOptionSelected = this.arrival_window; + } + this.savedAppointmentSlotSelected = + this.appointmentSlotOptionSelected; + + // assignment permission + this.technicianAssigmentSelected = this.savedTechnicianAssignment = + settings.Technician_Assigment__c; + + const myArray = settings.objectsToCreate.split(","); + this.objectCreationAllowed = this.savedObjectCreation = myArray[0]; + console.log("1st array object is : " + this.objectCreationAllowed); + myArray[0] === "workOrder" + ? (this.showWOSAoption = true) + : (this.showWOSAoption = false); + myArray[0] === "workOrderLineItem" + ? (this.showWOLISAoption = true) + : (this.showWOLISAoption = false); + + if (myArray.length > 1 && myArray[1].length > 0) { + myArray[0] === "workOrder" + ? (this.isSAWOselected = true) + : (this.isSAWOLIselected = true); + } + this.validateSaveButton(); + this.dataLoaded = true; + } + }) + .catch((error) => { + console.log("Error while retrieving settings object - ", error); + }); + } + + get assignmentPermissionOptions() { + return [ + { + label: + this.LABELS + .FollowUpAppointments_MobileWorkerAsignTo_themselves_or_anyWorker, + value: "1" + }, + { + label: this.LABELS.FollowUpAppointments_MobileWorkerAsignTo_any_worker, + value: "2" + }, + { + label: this.LABELS.FollowUpAppointments_MobileWorkerAsignTo_themselves, + value: "3" + } + ]; + } + + get workOrderOption() { + return [ + { + label: this.LABELS.FollowUpAppointments_objectName_WorkOrder, + value: "WorkOrder" + } + ]; + } + + get serviceAppointmentOption() { + return [ + { + label: this.LABELS.FollowUpAppointments_objectName_ServiceAppointment, + value: "ServiceAppointment" + } + ]; + } + + get workOrderLineItemOption() { + return [ + { + label: this.LABELS.FollowUpAppointments_objectName_WorkOrderLineItem, + value: "WorkOrderLineItem" + } + ]; + } + + onAssignementPermissionChange(event) { + this.selectedAssigmentPermission = event.target.value; + this.savedTechnicianAssignment !== this.selectedAssigmentPermission + ? (this.hasUnsavedChanges = true) + : (this.hasUnsavedChanges = false); + this.technicianAssigmentSelected = event.target.value; + this.validateSaveButton(); + } + + // onCreateObjectPerChange(event) { + // var value = event.target.value; + // console.log("Selected check box is : "+value); + // if(value === "WorkOrder") { + // this.isCreateWorkOrderEnabled = event.target.checked; + // } else if(value === "WorkOrderLineItem") { + // this.isCreateWorkOrderLineItemEnabled = event.target.checked; + // } else if(value === "ServiceAppointment") { + // this.isCreateSAenabled = event.target.checked; + // } + // } + + objectCreationAllowed = ""; + onMobileUserObjectSelected(event) { + const option = event.target.value; + console.log("OnMobile user object selected : " + option); + this.objectCreationAllowed = option; + this.savedObjectCreation !== this.objectCreationAllowed + ? (this.hasUnsavedChanges = true) + : (this.hasUnsavedChanges = false); + this.validateSaveButton(); + } + + isSAWOselected = false; + isSAWOLIselected = false; + handleSAforWO(event) { + this.isSAWOselected = event.target.checked; + } + handleSAforWOLI(event) { + this.isSAWOLIselected = event.target.checked; + } + + @api handleSaveEvent() { + console.log("Save event executed"); + + let arr = []; + arr.push(this.schedulingPolicySelected); // 0 + arr.push(this.operatingHoursSelected); // 1 + if (this.appointmentSlotOptionSelected === this.exact_appointment_time) { + arr.push(true); // 2 + } else { + arr.push(false); //2 + } + + arr.push(this.schedulingHorizonUnits); // 3 + + let objectAllowedToBeCreated = ""; + + this.objectCreationAllowed === "ServiceAppointment" + ? (objectAllowedToBeCreated = + objectAllowedToBeCreated + "ServiceAppointment") + : objectAllowedToBeCreated; + + if (this.objectCreationAllowed === "WorkOrder") { + objectAllowedToBeCreated = objectAllowedToBeCreated + "WorkOrder"; + } + if (this.objectCreationAllowed === "WorkOrderLineItem") { + objectAllowedToBeCreated = objectAllowedToBeCreated + "WorkOrderLineItem"; + } + + arr.push(objectAllowedToBeCreated); // 4 + arr.push(this.technicianAssigmentSelected); //5 + + // create object perm for technician + + arr.push(objectAllowedToBeCreated); //6 + + saveSettings({ inputArr: arr }) + .then((data) => { + if (data.error) { + console.error("Got error while saving the data : " + data); + throw new Error(data.error); + } else { + console.log("saved successfully"); + this.showToastMessages( + this.LABELS.FollowUpAppointments_settingPage_save_message, + this.successVariant + ); + this.reloadChildComponent = true; + this.hasUnsavedChanges = false; + this.disableSaveButton = true; + this.callAPEX(); // call this function to ensure all variables are loaded again after save + } + }) + .catch((error) => { + console.log("Error while getting scheduling policy : " + error); + this.showToastMessages( + this.LABELS.FollowUpAppointments_settingPage_error_message + + " : " + + error.message, + this.errorVariant + ); + }); + } + + /** + * + * Reload the screen when cancel event is called + */ + @api handleCancelEvent() { + this.callAPEX(); + } + + handleTabChangeEvent() { + if (this.hasUnsavedChanges) { + this.showToastMessages( + this.LABELS.FollowUpAppointments_settingPage_warning_message, + this.warningVariant + ); + } + this.reloadChildComponent + ? (this.reloadChildComponent = false) + : (this.reloadChildComponent = true); + console.log("Lightning tab value changed"); + } + + handleSchedulingPolicyChange(event) { + this.schedulingPolicySelected = event.detail.value; + this.savedSP !== this.schedulingPolicySelected + ? (this.hasUnsavedChanges = true) + : (this.hasUnsavedChanges = false); + this.validateSaveButton(); + } + + handleOperatingHoursChange(event) { + this.operatingHoursSelected = event.detail.value; + this.savedOH !== this.operatingHoursSelected + ? (this.hasUnsavedChanges = true) + : (this.hasUnsavedChanges = false); + this.validateSaveButton(); + } + + handleAppointmentSlotSelectionChange(event) { + this.appointmentSlotOptionSelected = event.detail.value; + this.savedAppointmentSlotSelected !== this.appointmentSlotOptionSelected + ? (this.hasUnsavedChanges = true) + : (this.hasUnsavedChanges = false); + this.validateSaveButton(); + } + + onSchedulingHorizonValueChange(event) { + this.schedulingHorizonUnits = event.detail.value; + let nameCmp = this.template.querySelector(".horizonInputField"); + + // check if the entered value is numeric + let regexPattern = /^-?[0-9]+$/; + let result = regexPattern.test(this.schedulingHorizonUnits); + if (event.detail.value && result) { + nameCmp.setCustomValidity(""); + } else { + nameCmp.setCustomValidity("Enter a number."); + } + this.savedSchedulingHorizonUnits !== this.schedulingHorizonUnits + ? (this.hasUnsavedChanges = true) + : (this.hasUnsavedChanges = false); + this.validateSaveButton(); + } + + @api successVariant = "success"; + @api errorVariant = "error"; + @api warningVariant = "warning"; + + showToastMessages(message, variant) { + this.template + .querySelector("c-follow-up-appointment-custom-toast-notifications") + .showToast(variant, message); + } + + closeDialog() { + this.showDialogBox = false; + } + + validateSaveButton() { + if ( + this.schedulingPolicySelected && + this.operatingHoursSelected && + this.appointmentSlotOptionSelected && + this.objectCreationAllowed && + this.technicianAssigmentSelected && + this.schedulingHorizonUnits + ) { + if ( + this.schedulingPolicySelected === this.savedSP && + this.operatingHoursSelected === this.savedOH && + this.appointmentSlotOptionSelected === + this.savedAppointmentSlotSelected && + this.objectCreationAllowed === this.savedObjectCreation && + this.technicianAssigmentSelected === this.savedTechnicianAssignment && + this.schedulingHorizonUnits === this.savedSchedulingHorizonUnits + ) { + this.disableSaveButton = true; + } else { + this.disableSaveButton = false; + } + } else { + this.disableSaveButton = true; + } + } +} diff --git a/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.js-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.js-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/followUpAppointmentSettingsContainer.js-meta.xml diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/labels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/labels.js new file mode 100644 index 0000000..534db43 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/followUpAppointmentSettingsContainer/labels.js @@ -0,0 +1,67 @@ +import FollowUpAppointments_SchedulingPolicyTitle from "@salesforce/label/c.FollowUpAppointments_SchedulingPolicyTitle"; +import FollowUpAppointments_field_service_title from "@salesforce/label/c.FollowUpAppointments_field_service_title"; +import FollowUpAppointments_OperatingHoursTitle from "@salesforce/label/c.FollowUpAppointments_OperatingHoursTitle"; +import FollowUpAppointments_ShowAppointmentSlotsTitle from "@salesforce/label/c.FollowUpAppointments_ShowAppointmentSlotsTitle"; +import FollowUpAppointments_SchedulingHorizonUnitsTitle from "@salesforce/label/c.FollowUpAppointments_SchedulingHorizonUnitsTitle"; +import FollowUpAppointments_DaysTitle from "@salesforce/label/c.FollowUpAppointments_DaysTitle"; +import FollowUpAppointments_Permissions from "@salesforce/label/c.FollowUpAppointments_Permissions"; +import FollowUpAppointments_AssignmentPermission from "@salesforce/label/c.FollowUpAppointments_AssignmentPermission"; +import FollowUpAppointments_MobileWorkerAsignTo_themselves_or_anyWorker from "@salesforce/label/c.FollowUpAppointments_MobileWorkerAsignTo_themselves_or_anyWorker"; +import FollowUpAppointments_MobileWorkerAsignTo_themselves from "@salesforce/label/c.FollowUpAppointments_MobileWorkerAsignTo_themselves"; +import FollowUpAppointments_MobileWorkerAsignTo_any_worker from "@salesforce/label/c.FollowUpAppointments_MobileWorkerAsignTo_any_worker"; +import FollowUpAppointments_Allow_tech_to_create_object_title from "@salesforce/label/c.FollowUpAppointments_Allow_tech_to_create_object_title"; +import FollowUpAppointments_objectName_ServiceAppointment from "@salesforce/label/c.FollowUpAppointments_objectName_ServiceAppointment"; +import FollowUpAppointments_objectName_WorkOrder from "@salesforce/label/c.FollowUpAppointments_objectName_WorkOrder"; +import FollowUpAppointments_objectName_WorkOrderLineItem from "@salesforce/label/c.FollowUpAppointments_objectName_WorkOrderLineItem"; + +import FollowUpAppointments_arriwal_window_title from "@salesforce/label/c.FollowUpAppointments_arriwal_window_title"; +import FollowUpAppointments_exact_appointment_time_title from "@salesforce/label/c.FollowUpAppointments_exact_appointment_time_title"; + +import FollowUpAppointments_setting_sub_title from "@salesforce/label/c.FollowUpAppointments_setting_sub_title"; +import FollowUpAppointments_setting_description_text from "@salesforce/label/c.FollowUpAppointments_setting_description_text"; + +import FollowUpAppointments_placeHolder_select_an_option from "@salesforce/label/c.FollowUpAppointments_placeHolder_select_an_option"; +import FollowUpAppointments_placeHolder_enter_number from "@salesforce/label/c.FollowUpAppointments_placeHolder_enter_number"; + +import FollowUpAppointments_settingPage_save_message from "@salesforce/label/c.FollowUpAppointments_settingPage_save_message"; +import FollowUpAppointments_settingPage_error_message from "@salesforce/label/c.FollowUpAppointments_settingPage_error_message"; + +import FollowUpAppointments_setting_page_title from "@salesforce/label/c.FollowUpAppointments_setting_page_title"; +import FollowUpAppointments_Permissions_subtext from "@salesforce/label/c.FollowUpAppointments_Permissions_subtext"; + +import FollowUpAppointments_setting_page_save_button_label from "@salesforce/label/c.FollowUpAppointments_setting_page_save_button_label"; +import FollowUpAppointments_setting_page_cancel_button_label from "@salesforce/label/c.FollowUpAppointments_setting_page_cancel_button_label"; +import FollowUpAppointments_settingPage_warning_message from "@salesforce/label/c.FollowUpAppointments_settingPage_warning_message"; + +const customLabels = { + FollowUpAppointments_field_service_title, + FollowUpAppointments_SchedulingPolicyTitle, + FollowUpAppointments_setting_sub_title, + FollowUpAppointments_setting_description_text, + FollowUpAppointments_OperatingHoursTitle, + FollowUpAppointments_ShowAppointmentSlotsTitle, + FollowUpAppointments_SchedulingHorizonUnitsTitle, + FollowUpAppointments_DaysTitle, + FollowUpAppointments_Permissions, + FollowUpAppointments_AssignmentPermission, + FollowUpAppointments_MobileWorkerAsignTo_themselves_or_anyWorker, + FollowUpAppointments_MobileWorkerAsignTo_themselves, + FollowUpAppointments_MobileWorkerAsignTo_any_worker, + FollowUpAppointments_Allow_tech_to_create_object_title, + FollowUpAppointments_objectName_ServiceAppointment, + FollowUpAppointments_objectName_WorkOrder, + FollowUpAppointments_objectName_WorkOrderLineItem, + FollowUpAppointments_arriwal_window_title, + FollowUpAppointments_exact_appointment_time_title, + FollowUpAppointments_placeHolder_select_an_option, + FollowUpAppointments_placeHolder_enter_number, + FollowUpAppointments_settingPage_error_message, + FollowUpAppointments_settingPage_save_message, + FollowUpAppointments_setting_page_title, + FollowUpAppointments_Permissions_subtext, + FollowUpAppointments_setting_page_save_button_label, + FollowUpAppointments_setting_page_cancel_button_label, + FollowUpAppointments_settingPage_warning_message +}; + +export default customLabels; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/labels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/labels.js new file mode 100644 index 0000000..102dfe4 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/labels.js @@ -0,0 +1,49 @@ +import FollowUpAppointments_MonthName_January from "@salesforce/label/c.FollowUpAppointments_MonthName_January"; +import FollowUpAppointments_MonthName_February from "@salesforce/label/c.FollowUpAppointments_MonthName_February"; +import FollowUpAppointments_MonthName_March from "@salesforce/label/c.FollowUpAppointments_MonthName_March"; +import FollowUpAppointments_MonthName_April from "@salesforce/label/c.FollowUpAppointments_MonthName_April"; +import FollowUpAppointments_MonthName_May from "@salesforce/label/c.FollowUpAppointments_MonthName_May"; +import FollowUpAppointments_MonthName_June from "@salesforce/label/c.FollowUpAppointments_MonthName_June"; +import FollowUpAppointments_MonthName_July from "@salesforce/label/c.FollowUpAppointments_MonthName_July"; +import FollowUpAppointments_MonthName_August from "@salesforce/label/c.FollowUpAppointments_MonthName_August"; +import FollowUpAppointments_MonthName_September from "@salesforce/label/c.FollowUpAppointments_MonthName_September"; +import FollowUpAppointments_MonthName_October from "@salesforce/label/c.FollowUpAppointments_MonthName_October"; +import FollowUpAppointments_MonthName_November from "@salesforce/label/c.FollowUpAppointments_MonthName_November"; +import FollowUpAppointments_MonthName_December from "@salesforce/label/c.FollowUpAppointments_MonthName_December"; + +import FollowUpAppointments_WeekDayShort_Mon from "@salesforce/label/c.FollowUpAppointments_WeekDayShort_Mon"; +import FollowUpAppointments_WeekDayShort_Tue from "@salesforce/label/c.FollowUpAppointments_WeekDayShort_Tue"; +import FollowUpAppointments_WeekDayShort_Wed from "@salesforce/label/c.FollowUpAppointments_WeekDayShort_Wed"; +import FollowUpAppointments_WeekDayShort_Thu from "@salesforce/label/c.FollowUpAppointments_WeekDayShort_Thu"; +import FollowUpAppointments_WeekDayShort_Fri from "@salesforce/label/c.FollowUpAppointments_WeekDayShort_Fri"; +import FollowUpAppointments_WeekDayShort_Saturday from "@salesforce/label/c.FollowUpAppointments_WeekDayShort_Saturday"; +import FollowUpAppointments_WeekDayShort_Sunday from "@salesforce/label/c.FollowUpAppointments_WeekDayShort_Sunday"; +import FollowUpAppointments_Select_a_Date from "@salesforce/label/c.FollowUpAppointments_Select_a_Date"; +import FollowUpAppointments_OK from "@salesforce/label/c.FollowUpAppointments_OK"; + +const customLabels = { + FollowUpAppointments_MonthName_January, + FollowUpAppointments_MonthName_February, + FollowUpAppointments_MonthName_March, + FollowUpAppointments_MonthName_April, + FollowUpAppointments_MonthName_May, + FollowUpAppointments_MonthName_June, + FollowUpAppointments_MonthName_July, + FollowUpAppointments_MonthName_August, + FollowUpAppointments_MonthName_September, + FollowUpAppointments_MonthName_October, + FollowUpAppointments_MonthName_November, + FollowUpAppointments_MonthName_December, + + FollowUpAppointments_WeekDayShort_Mon, + FollowUpAppointments_WeekDayShort_Tue, + FollowUpAppointments_WeekDayShort_Wed, + FollowUpAppointments_WeekDayShort_Thu, + FollowUpAppointments_WeekDayShort_Fri, + FollowUpAppointments_WeekDayShort_Saturday, + FollowUpAppointments_WeekDayShort_Sunday, + FollowUpAppointments_Select_a_Date, + FollowUpAppointments_OK +}; + +export default customLabels; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.css b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.css new file mode 100644 index 0000000..7839a9c --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.css @@ -0,0 +1,199 @@ +.calendar-nav-header { + margin-top: 10px; + padding-top: 12px; + padding-bottom: 12px; + align-items: center; +} +.selectedDay { + border-radius: 50%; + color: #ffff; + height: 32px; + width: 32px; + background-color: #0176d3 !important; +} +.unselectedDay { + color: rgb(43, 40, 38); + height: 32px; + width: 32px; +} +.blockDate { + color: rgb(201, 199, 197); + height: 32px; + width: 32px; +} +.currentDay { + color: rgba(1, 1, 1, 1); + border-radius: 50%; + height: 32px; + width: 32px; + border: 1px solid rgba(1, 1, 1, 1) !important; +} +.currentDayBlocked { + color: rgb(201, 199, 197); + border-radius: 50%; + height: 32px; + width: 32px; + border: 1px solid rgba(159, 170, 181, 0.5) !important; + background-color: #eeeeee !important; +} +.btn { + border: none; + cursor: pointer; + display: inline-block; + border: none; + background-color: inherit; + padding: 0px; + margin-top: 6px; + height: 32px; + width: 32px; +} +.monthButton { + height: 24px; + font-size: 18px; + font-weight: 500; + letter-spacing: 0.38px; + line-height: 24px; + display: flex; + align-items: center; + --slds-c-button-text-color: #0176d3; +} +.full-calendar-month-button { + font-style: normal; + font-weight: 500; + font-size: 18px; + line-height: 21px; + display: flex; + align-items: center; + color: #181818; + margin-top: 16px; + margin-left: 10px; +} +tr { + text-align: center; +} +td { + text-align: center; + box-sizing: initial; + color: rgb(0, 112, 210); + height: 44px; + font-size: 16px; + font-weight: normal; + letter-spacing: -0.38px; +} +th { + text-align: center; + box-sizing: initial; + color: rgb(112, 110, 107); + font-size: 13px; + font-weight: normal; + letter-spacing: -0.08px; + line-height: 18px; + width: 44px; +} +.table { + font-size: medium; + vertical-align: middle; +} +*:focus { + outline: none; +} +.rightButton { + margin-left: 0px; + margin-right: 0px; + padding-left: 0px; + padding-right: 0px; + position: relative; + color: rgb(106, 106, 106); +} +.leftButton { + margin-left: 0px; + margin-right: 8px; + padding-left: 0px; + padding-right: 0px; + position: relative; + color: rgb(106, 106, 106); +} +.slds-popover { + z-index: 9000; +} + +.modal { + position: fixed; + top: auto; + bottom: 0px; + left: 0px; + height: 99%; + overflow-y: auto; +} +.breakLine { + margin: 0; + margin: 0 -16px 5px -16px; +} +.full-calendar-close-btn { + cursor: pointer; +} +.slds-modal__header { + padding: 14px; +} +.select-a-date-title { + font-style: normal; + font-weight: 600; + font-size: 18px; + line-height: 21px; + display: flex; + align-items: center; + text-align: center; + color: #181818; +} +.modal-footer { + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: center; + padding: 16px; + gap: 16px; + height: 80px; + border-radius: 0px; + flex: none; + order: 3; + align-self: stretch; + flex-grow: 0; + border-top: 1px solid rgba(159, 170, 181, 0.5); + position: fixed; + bottom: 0; + left: 0; + right: 0; + background-color: white; + z-index: 100; + padding-bottom: 24px; +} +.confirmBtn { + width: 100%; + left: 50%; + -ms-transform: translate(-50%, 0%); + transform: translate(-50%, 0%); + height: 50px; + font-size: 16px; + border-radius: 12px; + background-color: #0176d3; + font-weight: 500; +} +.dialogContainer { + padding: 60px 16px 80px 16px; + height: 99vh; +} +@media screen and (orientation: landscape) { + .slds-modal__container { + height: 130vh !important; + } +} + +.changecolor { + --lwc-colorTextIconDefault: #0176d3; + fill: #0176d3; + --sds-c-icon-color-foreground-default: #0176d3; +} + +.scrollableweek { + overflow-y: auto; +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.html b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.html new file mode 100644 index 0000000..93c9abc --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.html @@ -0,0 +1,318 @@ + diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js similarity index 82% rename from FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js rename to projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js index 5766da9..d443257 100644 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js @@ -1,5 +1,5 @@ -import { LightningElement, api, track } from 'lwc'; -import customLabels from './labels'; +import { LightningElement, api, track } from "lwc"; +import customLabels from "./labels"; export default class AaRebookingCalendar extends LightningElement { LABELS = customLabels; @@ -15,7 +15,7 @@ export default class AaRebookingCalendar extends LightningElement { this.LABELS.FollowUpAppointments_MonthName_September, this.LABELS.FollowUpAppointments_MonthName_October, this.LABELS.FollowUpAppointments_MonthName_November, - this.LABELS.FollowUpAppointments_MonthName_December, + this.LABELS.FollowUpAppointments_MonthName_December ]; weekDaysArray = [ @@ -25,7 +25,7 @@ export default class AaRebookingCalendar extends LightningElement { this.LABELS.FollowUpAppointments_WeekDayShort_Wed, this.LABELS.FollowUpAppointments_WeekDayShort_Thu, this.LABELS.FollowUpAppointments_WeekDayShort_Fri, - this.LABELS.FollowUpAppointments_WeekDayShort_Saturday, + this.LABELS.FollowUpAppointments_WeekDayShort_Saturday ]; //passed from props @@ -109,7 +109,7 @@ export default class AaRebookingCalendar extends LightningElement { if (this.firstWeekDayIndex > 0) { for (let j = 0; j < this.firstWeekDayIndex; j++) { this.weekDaysArray.push(this.weekDaysArray.shift()); - console.log('New array is : ' + this.weekDaysArray); + console.log("New array is : " + this.weekDaysArray); } } } @@ -119,7 +119,7 @@ export default class AaRebookingCalendar extends LightningElement { } getYearMonthTitle(date) { - return this.months[date.getMonth()] + ' ' + date.getFullYear(); + return this.months[date.getMonth()] + " " + date.getFullYear(); } getWeekNoFromDate(date) { @@ -137,7 +137,7 @@ export default class AaRebookingCalendar extends LightningElement { calculateDateFromMonth(date, month) { var newDate = date; newDate.setMonth(date.getMonth() + month); - console.log('new Month is : ' + newDate); + console.log("new Month is : " + newDate); return newDate; } @@ -147,7 +147,7 @@ export default class AaRebookingCalendar extends LightningElement { var day = d.getDay(); var diff = d.getDate() - day + (start > day ? start - 7 : start); d.setDate(diff); - console.log('First day of week is : ' + d.getDate()); + console.log("First day of week is : " + d.getDate()); return d; } @@ -162,11 +162,13 @@ export default class AaRebookingCalendar extends LightningElement { connectedCallback() { //Fix for the issue that can't scroll down when full calendar is open and moving to landscape mode (W-12181896) - document.body.style.overflow = 'auto'; + document.body.style.overflow = "auto"; this.arrangeWeekDayArray(); if (this.isWeekView) { - this.showWeekView(this.getFirstDayOfWeek(this.currentSelectedDate, this.firstWeekDayIndex)); + this.showWeekView( + this.getFirstDayOfWeek(this.currentSelectedDate, this.firstWeekDayIndex) + ); } else { this.showMonthView(new Date()); } @@ -178,7 +180,7 @@ export default class AaRebookingCalendar extends LightningElement { */ showWeekView(firstdayOfWeek) { - console.log('First day of the week is : ' + firstdayOfWeek); + console.log("First day of the week is : " + firstdayOfWeek); this.boolShowPopover = false; this.noOfMonths = []; let firstArr = []; @@ -191,20 +193,25 @@ export default class AaRebookingCalendar extends LightningElement { tempDate.setDate(firstdayOfWeek.getDate() + i); firstArr.date = tempDate.getDate(); firstArr.value = tempDate; - firstArr.id = 'd' + tempDate.getDate(); + firstArr.id = "d" + tempDate.getDate(); tempRow.push(firstArr); } this.noofWeeks.push(tempRow); - console.log('Size of new array is : ' + this.noofWeeks.length); + console.log("Size of new array is : " + this.noofWeeks.length); } - this.currentMonthYearLabel = this.getYearMonthTitle(this.currentSelectedDate); - this.alternativeTextForMonthBtn = 'View month for ' + this.currentMonthYearLabel; + this.currentMonthYearLabel = this.getYearMonthTitle( + this.currentSelectedDate + ); + this.alternativeTextForMonthBtn = + "View month for " + this.currentMonthYearLabel; this.validateIfSelectedDateIsInRange(this.currentSelectedDate); this.setSelectedDateInWeekView(this.currentSelectedDate); if (this.disableDateBeforeCurrentDate) { this.validateLeftSwipeAction(firstdayOfWeek); } - this.validateRightSwipeAction(this.getLastDayOfWeek(firstdayOfWeek, this.firstWeekDayIndex)); + this.validateRightSwipeAction( + this.getLastDayOfWeek(firstdayOfWeek, this.firstWeekDayIndex) + ); } /** @@ -228,8 +235,14 @@ export default class AaRebookingCalendar extends LightningElement { let nextMonth = newDate.setMonth(currMonth + a); let newCurrMonth = new Date(nextMonth); calendarSelectedDate = newCurrMonth; - const firstDay = new Date(newCurrMonth.getFullYear(), newCurrMonth.getMonth()).getDay(); - const getNoOfDays = this.getDaysInMonth(newCurrMonth.getFullYear(), newCurrMonth.getMonth()); + const firstDay = new Date( + newCurrMonth.getFullYear(), + newCurrMonth.getMonth() + ).getDay(); + const getNoOfDays = this.getDaysInMonth( + newCurrMonth.getFullYear(), + newCurrMonth.getMonth() + ); let date = 1; let noofWeeks = []; @@ -240,8 +253,8 @@ export default class AaRebookingCalendar extends LightningElement { for (let i = 0; i < this.weekDaysArray.length; i++) { arr = []; if (j === 0 && i < firstDay) { - arr.date = ''; - arr.value = ''; + arr.date = ""; + arr.value = ""; days.push(arr); } else if (getNoOfDays >= date) { let dateValue = new Date(calendarSelectedDate); @@ -251,7 +264,10 @@ export default class AaRebookingCalendar extends LightningElement { arr.date = date; arr.value = dateValue; hasWeeksDate = true; - } else if (new Date(dateValue.setHours(0, 0, 0, 0)) > this.maxValidCalendarDate) { + } else if ( + new Date(dateValue.setHours(0, 0, 0, 0)) > + this.maxValidCalendarDate + ) { arr.date = date; arr.value = dateValue; hasWeeksDate = true; @@ -269,7 +285,9 @@ export default class AaRebookingCalendar extends LightningElement { arr.currentDay = true; } if (this.selectedDateByUser) { - let selectedDate = new Date(this.selectedDateByUser.setHours(0, 0, 0, 0)).getTime(); + let selectedDate = new Date( + this.selectedDateByUser.setHours(0, 0, 0, 0) + ).getTime(); if (currentDay === selectedDate) { arr.selected = true; } @@ -304,32 +322,32 @@ export default class AaRebookingCalendar extends LightningElement { months += d2.getMonth(); return months <= 0 ? 0 : months; } catch (e) { - console.error('getMonthDiff error: => ' + e.message); + console.error("getMonthDiff error: => " + e.message); return 0; } } handleClick(event) { switch (event.target.title) { - case 'previous': { + case "previous": { this.handlePreviousButtonClick(); break; } - case 'next': { + case "next": { this.handleNextButtonClick(); break; } - case 'Cancel': { + case "Cancel": { this.isWeekView = true; this.boolShowPopover = false; - document.body.style.overflow = 'auto'; + document.body.style.overflow = "auto"; this.selectedDateByUser = this.previousSelectedDateByUser; this.setSelectedDateInWeekView(this.currentSelectedDate); break; } - case 'OK': { + case "OK": { this.boolShowPopover = false; - document.body.style.overflow = 'auto'; + document.body.style.overflow = "auto"; if (this.selectedDateByUser) { this.handleDateSelectionEvent(this.selectedDateByUser, false); } @@ -338,7 +356,7 @@ export default class AaRebookingCalendar extends LightningElement { } default: { - if (event.currentTarget.title === 'weekViewDateId') { + if (event.currentTarget.title === "weekViewDateId") { let selectedDate = new Date(event.currentTarget.dataset.id); let days = selectedDate.getDate(); this.handleDateSelectionEvent(selectedDate, true); @@ -349,24 +367,38 @@ export default class AaRebookingCalendar extends LightningElement { this.noofWeeks[week][day].selected = false; if (this.noofWeeks[week][day].date === days) { this.noofWeeks[week][day].selected = true; - this.selectedDateByUser = new Date(event.currentTarget.dataset.id); + this.selectedDateByUser = new Date( + event.currentTarget.dataset.id + ); } } } } - if (event.currentTarget.title === 'monthViewDateId') { - if (event.currentTarget.dataset.id && event.currentTarget.dataset.id != null) { + if (event.currentTarget.title === "monthViewDateId") { + if ( + event.currentTarget.dataset.id && + event.currentTarget.dataset.id != null + ) { let selectedDate = new Date(event.currentTarget.dataset.id); let isValidDate = false; for (let month = 0; month < this.noOfMonths.length; month++) { - for (let week = 0; week < this.noOfMonths[month].weeks.length; week++) { - for (let day = 0; day < this.noOfMonths[month].weeks[week].length; day++) { + for ( + let week = 0; + week < this.noOfMonths[month].weeks.length; + week++ + ) { + for ( + let day = 0; + day < this.noOfMonths[month].weeks[week].length; + day++ + ) { this.noOfMonths[month].weeks[week][day].selected = false; // this line is causing isse when using ===. Hence reverting the lint change. // eslint-disable-next-line eqeqeq if ( - this.noOfMonths[month].weeks[week][day].value == event.currentTarget.dataset.id + this.noOfMonths[month].weeks[week][day].value === + event.currentTarget.dataset.id ) { if (this.noOfMonths[month].weeks[week][day].isValidDate) { isValidDate = true; @@ -390,7 +422,7 @@ export default class AaRebookingCalendar extends LightningElement { this.isWeekView = false; this.showMonthView(new Date()); this.boolShowPopover = true; - document.body.style.overflow = 'hidden'; + document.body.style.overflow = "hidden"; } getCurrentDate() { @@ -433,7 +465,9 @@ export default class AaRebookingCalendar extends LightningElement { } // SHOW CURRENT DATE IN WEEK VIEW - if (this.noofWeeks[week][day].value.setHours(0, 0, 0, 0) === currentDate) { + if ( + this.noofWeeks[week][day].value.setHours(0, 0, 0, 0) === currentDate + ) { this.noofWeeks[week][day].currentDay = true; } } @@ -471,13 +505,15 @@ export default class AaRebookingCalendar extends LightningElement { if (!this.isWeekView) { this.isWeekView = true; this.boolShowPopover = false; - document.body.style.overflow = 'auto'; + document.body.style.overflow = "auto"; this.currentSelectedDate = selectedDate; this.changeNextWeek(this.currentSelectedDate); - this.showWeekView(this.getFirstDayOfWeek(selectedDate, this.firstWeekDayIndex)); + this.showWeekView( + this.getFirstDayOfWeek(selectedDate, this.firstWeekDayIndex) + ); } - const customEvent = new CustomEvent('dateselection', { - detail: { date: selectedDate, isweekview: isSelectedFromWeekView }, + const customEvent = new CustomEvent("dateselection", { + detail: { date: selectedDate, isweekview: isSelectedFromWeekView } }); this.dispatchEvent(customEvent); } @@ -513,16 +549,18 @@ export default class AaRebookingCalendar extends LightningElement { changeNextWeek(selectedDate) { this.showWeekView(selectedDate); - const customEvent = new CustomEvent('weekchangeevent', { + const customEvent = new CustomEvent("weekchangeevent", { bubbles: true, composed: true, - detail: { date: selectedDate }, + detail: { date: selectedDate } }); this.dispatchEvent(customEvent); } changeNextMonth(addMonth) { - this.showMonthView(this.calculateDateFromMonth(this.currentSelectedDate, addMonth)); + this.showMonthView( + this.calculateDateFromMonth(this.currentSelectedDate, addMonth) + ); } validateLeftSwipeAction(firstDayOfTheWeek) { @@ -556,7 +594,7 @@ export default class AaRebookingCalendar extends LightningElement { handleTouchStart(evt) { this.xDown = evt.touches[0].clientX; this.yDown = evt.touches[0].clientY; - console.log('Touch : Start : ' + this.xDown); + console.log("Touch : Start : " + this.xDown); } handleToucEnd(evt) { @@ -598,15 +636,17 @@ export default class AaRebookingCalendar extends LightningElement { previousElement; executeScroll(selectedDate) { - var elementToShow = this.template.querySelector('[id^=d' + selectedDate.getDate() + ']'); + var elementToShow = this.template.querySelector( + "[id^=d" + selectedDate.getDate() + "]" + ); if (elementToShow) { try { elementToShow.scrollIntoView({ - behavior: 'smooth', - inline: 'end', + behavior: "smooth", + inline: "end" }); } catch (e) { - console.log('Error is : ' + e); + console.log("Error is : " + e); } } } diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/labels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/labels.js new file mode 100644 index 0000000..ec279fa --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/labels.js @@ -0,0 +1,7 @@ +import Schedule_Appointment_current_appointment_title from "@salesforce/label/c.Schedule_Appointment_current_appointment_title"; + +const customLabels = { + Schedule_Appointment_current_appointment_title +}; + +export default customLabels; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.css b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.css new file mode 100644 index 0000000..b067f60 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.css @@ -0,0 +1,56 @@ +.container { + background-color: white; + padding: 16px 16px; +} +.title { + font-size: 18px; + line-height: 21px; + font-weight: 500; + color: rgb(0, 0, 0); + margin-bottom: 13px; +} + +.separator { + height: 1px; + background-color: rgba(159, 170, 181, 0.5); + margin: 0 -16px 16px -16px; +} + +.info { + font-size: 16px; + line-height: 22px; + color: rgba(68, 68, 68, 1); + border: 1px solid rgba(159, 170, 181, 0.5); + border-radius: 12px; + padding: 16px; +} + +.info-emph { + font-style: normal; + font-weight: 600; + font-size: 18px; + line-height: 21px; + display: flex; + align-items: center; + color: #181818; + margin-bottom: 8px; +} + +.info-date { + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + display: flex; + align-items: center; + color: #181818; + margin-bottom: 8px; +} + +.secondary-title { + font-size: 16px; + line-height: 22px; + font-weight: 400; + margin-bottom: 4px; + color: #444444; +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.html b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.html new file mode 100644 index 0000000..d997787 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.html @@ -0,0 +1,13 @@ + diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js similarity index 82% rename from FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js rename to projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js index 659fcd7..ec97b36 100644 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js @@ -1,5 +1,5 @@ -import { LightningElement, api } from 'lwc'; -import customLabels from './labels'; +import { LightningElement, api } from "lwc"; +import customLabels from "./labels"; export default class MobileAppointmentBookingCompactAppointmentInfo extends LightningElement { LABELS = customLabels; @@ -8,8 +8,8 @@ export default class MobileAppointmentBookingCompactAppointmentInfo extends Ligh @api assignToName; @api contactName; - workTypeName = ''; - appointmentNumber = ''; + workTypeName = ""; + appointmentNumber = ""; endDate; startDate; // appointmentDateTime = ""; @@ -26,7 +26,8 @@ export default class MobileAppointmentBookingCompactAppointmentInfo extends Ligh if (value) { this._compactInfoObj = value; this.workTypeName = value.workTypeName && value.workTypeName; - this.appointmentNumber = value.appointmentNumber && value.appointmentNumber; + this.appointmentNumber = + value.appointmentNumber && value.appointmentNumber; // this.createAppointmrntDateTimeDisplayInfo(value.startDate, value.endDate); } } @@ -42,6 +43,6 @@ export default class MobileAppointmentBookingCompactAppointmentInfo extends Ligh // } isNotNullOrUndefined(value) { - return value && value !== 'null'; + return value && value !== "null"; } } diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.css b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.css new file mode 100644 index 0000000..ffe58e7 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.css @@ -0,0 +1,10 @@ +.custom-toast-container { + position: absolute; +} + +.toast-close-icon { + --lwc-colorTextIconDefault: #ffffff; +} +.content-container { + padding-left: 12px; +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.html b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.html new file mode 100644 index 0000000..98af20f --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.html @@ -0,0 +1,26 @@ + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.js new file mode 100644 index 0000000..a167e83 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.js @@ -0,0 +1,70 @@ +/* eslint-disable @lwc/lwc/no-async-operation */ +import { LightningElement, api, track } from "lwc"; + +const SUCCESS_CLASS = "slds-notify slds-notify_toast slds-theme_success"; +const WARNING_CLASS = "slds-notify slds-notify_toast slds-theme_warning"; +const ERROR_CLASS = "slds-notify slds-notify_toast slds-theme_error"; + +export default class MobileAppointmentBookingCustomToast extends LightningElement { + _variant; + _title; + _message; + @track toastClass; + + connectedCallback() { + if (this._variant) { + if (this._variant === "success") { + this.toastClass = SUCCESS_CLASS; + } else if (this._variant === "warning") { + this.toastClass = WARNING_CLASS; + } else if (this._variant === "error") { + this.toastClass = ERROR_CLASS; + } + } + //this.showToast = true; + setTimeout(() => { + this.handleCloseToastEvent(); + }, 5000); + } + + @api get variant() { + return this._variant; + } + + set variant(value) { + if (value) { + this._variant = value; + } + } + + @api get title() { + return this._title; + } + + set title(value) { + if (value) { + this._title = value; + } + } + + @api get message() { + return this._message; + } + + set message(value) { + if (value) { + this._message = value; + } + } + + handleCloseToast() { + this.handleCloseToastEvent(); + } + + handleCloseToastEvent() { + const customEvent = new CustomEvent("closetoast", { + detail: {} + }); + this.dispatchEvent(customEvent); + } +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingCustomToast/mobileAppointmentBookingCustomToast.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/labels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/labels.js new file mode 100644 index 0000000..35eda0f --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/labels.js @@ -0,0 +1,33 @@ +import Schedule_Appointment_page_title from "@salesforce/label/c.Schedule_Appointment_page_title"; +import FollowUpAppointments_select_new_date_to_schedule from "@salesforce/label/c.FollowUpAppointments_select_new_date_to_schedule"; +import FollowUpAppointments_select_an_available_appointment_time from "@salesforce/label/c.FollowUpAppointments_select_an_available_appointment_time"; +import FollowUpAppointments_accept_new_appointment_button from "@salesforce/label/c.FollowUpAppointments_accept_new_appointment_button"; +import FollowUpAppointments_next_button_title from "@salesforce/label/c.FollowUpAppointments_next_button_title"; +import FollowUpAppointments_new_appointment_msg from "@salesforce/label/c.FollowUpAppointments_new_appointment_msg"; +import FollowUpAppointments_same_appointment_selected_warning from "@salesforce/label/c.FollowUpAppointments_same_appointment_selected_warning"; +import FollowUpAppointments_confirmation_service_requested from "@salesforce/label/c.FollowUpAppointments_confirmation_service_requested"; +import FollowUpAppointments_selected_appointment_msg from "@salesforce/label/c.FollowUpAppointments_selected_appointment_msg"; +import FollowUpAppointments_toastMessage_appointment_schedule from "@salesforce/label/c.FollowUpAppointments_toastMessage_appointment_schedule"; +import FollowUpAppointments_confirmation_failure_message from "@salesforce/label/c.FollowUpAppointments_confirmation_failure_message"; +import FollowUpAppointments_toastMessage_schedule_appointment_fail_message from "@salesforce/label/c.FollowUpAppointments_toastMessage_schedule_appointment_fail_message"; +import FollowUpAppointments_assigned_to_you from "@salesforce/label/c.FollowUpAppointments_assigned_to_you"; +import FollowUpAppointments_assigned_to_any_available_worker from "@salesforce/label/c.FollowUpAppointments_assigned_to_any_available_worker"; + +const customLabels = { + FollowUpAppointments_select_new_date_to_schedule, + FollowUpAppointments_select_an_available_appointment_time, + FollowUpAppointments_accept_new_appointment_button, + FollowUpAppointments_next_button_title, + FollowUpAppointments_new_appointment_msg, + FollowUpAppointments_same_appointment_selected_warning, + FollowUpAppointments_confirmation_service_requested, + FollowUpAppointments_selected_appointment_msg, + Schedule_Appointment_page_title, + FollowUpAppointments_toastMessage_appointment_schedule, + FollowUpAppointments_confirmation_failure_message, + FollowUpAppointments_toastMessage_schedule_appointment_fail_message, + FollowUpAppointments_assigned_to_you, + FollowUpAppointments_assigned_to_any_available_worker +}; + +export default customLabels; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.css b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.css new file mode 100644 index 0000000..6cef570 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.css @@ -0,0 +1,27 @@ +.page-header { + display: flex; +} +.landing-container { + background-color: #e5e5e5; +} + +.landing-section { + margin-bottom: 10px; +} + +.test { + background-color: blue; + height: 300px; +} + +.spinner { + position: relative; + display: inline-block; + text-align: center; +} +.slds-spinner { + position: fixed; +} +.slds-spinner_container { + position: fixed; +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.html b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.html new file mode 100644 index 0000000..e993e8e --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.html @@ -0,0 +1,52 @@ + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js new file mode 100644 index 0000000..5ccde91 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js @@ -0,0 +1,1228 @@ +/* eslint-disable @lwc/lwc/no-dupe-class-members */ +/* eslint-disable @lwc/lwc/no-api-reassignments */ +import { LightningElement, api, track } from "lwc"; +import getServiceAppointment from "@salesforce/apex/FollowUpAppointmentController.getServiceAppointment"; +// import updateAppointmentStatus from '@salesforce/apex/FollowUpAppointmentController.updateServiceAppointmentStatus'; +import getSlotsByAssignmentMethod from "@salesforce/apex/FollowUpAppointmentController.getSlotsByAssignmentMethod"; +import assignCurrentUserAsRequiredResource from "@salesforce/apex/FollowUpAppointmentController.assignCurrentUserAsRequiredResource"; +import updateSA from "@salesforce/apex/FollowUpAppointmentController.updateSA"; +import scheduleSA from "@salesforce/apex/FollowUpAppointmentController.scheduleSA"; +// import updateSASlot from '@salesforce/apex/FollowUpAppointmentController.updateSASlot'; +import cloneWorkOrder from "@salesforce/apex/FollowUpAppointmentController.cloneWorkOrder"; +import deleteClonedAppointmentData from "@salesforce/apex/FollowUpAppointmentController.deleteClonedAppointmentData"; +import isUserExcludedResource from "@salesforce/apex/FollowUpAppointmentController.isUserExcludedResource"; +import convertTimeToOtherTimeZone from "@salesforce/apex/FollowUpAppointmentController.convertTimeToOtherTimeZone"; +import customLabels from "./labels"; +import { convertDateUTCtoLocal } from "c/mobileAppointmentBookingUtils"; +import getUserName from "@salesforce/apex/FollowUpAppointmentController.getUserName"; +import getWorkTypeOffset from "@salesforce/apex/FollowUpAppointmentController.getWorkTypeOffset"; + +const assignmentMethod = { + ASSIGN_TO_ME: "assignToMe", + ASSIGN_TO_ANY_AVIALABLE: "assignToAnyAvailable" +}; + +export default class MobileAppointmentBookingLanding extends LightningElement { + LABELS = customLabels; + title = this.LABELS.Schedule_Appointment_page_title; + @api contactName; + @api newRecordNumber; + @api serviceAppointmentId; + previousServiceAppointmentId; + @track currentAppointmentData; + @api appointmentFields; + @api schedulingHorizonValue; + @api schedulingPolicyId; + @api showExactArrivalTime; + @api maxDaysToGetAppointmentSlots; + selectedHorizonUnit; + @api operatingHoursId; + _showModal = 0; + @track selectedDate; + @api recommendedScore; + dummySAid; + dummyWO; + getSlotQueryRunning = false; + clonedWorkOrdersArr = []; + CustomerFirstName; + CustomerLastName; + CustomerPhone; + ServiceAppointmentStatus; + CustomerAddress; + WorkTypeName; + ArrivalWindowStartTime; + ArrivalWindowEndTime; + SchedStartTime; + SchedEndTime; + ServiceAppointmentDueDate; + ServiceAppointmentDescription; + ServiceResourceId; + ServiceResourceRole; + ServiceResourceName; + serviceAppointmentObject; + @api timeSlotObject; + @track isSlots = true; + @track showCalenderInFullScreen = false; + headlineDate; + headlineTime; + selectedSlotStart; + selectedSlotEnd; + showDataSpinner = false; + inFlowMode = false; + newAppointmentDate; + newAppointmentTime; + _maxValidCalendarDate; + minValidCalendarDate; + @api nonAvailableDateArray = []; + @api noOfDaysBeforeAfterWeek = 2; + @api worktypeDisplayname; + @track compactInfoObj = {}; + + show_confirmBtnLayout = false; + + @api get serviceappointmentobject() { + return this.serviceAppointmentObject; + } + set serviceappointmentobject(value) { + if (value) { + this.serviceAppointmentObject = value; + this.customerFirstName = value.CustomerFirstName; + this.customerLastName = value.CustomerLastName; + this.CustomerPhone = value.CustomerPhone; + this.ServiceAppointmentStatus = value.ServiceAppointmentStatus; + this.CustomerAddress = value.CustomerAddress; + this.WorkTypeName = value.WorkTypeName; + this.ArrivalWindowStartTime = value.ArrivalWindowStartTime; + this.ArrivalWindowEndTime = value.ArrivalWindowEndTime; + this.SchedStartTime = value.SchedStartTime; + this.SchedEndTime = value.SchedEndTime; + this.ServiceAppointmentDescription = value.ServiceAppointmentDescription; + this.ServiceAppointmentDueDate = value.DueDate; + } + this.getHeadlineDate(); + } + + @api get serviceresourceobj() { + return this.serviceAppointmentObject; + } + set serviceresourceobj(value) { + if (value) { + this.ServiceResourceId = value.ServiceResourceId; + this.serviceResourceRole = value.ServiceResourceRole; + this.ServiceResourceName = value.ServiceResourceName; + } + } + + // @api get schedulepolicy(){ + // return this.schedulePolicyId; + // } + // set schedulepolicy(value){ + // if(value){ + // this.schedulePolicyId = value; + // } + // } + + @api get timeslotobject() { + return this.timeSlotObject; + } + set timeslotobject(value) { + this.showDataSpinner = false; + if (value) { + this.timeSlotObject = value; + } + } + + @api get showdataspinner() { + return this.showDataSpinner; + } + set showdataspinner(value) { + this.showDataSpinner = value; + } + + @api get maxvaliddate() { + return this.maxValidCalendarDate; + } + + set maxvaliddate(value) { + if (value) { + this.maxValidCalendarDate = value; + } + } + + @api get shownoofdaysbeforeafterweek() { + return this.noOfDaysBeforeAfterWeek; + } + set shownoofdaysbeforeafterweek(value) { + if (value) { + this.noOfDaysBeforeAfterWeek = value; + } + } + + @api get showexactarrivaltime() { + return this.showExactArrivalTime; + } + set showexactarrivaltime(value) { + this.showExactArrivalTime = value; + } + + @api get inflowmode() { + return this.inFlowMode; + } + set inflowmode(value) { + this.inFlowMode = value; + } + + @api get worktypename() { + return this.WorkTypeName; + } + set worktypename(value) { + this.WorkTypeName = value; + } + @api get maxValidCalendarDate() { + return this._maxValidCalendarDate; + } + + set maxValidCalendarDate(value) { + this._maxValidCalendarDate = value; + } + + @api + get showModal() { + return this._showModal; + } + + set showModal(value) { + this._showModal = value; + } + + @api + get currentAssignmentMethod() { + return this._currentAssignmentMethod; + } + + set currentAssignmentMethod(value) { + this._currentAssignmentMethod = value; + this.getUserNameForAssignTo(); + } + + set schedulingHorizonUnit(value) { + this.selectedHorizonUnit = value; + } + @api get schedulingHorizonUnit() { + return this.selectedHorizonUnit; + } + + @api workerAssignmentOptions; + + @api isExcluded; + showMobileWorkerChoice = false; + + serviceTerritoryTimeZone; + currentSAstatus; + OriginalArrivalStartDate = null; + OriginalArrivalEndDate = null; + dateArrayForQuery = []; + dateArrayForQueryCurrentMobileWorkwerSlots = []; + dateArrayForQueryAllMobilesWorkerSlots = []; + @track timeSlotDateWise; + timeSlotWiseTemp = []; + + @api assignToName; + + ARRIVAL_TIME_TEXT = "Exact Appointment Times"; + ARRIVAL_WINDOW_TEXT = "Arrival Windows"; + + BTN_CANCEL_PRESSED = "Cancelled"; + BTN_CONFIRMED_PRESSED = "Confirmed"; + BTN_RESHEDULED_PRESSED = "Rescheduled"; + + SCHEDULING_UNIT_DAY = "Days"; + SCHEDULING_UNIT_WEEK = "Weeks"; + SCHEDULING_UNIT_MONTH = "Months"; + + constructor() { + super(); + this.template.addEventListener("closemodal", this.closeModal); + this.template.addEventListener("openmodal", this.openModal); + this.template.addEventListener( + "onassignmentmethodchanged", + this.handleCurrentAssignmentMethodChange + ); + this.isExcluded = false; + } + + connectedCallback() { + this._previousServiceAppointmentId = this.serviceAppointmentId; + this.dataLoaded = false; + this.prepareInitialDataAndAssignmentData(); + //Get scheduling policy id and operating hours id + // this.getIdFromName(); + } + + // renderedCallback(){ + // if(this._previousServiceAppointmentId != this.serviceAppointmentId){ + + // console.log("getting new Service appointment:" + this.serviceAppointmentId + ", previous: " + this._previousServiceAppointmentId); + + // this.dataLoaded = false; + // this.prepareInitialDataAndAssignmentData(); + // } + // } + + calcAssignmentMethod() { + switch (this.workerAssignmentOptions) { + case "1": + //Allow choice between assignment methods + if (this.isExcluded) { + //Admin enabled both options but Current User is excluded from this Work Order + this.currentAssignmentMethod = + assignmentMethod.ASSIGN_TO_ANY_AVIALABLE; + } else { + this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ME; + } + + this.showMobileWorkerChoice = true; + break; + case "2": + //Allow only AssignToAnyAvailable + this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ANY_AVIALABLE; + this.showMobileWorkerChoice = false; + break; + case "3": + //Allow only AssignToME + this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ME; + this.showMobileWorkerChoice = false; + break; + default: { + console.log( + "Error in calcAssignmentMethod did not receive valid settings" + ); + break; + } + } + } + + getInitData() { + this.lockScrolling(); + this.dataLoaded = false; + getServiceAppointment({ serviceAppointmentId: this.serviceAppointmentId }) + .then((data) => { + this.allowScrolling(); + console.log( + "getInitData Service appointment received::: " + JSON.stringify(data) + ); + if (data.error) { + this.dataLoaded = false; + this.error = data.error; + console.log("Error in getInitData::: " + JSON.stringify(data.error)); + } else { + this.currentAppointmentData = JSON.parse(JSON.stringify(data)); + this.updateCompactInfoObj( + this.currentAppointmentData.WorkTypeName, + convertDateUTCtoLocal( + this.currentAppointmentData.ArrivalWindowStartTime + ), + convertDateUTCtoLocal( + this.currentAppointmentData.ArrivalWindowEndTime + ), + this.currentAppointmentData.AppointmentNumber + ); + this.handleDataOnServiceAppointmentRecieved(data); + } + }) + .catch((e) => { + this.allowScrolling(); + this.dataLoaded = false; + console.log("Error in getInitData::: " + JSON.stringify(e)); + }); + } + + handleDataOnServiceAppointmentRecieved(data) { + this.error = undefined; + this.serviceTerritoryTimeZone = data.ServiceTerritoryTimeZone; + console.log("serviceTerritoryTimeZone: " + this.serviceTerritoryTimeZone); + this.currentSAstatus = data.ServiceAppointmentStatus; + + if (data.ArrivalWindowEndTime && data.ArrivalWindowEndTime !== "null") { + this.OriginalArrivalEndDate = convertDateUTCtoLocal( + data.ArrivalWindowEndTime + ); + } + if (data.ArrivalWindowStartTime && data.ArrivalWindowStartTime !== "null") { + this.OriginalArrivalStartDate = convertDateUTCtoLocal( + data.ArrivalWindowStartTime + ); + } + + this.OriginalEarliestStartDate = convertDateUTCtoLocal( + data.EarliestStartTime + ); + this.checkServiceAppointmentStatus(this.currentSAstatus); + + this.calculateEarliestStartPermittedAndDueDateForServiceAppointment(data); + + this.dataLoaded = true; + } + + calculateEarliestStartPermittedAndDueDateForServiceAppointment(SAdata) { + if ( + SAdata.EarliestStartTime && + new Date(SAdata.EarliestStartTime) > new Date() + ) { + this.minValidCalendarDate = convertDateUTCtoLocal( + new Date(SAdata.EarliestStartTime).toString() + ); + } else { + this.minValidCalendarDate = this.getDateWithoutTime(new Date()); + } + console.log("-- minValidCalendarDate Date : ", this.minValidCalendarDate); + console.log( + "-- input selectedHorizonValue : ", + this.schedulingHorizonValue + ); + let horizonDate; + if (this.schedulingHorizonValue && this.schedulingHorizonValue !== "null") { + let tempDate = new Date(this.minValidCalendarDate); + let schedulingHorizonValueToNumber = parseInt( + this.schedulingHorizonValue, + 10 + ); // Lint fixes : added 10 as redix param; + horizonDate = new Date( + tempDate.setDate(tempDate.getDate() + schedulingHorizonValueToNumber) + ); + console.log("-- Horizon value max date : " + horizonDate); + this.maxValidCalendarDate = new Date(horizonDate); + } + getWorkTypeOffset({ workTypeName: SAdata.WorkTypeName }) + .then((data) => { + let workTypeDueDateOffset = + data > -1 + ? new Date( + new Date(this.minValidCalendarDate).getTime() + data * 60 * 1000 + ) + : new Date(horizonDate); + console.log("-- Work Type offset max date : ", workTypeDueDateOffset); + this.maxValidCalendarDate = + workTypeDueDateOffset < horizonDate + ? new Date(workTypeDueDateOffset) + : new Date(horizonDate); + console.log( + "-- maxValidCalendarDate Date : ", + this.maxValidCalendarDate + ); + }) + .catch((error) => { + console.log("-- Could not find work type ", error.body); + }); + } + + createSAObject(data) { + let appointmentFields = {}; + // eslint-disable-next-line no-unused-expressions + data.fields && + Object.keys(data.fields).forEach((appointmentField) => { + appointmentFields[appointmentField] = { + name: appointmentField, + value: + data.fields[appointmentField] && data.fields[appointmentField].value + }; + }); + + console.log("createSAObject::: " + JSON.stringify(appointmentFields)); + return appointmentFields; + } + + openModal(event) { + event.preventDefault(); + this.showModal = 1; + } + + closeModal(event) { + event.preventDefault(); + this.showModal = 0; + } + + // onCustomEventCalled(event) { + // console.log("customEvent handled from lp"); + // } // lint changes + + checkServiceAppointmentStatus(currentSAStatus) { + console.log( + "checkServiceAppointmentStatus => Current: " + + currentSAStatus + + " ; confirmed: " + + this.confirmStatusId + + " ; rescheduled: " + + this.rescheduleStatusId + + " ; canceled : " + + this.cancelStatusId + ); + + if (currentSAStatus === this.cancelStatusId) { + this.showCancelScreen(true); + } else if (currentSAStatus === this.confirmStatusId) { + this.isAppointmentConfirmed = true; + } else { + this.isAppointmentConfirmed = false; + } + if (!this.allowToConfirmAppt) { + this.isAppointmentConfirmed = true; + } + } + + showCancelScreen(value) { + this.show_cancelScreen = value; + this.show_RescheduleAppointmentScreen = !value; + this.show_ConfirmAppointmentScreen = !value; + } + + showConfirmScreen(value) { + this.show_cancelScreen = !value; + this.show_RescheduleAppointmentScreen = !value; + this.show_ConfirmAppointmentScreen = value; + } + showRescheduleScreen(value) { + this.show_cancelScreen = !value; + this.show_RescheduleAppointmentScreen = value; + this.show_ConfirmAppointmentScreen = !value; + } + + getDateWithoutTime(date) { + var d; + if (typeof val === "string") { + d = new Date(date.replace(/-/g, "/")); // replace method is use to support time in safari + } else { + d = new Date(date); + } + d.setHours(0, 0, 0, 0); + return d; + } + + onDateSelected(event) { + this.selectedDate = event.detail.date; + console.log("Selected date in main class : " + this.selectedDate); + } + + getFirstDayOfWeek(date, index) { + var start = index >= 0 ? index : 0; + var d = new Date(date); + var day = d.getDay(); + var diff = d.getDate() - day + (start > day ? start - 7 : start); + d.setDate(diff); + console.log("First day of week is : " + d.getDate()); + let newDate = new Date( + d.setDate(d.getDate() - this.noOfDaysBeforeAfterWeek) + ).setHours(0, 0, 0, 0); + return newDate; + } + + getLastDayOfWeek(date, index) { + var start = index >= 0 ? index : 0; + var d = new Date(date); + var day = d.getDay(); + var diff = d.getDate() - day + (start > day ? start - 1 : 6 + start); + d.setDate(diff); + let newDate = new Date( + d.setDate(d.getDate() + this.noOfDaysBeforeAfterWeek) + ).setHours(0, 0, 0, 0); + return newDate; + } + + isInArray(value) { + let currentDateArray = []; + + if (this.currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { + currentDateArray = this.dateArrayForQueryCurrentMobileWorkwerSlots; + } else { + currentDateArray = this.dateArrayForQueryAllMobilesWorkerSlots; + } + + for (let i = 0; i < currentDateArray.length; i++) { + if (value.getTime() === currentDateArray[i].getTime()) { + return true; + } + } + return false; + } + + revertSA() { + updateSA({ + serviceAppointmentId: this.serviceAppointmentId, + earliestStartDate: this.OriginalEarliestStartDate, + arrivalStartDate: this.OriginalArrivalStartDate, + arrivalEndDate: this.OriginalArrivalEndDate + }) + .then((data) => { + if (data.success) { + console.log("Service appointment reverted successfully"); + } else console.log("Error while reverting the service appointment"); + }) + .catch((error) => { + console.log("Error while reverting the service appointment " + error); + }); + } + + getLastSlotFromTheArray(slotArray) { + var lastdate; + if (slotArray.length > 0) { + let timeSlot = slotArray[slotArray.length - 1].split("#"); + lastdate = this.getDateWithoutTime( + Date.parse(timeSlot[0].replace(/-/g, "/")) + ); + console.log("Last Date from the slots is : " + lastdate); + } + return lastdate; + } + + addDatesToCashArray(start, end) { + var currentDate = start; + let currentDateArray = []; + + if (this.currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { + currentDateArray = this.dateArrayForQueryCurrentMobileWorkwerSlots; + } else { + currentDateArray = this.dateArrayForQueryAllMobilesWorkerSlots; + } + + while (currentDate <= end) { + let addingDate = new Date(currentDate); + currentDateArray.push(addingDate); + let tempDate = currentDate.setDate(currentDate.getDate() + 1); + currentDate = new Date(tempDate); + } + + currentDateArray = Array.from(new Set(currentDateArray)); + } + + removeDatesFromCashArray() { + if (this.currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { + this.dateArrayForQueryCurrentMobileWorkwerSlots = []; + } else { + this.dateArrayForQueryAllMobilesWorkerSlots = []; + } + } + + showAlertWithError(errorMessage) { + // eslint-disable-next-line no-alert + alert(errorMessage); + } + + handleGetSlotQueryForSelectedDate(event) { + event.stopPropagation(); + event.preventDefault(); + let firstDateOfWeek = this.getFirstDayOfWeek(event.detail.selectedDate); + if (this.dataLoaded) { + this.lockScrolling(); + console.log("handleGetSlotQueryForSelectedDate", firstDateOfWeek); + this.handleGetSlotQueryForSelectedDateRange(firstDateOfWeek); + } + } + + handleGetSlotQueryForSelectedDateRange(selectedDate) { + this.lockScrolling(); + console.log("handleGetSlotQueryForSelectedDateRange", selectedDate); + let firstDateOfWeek = selectedDate; + if (firstDateOfWeek <= new Date()) { + firstDateOfWeek = new Date(); + } + console.log("handleGetSlotQueryForSelectedDateRange", selectedDate); + let lastDateOfWeek = this.getLastDayOfWeek(firstDateOfWeek, 0); + if (lastDateOfWeek > this.maxValidCalendarDate) { + lastDateOfWeek = this.maxValidCalendarDate; + } + console.log( + "First and Last date of the week : " + + firstDateOfWeek + + " " + + lastDateOfWeek + ); + + let loopdate = new Date(firstDateOfWeek); + loopdate = new Date(this.getDateWithoutTime(loopdate)); + + console.log("Date in the Array is : " + loopdate); + console.log( + "this.dateArrayForQuery.indexOf(loopdate) + : " + + loopdate + + " and " + + this.isInArray(loopdate) + ); + + if (!this.isInArray(loopdate)) { + console.log("Address is : " + this.street); + //If the date is not added in cache, run the below code to add it and get fresh slots + this.addDatesToCashArray(new Date(loopdate), new Date(loopdate)); + + console.log( + "getSlot As Per StartDate : " + + loopdate + + " Minvalid Calendar date : " + + this.minValidCalendarDate + ); + if (loopdate < this.minValidCalendarDate) { + loopdate = new Date(this.minValidCalendarDate); + } + + if (loopdate >= this.minValidCalendarDate) { + console.log("Run appointment query for date " + loopdate); + + // IF THE DATE IS AFTER ARRIVAL WINDOW START DATE + console.log("clone sa method called"); + cloneWorkOrder({ + originalSaId: this.serviceAppointmentId, + startPermitDate: loopdate, + maxValidCalendarDate: this.maxValidCalendarDate, + dummySA: this.dummySAid, + dummyWO: this.dummyWO + }) + .then((saData) => { + if (saData.dummyServiceAppointmentId) { + this.lockScrolling(); + this.dummySAid = saData.dummyServiceAppointmentId; + this.dummyWO = saData.dummyWorkOrderId; + console.log( + "clone sa method finished::: sa:" + + saData.dummyServiceAppointmentId + ); + + this.sleep(3000).then(() => { + var lcaletime = + Intl.DateTimeFormat().resolvedOptions().timeZone; + assignCurrentUserAsRequiredResource({ + serviceAppointmentId: this.dummySAid, + currentAssignmentMethod: this.currentAssignmentMethod + }) + .then((data1) => { + if (data1.error || data1.DML) { + console.log( + "Error while updating resource preference : " + + data1.error + + " : " + + data1.DML + ); + this.showAlertWithError( + this.LABELS + .FollowUpAppointments_confirmation_failure_message + ); + this.deleteDummySa(this.dummySAid); + } else { + console.log("getSlots method called"); + getSlotsByAssignmentMethod({ + serviceAppointmentId: this.dummySAid, + operatingHoursId: this.operatingHoursId, + schedulingPolicyId: this.schedulingPolicyId, + arrivalWindowFlag: this.showExactArrivalTime, + localetimezone: lcaletime + }) + .then((data) => { + console.log( + "getSlotsByAssignmentMethod allowScrolling::::" + ); + // this.allowScrolling(); + console.log( + "Time zone of the sa is : " + data.timeZone + ); + this.timeZoneOfDummySA = data.timeZone; + + if (data.error) { + console.log( + "Error in getting slots : " + data.error + ); + this.showAlertWithError( + this.LABELS + .FollowUpAppointments_confirmation_failure_message + ); + this.timeSlotDateWise = []; + this.deleteDummySa(this.dummySAid); + } else { + this.timeSlotWiseTemp = data.timeSlotList; + this.timeSlotDateWise = this.timeSlotWiseTemp; + + let tempDate = loopdate.setDate( + loopdate.getDate() + + this.maxDaysToGetAppointmentSlots + ); + loopdate = new Date(tempDate); + console.log( + "New Loop date is : " + + loopdate + + " and last day of week is : " + + lastDateOfWeek + ); + + if (loopdate <= lastDateOfWeek) { + this.handleGetSlotQueryForSelectedDateRange( + loopdate + ); + } else { + this.deleteDummySa(this.dummySAid); + } + } + }) + .catch((error) => { + this.deleteDummySa(this.dummySAid); + console.log( + "Error while executing FSL API :", + +error + ); + this.timeSlotDateWise = []; + }); + } + }) + .catch((error) => { + console.log( + "Error while updating resource preference :", + +error + ); + }); + }); + } else if (saData.error) { + console.log("Errror while creating dummy SA :", +saData.error); + this.timeSlotDateWise = []; + this.allowScrolling(); + } + }) + .catch((error) => { + // delete SA/WO incase transaction fails + this.deleteDummySa(this.dummySAid); + console.log("Errror while creating dummy SA :", +error); + this.timeSlotDateWise = []; + this.allowScrolling(); + }); + } else { + // IF THE DATE IS BEFORE ARRIVAL WINDOW START DATE + console.log("Loop date is less than minimum valid date"); + + let tempDate = loopdate.setDate( + loopdate.getDate() + this.maxDaysToGetAppointmentSlots + ); + loopdate = new Date(tempDate); + if (loopdate <= lastDateOfWeek) { + this.handleGetSlotQueryForSelectedDateRange(loopdate); + } else { + this.timeSlotDateWise = this.timeSlotWiseTemp; + } + } + } else { + // If the date are already cache, take the slot from it and run the query for next date; + let tempDate = loopdate.setDate( + loopdate.getDate() + this.maxDaysToGetAppointmentSlots + ); + loopdate = new Date(tempDate); + + if (loopdate <= lastDateOfWeek) { + this.handleGetSlotQueryForSelectedDateRange(loopdate); + } else { + this.timeSlotDateWise = []; + this.allowScrolling(); + } + } + } + + sleep(ms) { + // eslint-disable-next-line @lwc/lwc/no-async-operation + return new Promise((resolve) => setTimeout(resolve, ms)); + } + + onServiceAppointmentUpdate = (event) => { + let selectedSlotStart = event.detail.selectedSlotStart; + let selectedSlotEnd = event.detail.selectedSlotEnd; + + // in case of no Service Territory, skip apex class + if (this.serviceTerritoryTimeZone) { + /** + * CONVERT THE TIME FROM LOCALE TO SERVER + */ + convertTimeToOtherTimeZone({ + date1: selectedSlotStart, + date2: selectedSlotEnd, + targetTimezone: this.serviceTerritoryTimeZone, + sourceTimezone: Intl.DateTimeFormat().resolvedOptions().timeZone + }) + .then((data) => { + console.log("Date converted from apex is : " + new Date(data.date1)); + console.log("Date converted from apex is : " + new Date(data.date2)); + selectedSlotStart = new Date(data.date1); + selectedSlotEnd = new Date(data.date2); + this.UpdateServiceAppointmentFunction(event); + }) + .catch((error) => { + console.log("error is : " + error); + }); + } else { + this.UpdateServiceAppointmentFunction(event); + } + }; + + UpdateServiceAppointmentFunction = (event) => { + let selectedSlotStart = event.detail.selectedSlotStart; + let selectedSlotEnd = event.detail.selectedSlotEnd; + // let ArrivalWindowStartTime = event.detail.ArrivalWindowStartTime; + + if ( + this.isValidDate(selectedSlotStart) && + this.isValidDate(selectedSlotEnd) + ) { + // if(!(ArrivalWindowStartTime) || ArrivalWindowStartTime === "null") { + // ArrivalWindowStartTime = "1970-01-01 09:00:00"; //Overwrites null ArrivalWindowStart field + // } + // if(selectedSlotStart.getTime() !== convertDateUTCtoLocal(ArrivalWindowStartTime).getTime()) { + this.showSpinnerInChildClass = true; + console.log("this.selectedSlotStart=" + selectedSlotStart); + console.log("this.selectedSlotEnd=" + selectedSlotEnd); + + const customEvent = new CustomEvent("selectedslot", { + detail: { + arrivalWindowStartTime: selectedSlotStart, + arrivalWindowEndTime: selectedSlotEnd + } + }); + this.dispatchEvent(customEvent); + + // } else { + // this.template.querySelector('c-mobile-appointment-booking-scheduling-container').handleSchedulingResponse(false); + // } + } else { + console.log("Invalid date time "); + this.template + .querySelector("c-mobile-appointment-booking-scheduling-container") + .handleSchedulingResponse(false); + } + }; + + @api scheduleSAMethod(newRecordId) { + this.serviceAppointmentId = newRecordId; + assignCurrentUserAsRequiredResource({ + serviceAppointmentId: this.serviceAppointmentId, + currentAssignmentMethod: this.currentAssignmentMethod + }) + .then((data) => { + if (data.error || data.DML) { + console.log( + "Error while updating resource preference : " + + data.error + + " : " + + data.DML + ); + this.showAlertWithError( + this.LABELS.FollowUpAppointments_confirmation_failure_message + ); + this.deleteDummySa(this.serviceAppointmentId); + } else { + scheduleSA({ + serviceAppointmentId: this.serviceAppointmentId, + schedulingPolicyId: this.schedulingPolicyId + }) + .then((scheduleData) => { + if (scheduleData.error || scheduleData.success === "null") { + console.log( + "Error while executing FSL API : " + + JSON.stringify(scheduleData.error) + ); + console.log( + "Check if the SA " + + this.serviceAppointmentId + + " can be scheduled via the Gantt" + ); + this.template + .querySelector( + "c-mobile-appointment-booking-scheduling-container" + ) + .handleSchedulingResponse(false); + } else { + console.log( + "Service appointment Scheduled : " + + JSON.stringify(scheduleData) + ); + this.isAppointmentConfirmed = true; + // Update Data After successfull booking + // this.updateCompactInfoAfterReschedule(selectedSlotStart, selectedSlotEnd); + this.template + .querySelector( + "c-mobile-appointment-booking-scheduling-container" + ) + .handleSchedulingResponse(true); + } + }) + .catch((error) => { + this.revertSA(); + console.log( + "Error while executing FSL API : " + JSON.stringify(error) + ); + this.template + .querySelector( + "c-mobile-appointment-booking-scheduling-container" + ) + .handleSchedulingResponse(false); + }); + } + }) + .catch((error) => { + console.log("Error while updating resource preference :", +error); + }); + } + + isValidDate(d) { + return d instanceof Date && !isNaN(d); + } + + onWeekChangeEvent(event) { + this.selectedDate = event.detail.date; + console.log("On week change called"); + this.template + .querySelector("c-mobile-appointment-booking-slots-container") + .onWeekUpdated(this.selectedDate); + this.runApexQueryToChangeEarlistStartDate(this.selectedDate); + } + + onSlotSelection(event) { + // TODO test this change (lint changes) + event.stopPropagation(); + event.preventDefault(); + this.selectedSlotStart = event.detail.startDate; + this.selectedSlotEnd = event.detail.endDate; + this.setNewAppointmentSelectedText( + event.detail.startDate, + event.detail.endDate + ); + } + + onCustomEventCalled(event) { + event.preventDefault(); + switch (event.detail.name) { + case "trigergetslotapi": { + this.runApexQueryToChangeEarlistStartDate(event.detail.value); + break; + } + case "updateNonAvailableDates": { + this.nonAvailableDateArray = event.detail.value; + console.log( + "Array of the date not available : " + + this.nonAvailableDateArray.length + ); + break; + } + default: { + break; + } + } + } + + getHeadlineDate() { + var startDate; + var endDate; + const dateOptions = { weekday: "long", month: "long", day: "numeric" }; + if (this.ArrivalWindowStartTime === "null" || this.showExactArrivalTime) { + startDate = convertDateUTCtoLocal(this.SchedStartTime); + endDate = convertDateUTCtoLocal(this.SchedEndTime); + } else { + startDate = this.ArrivalWindowStartTime; + endDate = convertDateUTCtoLocal(this.ArrivalWindowEndTime); + } + if (startDate && endDate) { + let dateLong = startDate.toLocaleDateString(undefined, dateOptions); + let time = + this.getFormattedTimeFromDate(startDate) + + " - " + + this.getFormattedTimeFromDate(endDate); + if (this.showExactArrivalTime) { + time = this.getFormattedTimeFromDate(startDate); + } + this.headlineDate = dateLong; + this.headlineTime = time; + } + } + + getFormattedTimeFromDate(date) { + // method to format the time digits + var tempDate = new Date(date); + var hours = tempDate.getHours(); + var minutes = tempDate.getMinutes(); + var ampm = hours >= 12 ? "PM" : "AM"; + hours = hours % 12; + hours = hours ? hours : 12; // the hour '0' should be '12' + hours = hours < 10 ? "0" + hours : hours; + minutes = minutes < 10 ? "0" + minutes : minutes; + return hours + ":" + minutes + " " + ampm; + } + + runApexQueryToChangeEarlistStartDate(selectedDate) { + const customEvent = new CustomEvent("getslotexecuted", { + detail: { selectedDate: selectedDate } + }); + this.dispatchEvent(customEvent); + } + + /** + * SAVE ALL VALUES AFTER SELECTING THE SLOT + */ + position; + setNewAppointmentSelectedText(start, end) { + const dateOptions = { weekday: "long", month: "long", day: "numeric" }; + var dateLong = start.toLocaleDateString(undefined, dateOptions); + var time = + this.getFormattedTimeFromDate(start) + + " - " + + this.getFormattedTimeFromDate(end); + if (this.showExactArrivalTime) { + time = this.getFormattedTimeFromDate(start); + } + this.newAppointmentDate = dateLong; + this.newAppointmentTime = time; + this.show_confirmBtnLayout = true; + // lock scrolling + document.body.style.overflow = "hidden"; + } + + handleScheduleCloseWindow() { + this.show_confirmBtnLayout = false; + // allow scrolling + document.body.style.overflow = "auto"; + const customEvent = new CustomEvent("scheduleclosewindow"); + this.dispatchEvent(customEvent); + } + + handleCurrentAssignmentMethodChange = (event) => { + this.lockScrolling(); + const updatedValue = event.detail.assignmentMethod; + const selectedDate = event.detail.selecteddate; + + this.currentAssignmentMethod = assignmentMethod[updatedValue]; + + //dispatch get Slots + let firstDateOfWeek = this.getFirstDayOfWeek(selectedDate); + + this.template + .querySelector("c-mobile-appointment-booking-scheduling-container") + .clearSlotsAfterAssignmentMethodChange(this.currentAssignmentMethod); + //clone and get slots + + console.log( + "Calling handleGetSlotQueryForSelectedDateRange after assignment method change::: existing dummy- " + + this.dummySAid + ); + this.handleGetSlotQueryForSelectedDateRange(firstDateOfWeek); + }; + + deleteDummySa(dummySaId) { + console.log( + "deleteDummySa begins ::: Dummy Service Appointment: " + dummySaId + ); + this.lockScrolling(); + deleteClonedAppointmentData({ clonedServiceAppointmentId: dummySaId }) + .then((data) => { + this.allowScrolling(); + if (data) { + console.log( + "deleteClonedAppointmentData response ::::" + + JSON.stringify(data, null, 2) + ); + this.dummySAid = null; + this.dummyWO = null; + } + }) + .catch((error) => { + this.allowScrolling(); + console.log( + "There was a problem deleting the SA" + JSON.stringify(error) + ); + }); + } + + prepareInitialDataAndAssignmentData() { + isUserExcludedResource({ serviceAppointmentId: this.serviceAppointmentId }) + .then((data) => { + if (data.success) { + console.log( + "isUserExcludedResource response received userIsExcluded::: " + + data.success + ); + this.isExcluded = data.success; + } else { + console.log("Error in isUserExcludedResource ::: "); + this.isExcluded = false; + } + }) + .catch((e) => { + this.isExcluded = false; + console.log("Error in isUserExcludedResource ::: " + JSON.stringify(e)); + }) + .finally(() => { + this.calcAssignmentMethod(); + this.getInitData(); + this.selectedDate = new Date(); + }); + } + + allowScrolling() { + document.body.style.overflow = "auto"; + this.showDataSpinner = false; + } + lockScrolling() { + document.body.style.overflow = "hidden"; + this.showDataSpinner = true; + } + + getUserNameForAssignTo() { + getUserName() + .then((data) => { + if (data.error) { + console.log("error in getUserName: " + JSON.stringify(data.error)); + } else { + this.userName = data; + this.error = undefined; + console.log("UserName from getUserName :" + data); + this.setAssigNameByAssignMethod(); + } + }) + .catch((error) => { + console.log("error in getUserName: " + JSON.stringify(error)); + }); + } + + setAssigNameByAssignMethod() { + if (this._currentAssignmentMethod) { + if (this._currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { + this.assignToName = + this.LABELS.FollowUpAppointments_assigned_to_you.replace( + "{0}", + this.userName + ); + } else { + this.assignToName = + this.LABELS.FollowUpAppointments_assigned_to_any_available_worker; + } + } + } + + updateCompactInfoAfterReschedule(selectedSlotStart, selectedSlotEnd) { + this.updateCompactInfoObj( + this.currentAppointmentData.WorkTypeName, + selectedSlotStart, + selectedSlotEnd, + this.currentAppointmentData.AppointmentNumber + ); + } + + updateCompactInfoObj(workTypeName, startDate, endDate, appointmentNumber) { + let compactInfo = {}; + + if (this.showExactArrivalTime) { + compactInfo = { + workTypeName, + startDate, + endDate: null, + appointmentNumber + }; + } else { + compactInfo = { + workTypeName, + startDate, + endDate, + appointmentNumber + }; + } + + this.compactInfoObj = JSON.parse(JSON.stringify(compactInfo)); + } +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js-meta.xml new file mode 100644 index 0000000..3b3867f --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js-meta.xml @@ -0,0 +1,13 @@ + + + 55.0 + false + + lightning__RecordAction + + + + ScreenAction + + + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/labels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/labels.js new file mode 100644 index 0000000..40f38c5 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/labels.js @@ -0,0 +1,17 @@ +import FollowUpAppointments_new_appointment_msg from "@salesforce/label/c.FollowUpAppointments_new_appointment_msg"; +import FollowUpAppointments_accept_new_appointment_button from "@salesforce/label/c.FollowUpAppointments_accept_new_appointment_button"; +import FollowUpAppointments_bottom_sheet_success from "@salesforce/label/c.FollowUpAppointments_bottom_sheet_success"; +import FollowUpAppointments_bottom_sheet_failure_title from "@salesforce/label/c.FollowUpAppointments_bottom_sheet_failure_title"; +import FollowUpAppointments_bottom_sheet_failure_body from "@salesforce/label/c.FollowUpAppointments_bottom_sheet_failure_body"; +import FollowUpAppointments_OK from "@salesforce/label/c.FollowUpAppointments_OK"; + +const customLabels = { + FollowUpAppointments_new_appointment_msg, + FollowUpAppointments_accept_new_appointment_button, + FollowUpAppointments_bottom_sheet_success, + FollowUpAppointments_bottom_sheet_failure_title, + FollowUpAppointments_bottom_sheet_failure_body, + FollowUpAppointments_OK +}; + +export default customLabels; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.css b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.css new file mode 100644 index 0000000..2a74fa1 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.css @@ -0,0 +1,187 @@ +.main-container { + padding: 16px; +} + +.modal-container { + width: 100%; + min-height: 225px; + background: white; + border-top-left-radius: 8px; + border-top-right-radius: 8px; +} + +.spinner-container { + position: inherit; +} + +.confirmBtn { + width: 100%; + left: 50%; + -ms-transform: translate(-50%, 0%); + transform: translate(-50%, 0%); + height: 50px; + border-radius: 12px; + background-color: #0176d3; + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 22px; + display: flex; + align-items: center; + text-align: center; + color: #ffffff; +} + +.acceptNewAptTitle { + flex-direction: column; + font-style: normal; + font-weight: 600; + font-size: 18px; + line-height: 21px; + display: flex; + align-items: center; + text-align: center; + color: #181818; +} +.acceptNewAptClose { + margin-top: 2px; + cursor: pointer; +} +.modal { + position: fixed; + top: auto; + bottom: 0px; + left: 0px; +} + +svg[class*="slds-button__icon_left"] { + padding-bottom: 2px !important; +} + +.modal-footer { + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: center; + padding: 0 16px 16px 16px; + border-radius: 0px; + flex: none; + order: 3; + align-self: stretch; + flex-grow: 0; + height: 65px; +} + +.modal-title-container { + border-bottom: 1px solid rgba(159, 170, 181, 0.5); + box-sizing: border-box; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + padding: 0px; + isolation: isolate; + height: 48px; + padding: 16px; +} + +.info { + font-size: 16px; + line-height: 22px; + color: rgba(68, 68, 68, 1); + border: 1px solid rgba(159, 170, 181, 0.5); + border-radius: 12px; + padding: 16px; + margin: 16px; +} + +.info-emph { + font-style: normal; + font-weight: 600; + font-size: 18px; + line-height: 21px; + display: flex; + align-items: center; + color: #181818; + margin-bottom: 8px; +} + +.info-date { + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + display: flex; + align-items: center; + color: #181818; + margin-bottom: 8px; +} + +.secondary-title { + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + display: flex; + align-items: center; + color: #444444; + margin-bottom: 8px; +} + +.contact-name-title { + font-style: normal; + font-weight: 600; + font-size: 16px; + line-height: 22px; + display: flex; + align-items: center; + color: #181818; + margin-bottom: 8px; +} +.scheduling-results-container { + display: flex; + flex-direction: column; + align-items: center; + padding: 43px 0; +} + +.scheduling-results-title { + margin-top: 16px; + font-size: 16px; + line-height: 22px; + font-weight: 500; +} + +.scheduling-results-info { + font-size: 16px; + line-height: 22px; + color: rgba(0, 0, 0, 1); +} + +.schedule-results-header-icon-container { + display: flex; + justify-content: center; + margin-bottom: 16px; +} + +.schedule-results-header-icon-title { + margin-left: 8px; + font-size: 16px; + line-height: 22px; + font-weight: 500; +} + +.hide { + visibility: hidden; +} + +.top-space { + margin-top: 16px; +} + +.button:active { + opacity: 25%; +} +.slds-modal__content { + border-radius: 12px; +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.html b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.html new file mode 100644 index 0000000..d2a6b77 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.html @@ -0,0 +1,159 @@ + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js new file mode 100644 index 0000000..16e868d --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js @@ -0,0 +1,48 @@ +import { LightningElement, api } from "lwc"; +import customLabels from "./labels"; +export default class MobileAppointmentBookingRescheduleAppointment extends LightningElement { + LABELS = customLabels; + beforeScheduling = true; + showSpinner = false; + scheduleSuccess = false; + mainTitle = this.LABELS.FollowUpAppointments_new_appointment_msg; + rescheduleBtnTitle = + this.LABELS.FollowUpAppointments_accept_new_appointment_button; + successTitle = this.LABELS.FollowUpAppointments_bottom_sheet_success; + failureTitle = this.LABELS.FollowUpAppointments_bottom_sheet_failure_title; + failurBody = this.LABELS.FollowUpAppointments_bottom_sheet_failure_body; + confirmAndCloseBtn = this.LABELS.FollowUpAppointments_OK; + @api workTypeName; + @api newAppointmentDate; + @api contactName; + @api assignToName; + @api newRecordNumber; + + handleCloseModal() { + // close the modal without scheduling + const customEvent = new CustomEvent("closeslotmodal"); + this.dispatchEvent(customEvent); + } + + handleConfirmBtnClose() { + // close the modal window after scheduling success of fail + document.body.style.overflow = "auto"; + const customEvent = new CustomEvent("scheduleclosewindow"); + this.dispatchEvent(customEvent); + } + + handleConfirm() { + // press on Book Appointment button to schedule the SA + this.showSpinner = true; + const customEvent = new CustomEvent("scheduleconfirmed"); + this.dispatchEvent(customEvent); + } + + @api handleSchedulingResponse(response) { + // calls at the end of scheduling process + this.beforeScheduling = false; + this.showSpinner = false; + this.scheduleSuccess = response; + document.body.style.overflow = "hidden"; + } +} diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.js-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js-meta.xml diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/labels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/labels.js new file mode 100644 index 0000000..9866f2e --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/labels.js @@ -0,0 +1,13 @@ +import FollowUpAppointments_cant_select_Mobile_Worker_excluded from "@salesforce/label/c.FollowUpAppointments_cant_select_Mobile_Worker_excluded"; +import FollowUpAppointments_Mobile_Worker_radio_title from "@salesforce/label/c.FollowUpAppointments_Mobile_Worker_radio_title"; +import FollowUpAppointments_Mobile_Worker_radio_assignToMe_lable from "@salesforce/label/c.FollowUpAppointments_Mobile_Worker_radio_assignToMe_lable"; +import FollowUpAppointments_Mobile_Worker_radio_assignToAnyAvailable_lable from "@salesforce/label/c.FollowUpAppointments_Mobile_Worker_radio_assignToAnyAvailable_lable"; + +const customLabels = { + FollowUpAppointments_cant_select_Mobile_Worker_excluded, + FollowUpAppointments_Mobile_Worker_radio_title, + FollowUpAppointments_Mobile_Worker_radio_assignToMe_lable, + FollowUpAppointments_Mobile_Worker_radio_assignToAnyAvailable_lable +}; + +export default customLabels; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.css b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.css new file mode 100644 index 0000000..1699562 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.css @@ -0,0 +1,25 @@ +.container { + background-color: white; + margin: 10px 0; + padding: 13px 16px 0px 16px; +} +.title { + font-size: 18px; + line-height: 21px; + font-weight: 500; + color: rgb(0, 0, 0); + margin-bottom: 13px; +} +.mobile-worker-content { + padding-top: 16px; + font-size: 16px; + line-height: 22px; +} +.separator { + height: 1px; + background-color: rgba(159, 170, 181, 0.5); + margin: 0 -16px; +} +.resourceRadioGroup { + --slds-c-radio-mark-color-foreground: #0176d3; +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.html b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.html new file mode 100644 index 0000000..28adea3 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.html @@ -0,0 +1,24 @@ + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js new file mode 100644 index 0000000..e42748c --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js @@ -0,0 +1,52 @@ +import { LightningElement, api } from "lwc"; +import customLabels from "./labels"; + +export default class MobileAppointmentBookingResourceAssignment extends LightningElement { + LABELS = customLabels; + value = "ASSIGN_TO_ME"; + @api currentAssignmentMethod; + @api userName = ""; + @api selecteddate; + @api isExcluded; + @api showMobileWorkerChoice; + @api excludedMsg = + this.LABELS.FollowUpAppointments_cant_select_Mobile_Worker_excluded; + resourceAssignmentTitle = + this.LABELS.FollowUpAppointments_Mobile_Worker_radio_title; + + @api get showExcludedMsg() { + return this.isExcluded; + } + + get options() { + return [ + { + label: `${ + this.LABELS.FollowUpAppointments_Mobile_Worker_radio_assignToMe_lable + } (${this.userName || " "})`, + value: "ASSIGN_TO_ME" + }, + { + label: + this.LABELS + .FollowUpAppointments_Mobile_Worker_radio_assignToAnyAvailable_lable, + value: "ASSIGN_TO_ANY_AVIALABLE" + } + ]; + } + + handleAssignmentMethodChange(event) { + event.preventDefault(); + + console.log("Mobile Worker Method Changed to::: " + event.target.value); + const assignmentMethodEvent = new CustomEvent("onassignmentmethodchanged", { + detail: { + assignmentMethod: event.target.value, + selecteddate: this.selecteddate + }, + composed: true, + bubbles: true + }); + this.dispatchEvent(assignmentMethodEvent); + } +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/labels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/labels.js new file mode 100644 index 0000000..2616a51 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/labels.js @@ -0,0 +1,23 @@ +import FollowUpAppointments_your_appt_was_canceled_msg from "@salesforce/label/c.FollowUpAppointments_your_appt_was_canceled_msg"; +import FollowUpAppointments_toastMessage_appointment_confirmed from "@salesforce/label/c.FollowUpAppointments_toastMessage_appointment_confirmed"; +import FollowUpAppointments_toastMessage_appointment_schedule from "@salesforce/label/c.FollowUpAppointments_toastMessage_appointment_schedule"; +import FollowUpAppointments_toastMessage_cancel_appointment_fail_message from "@salesforce/label/c.FollowUpAppointments_toastMessage_cancel_appointment_fail_message"; +import FollowUpAppointments_toastMessage_confirm_appointment_fail_message from "@salesforce/label/c.FollowUpAppointments_toastMessage_confirm_appointment_fail_message"; +import FollowUpAppointments_toastMessage_schedule_appointment_fail_message from "@salesforce/label/c.FollowUpAppointments_toastMessage_schedule_appointment_fail_message"; +import FollowUpAppointments_same_appointment_selected_warning from "@salesforce/label/c.FollowUpAppointments_same_appointment_selected_warning"; +import FollowUpAppointments_all_available_appointments from "@salesforce/label/c.FollowUpAppointments_all_available_appointments"; +import FollowUpAppointments_recommended_appointments from "@salesforce/label/c.FollowUpAppointments_recommended_appointments"; + +const customLabels = { + FollowUpAppointments_your_appt_was_canceled_msg, + FollowUpAppointments_toastMessage_appointment_confirmed, + FollowUpAppointments_toastMessage_appointment_schedule, + FollowUpAppointments_toastMessage_cancel_appointment_fail_message, + FollowUpAppointments_toastMessage_confirm_appointment_fail_message, + FollowUpAppointments_toastMessage_schedule_appointment_fail_message, + FollowUpAppointments_same_appointment_selected_warning, + FollowUpAppointments_all_available_appointments, + FollowUpAppointments_recommended_appointments +}; + +export default customLabels; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.css b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.css new file mode 100644 index 0000000..9f0e0db --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.css @@ -0,0 +1,9 @@ +.calendarView { + position: -webkit-sticky; + position: sticky; + top: 66px; + background-color: white; + z-index: 10; + padding: 0 16px; + box-shadow: 0px 4px 0px #e5e5e5; +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.html b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.html new file mode 100644 index 0000000..0254a1d --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.html @@ -0,0 +1,50 @@ + diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js similarity index 77% rename from FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js rename to projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js index 48aa1c9..5dd4074 100644 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js @@ -1,8 +1,8 @@ /* eslint-disable @lwc/lwc/no-api-reassignments */ -import { LightningElement, api, track } from 'lwc'; +import { LightningElement, api, track } from "lwc"; -import convertTimeToOtherTimeZone from '@salesforce/apex/FollowUpAppointmentController.convertTimeToOtherTimeZone'; -import customLabels from './labels'; +import convertTimeToOtherTimeZone from "@salesforce/apex/FollowUpAppointmentController.convertTimeToOtherTimeZone"; +import customLabels from "./labels"; // Commented the assignmentMethod as its not used : lint fixes // const assignmentMethod = { @@ -57,8 +57,10 @@ export default class MobileAppointmentBookingSchedulingContainer extends Lightni show_confirmBtnLayout = false; @api recommendedScore; - @api allAppointmentsTitle = this.LABELS.FollowUpAppointments_all_available_appointments; - @api recommendedAppointmentsTitle = this.LABELS.FollowUpAppointments_recommended_appointments; + @api allAppointmentsTitle = + this.LABELS.FollowUpAppointments_all_available_appointments; + @api recommendedAppointmentsTitle = + this.LABELS.FollowUpAppointments_recommended_appointments; timeSlotObjectFilteredByGrades; @api get serviceAppointmentObject() { @@ -184,26 +186,26 @@ export default class MobileAppointmentBookingSchedulingContainer extends Lightni return this.serviceTerritoryTimeZone; } set serviceterritorytimezone(value) { - console.log('this.serviceTerritoryTimeZone: ' + value); + console.log("this.serviceTerritoryTimeZone: " + value); this.serviceTerritoryTimeZone = value; } onDateSelected(event) { this.selectedDate = event.detail.date; - console.log('Selected date in main class : ' + this.selectedDate); + console.log("Selected date in main class : " + this.selectedDate); let staticElement = this.template.querySelector('[data-id="calendar"]'); let top = staticElement.getBoundingClientRect().top; - console.log('The element is : ' + top); + console.log("The element is : " + top); this.template - .querySelector('c-mobile-appointment-booking-slots-container') + .querySelector("c-mobile-appointment-booking-slots-container") .onPositionUpdated(top); // removed the assignment because of lint } onWeekChangeEvent(event) { this.selectedDate = event.detail.date; - console.log('On week change called'); + console.log("On week change called"); this.template - .querySelector('c-mobile-appointment-booking-slots-container') + .querySelector("c-mobile-appointment-booking-slots-container") .onWeekUpdated(this.selectedDate); //removed the assignment because of lint this.runApexQueryToChangeEarlistStartDate(this.selectedDate); } @@ -221,29 +223,35 @@ export default class MobileAppointmentBookingSchedulingContainer extends Lightni date1: this.selectedSlotStart, date2: this.selectedSlotEnd, targetTimezone: this.serviceTerritoryTimeZone, - sourceTimezone: Intl.DateTimeFormat().resolvedOptions().timeZone, + sourceTimezone: Intl.DateTimeFormat().resolvedOptions().timeZone }) .then((data) => { this.selectedSlotStart = new Date(data.date1); this.selectedSlotEnd = new Date(data.date2); }) .catch((error) => { - console.log('error is : ' + error); + console.log("error is : " + error); }); } - this.setNewAppointmentSelectedText(event.detail.startDate, event.detail.endDate); + this.setNewAppointmentSelectedText( + event.detail.startDate, + event.detail.endDate + ); } onCustomEventCalled(event) { switch (event.detail.name) { - case 'trigergetslotapi': { + case "trigergetslotapi": { this.runApexQueryToChangeEarlistStartDate(event.detail.value); break; } - case 'updateNonAvailableDates': { + case "updateNonAvailableDates": { this.nonAvailableDateArray = event.detail.value; - console.log('Array of the date not available : ' + this.nonAvailableDateArray.length); + console.log( + "Array of the date not available : " + + this.nonAvailableDateArray.length + ); break; } default: { @@ -255,8 +263,8 @@ export default class MobileAppointmentBookingSchedulingContainer extends Lightni getHeadlineDate() { var startDate; var endDate; - const dateOptions = { weekday: 'long', month: 'long', day: 'numeric' }; - if (this.ArrivalWindowStartTime === 'null' || this.showExactArrivalTime) { + const dateOptions = { weekday: "long", month: "long", day: "numeric" }; + if (this.ArrivalWindowStartTime === "null" || this.showExactArrivalTime) { startDate = this.convertDateUTCtoLocal(this.SchedStartTime); endDate = this.convertDateUTCtoLocal(this.SchedEndTime); } else { @@ -266,7 +274,9 @@ export default class MobileAppointmentBookingSchedulingContainer extends Lightni if (startDate && endDate) { let dateLong = startDate.toLocaleDateString(undefined, dateOptions); let time = - this.getFormattedTimeFromDate(startDate) + ' - ' + this.getFormattedTimeFromDate(endDate); + this.getFormattedTimeFromDate(startDate) + + " - " + + this.getFormattedTimeFromDate(endDate); if (this.showExactArrivalTime) { time = this.getFormattedTimeFromDate(startDate); } @@ -276,11 +286,11 @@ export default class MobileAppointmentBookingSchedulingContainer extends Lightni } convertDateUTCtoLocal(date) { - if (date && date !== 'null') { - return new Date(date.replace(/ /g, 'T') + '.000Z'); + if (date && date !== "null") { + return new Date(date.replace(/ /g, "T") + ".000Z"); } - return ''; // removed else part because of lint; + return ""; // removed else part because of lint; } getFormattedTimeFromDate(date) { @@ -288,31 +298,31 @@ export default class MobileAppointmentBookingSchedulingContainer extends Lightni var tempDate = new Date(date); var hours = tempDate.getHours(); var minutes = tempDate.getMinutes(); - var ampm = hours >= 12 ? 'PM' : 'AM'; + var ampm = hours >= 12 ? "PM" : "AM"; hours = hours % 12; hours = hours ? hours : 12; // the hour '0' should be '12' - hours = hours < 10 ? '0' + hours : hours; - minutes = minutes < 10 ? '0' + minutes : minutes; - return hours + ':' + minutes + ' ' + ampm; + hours = hours < 10 ? "0" + hours : hours; + minutes = minutes < 10 ? "0" + minutes : minutes; + return hours + ":" + minutes + " " + ampm; } handleConfirm() { // allow scrolling // document.body.style.overflow = 'auto'; - const customEvent = new CustomEvent('serviceappointmentupdate', { + const customEvent = new CustomEvent("serviceappointmentupdate", { detail: { selectedSlotStart: this.selectedSlotStart, selectedSlotEnd: this.selectedSlotEnd, ArrivalWindowStartTime: this.ArrivalWindowStartTime, - schedulePolicyId: this.schedulePolicyId, - }, + schedulePolicyId: this.schedulePolicyId + } }); this.dispatchEvent(customEvent); } runApexQueryToChangeEarlistStartDate(selectedDate) { - const customEvent = new CustomEvent('getslotexecuted', { - detail: { selectedDate: selectedDate }, + const customEvent = new CustomEvent("getslotexecuted", { + detail: { selectedDate: selectedDate } }); this.dispatchEvent(customEvent); } @@ -322,30 +332,33 @@ export default class MobileAppointmentBookingSchedulingContainer extends Lightni */ position; setNewAppointmentSelectedText(start, end) { - const dateOptions = { weekday: 'long', month: 'long', day: 'numeric' }; + const dateOptions = { weekday: "long", month: "long", day: "numeric" }; var dateLong = start.toLocaleDateString(undefined, dateOptions); - var time = this.getFormattedTimeFromDate(start) + ' - ' + this.getFormattedTimeFromDate(end); + var time = + this.getFormattedTimeFromDate(start) + + " - " + + this.getFormattedTimeFromDate(end); if (this.showExactArrivalTime) { time = this.getFormattedTimeFromDate(start); } - this.newAppointmentDate = dateLong + ', ' + time; + this.newAppointmentDate = dateLong + ", " + time; this.show_confirmBtnLayout = true; // lock scrolling - document.body.style.overflow = 'hidden'; + document.body.style.overflow = "hidden"; } handleConfirmBtnClose() { this.show_confirmBtnLayout = false; // allow scrolling // document.body.style.overflow = 'auto'; - const customEvent = new CustomEvent('scheduleclosewindow'); + const customEvent = new CustomEvent("scheduleclosewindow"); this.dispatchEvent(customEvent); } handleCloseSlotModal() { this.show_confirmBtnLayout = false; // allow scrolling - document.body.style.overflow = 'auto'; + document.body.style.overflow = "auto"; } filterTimeSlotObjectByGrade(timeSlotObject) { @@ -357,7 +370,7 @@ export default class MobileAppointmentBookingSchedulingContainer extends Lightni filterByGrade(score) { return function (element) { - let splittedElement = element.split('#'); + let splittedElement = element.split("#"); let grade = splittedElement[2]; return grade >= score; }; @@ -365,13 +378,13 @@ export default class MobileAppointmentBookingSchedulingContainer extends Lightni @api clearSlotsAfterAssignmentMethodChange(updatedAssignmentMethod) { this.template - .querySelector('c-mobile-appointment-booking-slots-container') + .querySelector("c-mobile-appointment-booking-slots-container") .clearSlotsAfterAssignmentMethodChange(updatedAssignmentMethod); } @api handleSchedulingResponse(response) { this.template - .querySelector('c-mobile-appointment-booking-reschedule-appointment') + .querySelector("c-mobile-appointment-booking-reschedule-appointment") .handleSchedulingResponse(response); } } diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/labels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/labels.js new file mode 100644 index 0000000..518bd36 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/labels.js @@ -0,0 +1,58 @@ +import FollowUpAppointments_no_available_appointments_msg from "@salesforce/label/c.FollowUpAppointments_no_available_appointments_msg"; +import FollowUpAppointments_MonthName_January from "@salesforce/label/c.FollowUpAppointments_MonthName_January"; +import FollowUpAppointments_MonthName_February from "@salesforce/label/c.FollowUpAppointments_MonthName_February"; +import FollowUpAppointments_MonthName_March from "@salesforce/label/c.FollowUpAppointments_MonthName_March"; +import FollowUpAppointments_MonthName_April from "@salesforce/label/c.FollowUpAppointments_MonthName_April"; +import FollowUpAppointments_MonthName_May from "@salesforce/label/c.FollowUpAppointments_MonthName_May"; +import FollowUpAppointments_MonthName_June from "@salesforce/label/c.FollowUpAppointments_MonthName_June"; +import FollowUpAppointments_MonthName_July from "@salesforce/label/c.FollowUpAppointments_MonthName_July"; +import FollowUpAppointments_MonthName_August from "@salesforce/label/c.FollowUpAppointments_MonthName_August"; +import FollowUpAppointments_MonthName_September from "@salesforce/label/c.FollowUpAppointments_MonthName_September"; +import FollowUpAppointments_MonthName_October from "@salesforce/label/c.FollowUpAppointments_MonthName_October"; +import FollowUpAppointments_MonthName_November from "@salesforce/label/c.FollowUpAppointments_MonthName_November"; +import FollowUpAppointments_MonthName_December from "@salesforce/label/c.FollowUpAppointments_MonthName_December"; + +import FollowUpAppointments_WeekDayLong_Monday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Monday"; +import FollowUpAppointments_WeekDayLong_Tuesday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Tuesday"; +import FollowUpAppointments_WeekDayLong_Wednesday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Wednesday"; +import FollowUpAppointments_WeekDayLong_Thursday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Thursday"; +import FollowUpAppointments_WeekDayLong_Friday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Friday"; +import FollowUpAppointments_WeekDayLong_Saturday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Saturday"; +import FollowUpAppointments_WeekDayLong_Sunday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Sunday"; +import FollowUpAppointments_today_text from "@salesforce/label/c.FollowUpAppointments_today_text"; +import FollowUpAppointments_all_available_appointments from "@salesforce/label/c.FollowUpAppointments_all_available_appointments"; +import FollowUpAppointments_recommended_appointments from "@salesforce/label/c.FollowUpAppointments_recommended_appointments"; +import FollowUpAppointments_empty_state_select_any_available_worker from "@salesforce/label/c.FollowUpAppointments_empty_state_select_any_available_worker"; +import FollowUpAppointments_empty_state_change_the_dates from "@salesforce/label/c.FollowUpAppointments_empty_state_change_the_dates"; + +const customLabels = { + FollowUpAppointments_no_available_appointments_msg, + FollowUpAppointments_today_text, + + FollowUpAppointments_MonthName_January, + FollowUpAppointments_MonthName_February, + FollowUpAppointments_MonthName_March, + FollowUpAppointments_MonthName_April, + FollowUpAppointments_MonthName_May, + FollowUpAppointments_MonthName_June, + FollowUpAppointments_MonthName_July, + FollowUpAppointments_MonthName_August, + FollowUpAppointments_MonthName_September, + FollowUpAppointments_MonthName_October, + FollowUpAppointments_MonthName_November, + FollowUpAppointments_MonthName_December, + + FollowUpAppointments_WeekDayLong_Monday, + FollowUpAppointments_WeekDayLong_Tuesday, + FollowUpAppointments_WeekDayLong_Wednesday, + FollowUpAppointments_WeekDayLong_Thursday, + FollowUpAppointments_WeekDayLong_Friday, + FollowUpAppointments_WeekDayLong_Saturday, + FollowUpAppointments_WeekDayLong_Sunday, + FollowUpAppointments_all_available_appointments, + FollowUpAppointments_recommended_appointments, + FollowUpAppointments_empty_state_select_any_available_worker, + FollowUpAppointments_empty_state_change_the_dates +}; + +export default customLabels; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.css b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.css new file mode 100644 index 0000000..4e11d47 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.css @@ -0,0 +1,114 @@ +.header { + color: rgb(0, 0, 0); + font-size: 16px; + font-weight: 500; + letter-spacing: -0.38px; + margin-top: 24px; + margin-bottom: 8px; +} +.timeslotButton { + width: 100%; + left: 50%; + -ms-transform: translate(-50%, 0%); + transform: translate(-50%, 0%); + height: 48px; + font-size: 16px; + border-radius: 12px; + border: 2px solid #0176d3; + color: #0176d3; + line-height: 22px; + display: flex; + align-items: center; + text-align: center; + margin: 8px 0; + font-style: normal; + font-weight: 600; +} + +.timeslotButton:active { + opacity: 25%; +} +.timeslotButton:hover { + opacity: 25%; +} +.timeslotButton:focus { + opacity: 25%; +} + +.time-slot-btn-wrapper { + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: center; + padding-top: 8px; + gap: 16px; +} +.noSlotLabel { + height: 18px; + color: #706e6b; + font-size: 15px; + font-weight: normal; + letter-spacing: -0.36px; +} +.headerBold { + color: rgb(0, 0, 0); + font-size: 16px; + font-weight: 700; + letter-spacing: -0.38px; +} +.slots-container { + background-color: white; + padding: 0 16px 16px 16px; +} +.page-title { + color: rgb(0, 0, 0); + font-size: 18px; + font-weight: 500; + letter-spacing: -0.38px; + margin-top: 10px; + margin-bottom: 4px; + padding-top: 10px; + padding-bottom: 10px; +} + +.separator { + height: 1px; + background-color: rgba(159, 170, 181, 0.5); + margin: 0 -16px; +} + +.section { + background-color: rgba(238, 238, 238, 1); + height: 10px; + margin: 16px -16px 0 -16px; +} + +.active-slot { + opacity: 25%; +} + +.grey-action-icon { + margin-bottom: 16px; + --sds-c-icon-color-background: #eeeeee; +} + +.empty-slots-container { + background-color: white; + display: flex; + flex-direction: column; + align-items: center; + padding: 40px 16px; + margin-top: 10px; +} + +.empty-slos-title { + font-size: 16px; + line-height: 22px; + font-weight: 500; +} +.empty-slos-body { + font-size: 16px; + line-height: 22px; + margin-top: 16px; + text-align: center; +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.html b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.html new file mode 100644 index 0000000..04417c9 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.html @@ -0,0 +1,106 @@ + diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js similarity index 77% rename from FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js rename to projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js index 9973446..3e7f4fb 100644 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js @@ -1,11 +1,11 @@ /* eslint-disable @lwc/lwc/no-dupe-class-members */ /* eslint-disable @lwc/lwc/no-api-reassignments */ -import { LightningElement, api } from 'lwc'; -import customLabels from './labels'; +import { LightningElement, api } from "lwc"; +import customLabels from "./labels"; const assignmentMethod = { - ASSIGN_TO_ME: 'assignToMe', - ASSIGN_TO_ANY_AVIALABLE: 'assignToAnyAvailable', + ASSIGN_TO_ME: "assignToMe", + ASSIGN_TO_ANY_AVIALABLE: "assignToAnyAvailable" }; export default class MobileAppointmentBookingSlotsContainer extends LightningElement { LABELS = customLabels; @@ -21,7 +21,7 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle _selectedDate; _showExactArrivalTime; @api maxValidCalendarDate; - pageTitle; + _pageTitle; timeSlotTitle; nonAvailableDateArray = []; _noOfDaysBeforeAfterWeek = 2; @@ -47,7 +47,7 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle this.LABELS.FollowUpAppointments_MonthName_September, this.LABELS.FollowUpAppointments_MonthName_October, this.LABELS.FollowUpAppointments_MonthName_November, - this.LABELS.FollowUpAppointments_MonthName_December, + this.LABELS.FollowUpAppointments_MonthName_December ]; DAYNAME = [ @@ -57,7 +57,7 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle this.LABELS.FollowUpAppointments_WeekDayLong_Wednesday, this.LABELS.FollowUpAppointments_WeekDayLong_Thursday, this.LABELS.FollowUpAppointments_WeekDayLong_Friday, - this.LABELS.FollowUpAppointments_WeekDayLong_Saturday, + this.LABELS.FollowUpAppointments_WeekDayLong_Saturday ]; @api get selectedDate() { @@ -66,7 +66,7 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle set selectedDate(value) { if (value) { this._selectedDate = this.getDateWithoutTime(Date.parse(value)); - console.log('Selected Date in timeSlot : ' + this._selectedDate); + console.log("Selected Date in timeSlot : " + this._selectedDate); this.firstDayOfTheWeek = this.getFirstDayOfWeek(this._selectedDate, 0); this.lastDayOfTheWeek = this.getLastDayOfWeek(this._selectedDate, 0); @@ -91,7 +91,9 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle if (value.length > 0) { this.updateSlotData(value); } - updatedData = Object.values(this.slotsData[this.slotsData.currentAssignmentMethodRef]); + updatedData = Object.values( + this.slotsData[this.slotsData.currentAssignmentMethodRef] + ); this.handleTimeSlotUpdateEvent(updatedData); } } @@ -108,11 +110,13 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle let slotsData; this.isWeekUpdated = true; - console.log('Week change in parent class ' + date); + console.log("Week change in parent class " + date); this.firstDayOfTheWeek = this.getFirstDayOfWeek(date, 0); this.lastDayOfTheWeek = this.getLastDayOfWeek(date, 0); this.selectedDate = date; - slotsData = Object.values(this.slotsData[this.slotsData.currentAssignmentMethodRef]); + slotsData = Object.values( + this.slotsData[this.slotsData.currentAssignmentMethodRef] + ); this.handleTimeSlotUpdateEvent(slotsData); } @@ -157,25 +161,25 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle this.slotsData = { slotsForCurrentMobileWorker: {}, slotsForAllMobileWorkers: {}, - currentAssignmentMethodRef: 'slotsForCurrentMobileWorker', + currentAssignmentMethodRef: "slotsForCurrentMobileWorker" }; this.displayNoSlotsMsg = true; } handleTimeSlotTitle() { - if (this.selectedDate) this.timeSlotTitle = 'Date : ' + this.selectedDate; + if (this.selectedDate) this.timeSlotTitle = "Date : " + this.selectedDate; } formatTimeSlots(timeSlotArray) { var formattedSlotArr = []; - console.log('---------- Time slots ----------'); + console.log("---------- Time slots ----------"); let currentDate = new Date(); for (let i = 0; i < timeSlotArray.length; i++) { let array = []; array.dateTime = timeSlotArray[i]; - console.log('Time slot : ' + timeSlotArray[i]); - let timeSlot = timeSlotArray[i].split('#'); - let timeSlotDate = new Date(timeSlot[1].replace(/-/g, '/')); + console.log("Time slot : " + timeSlotArray[i]); + let timeSlot = timeSlotArray[i].split("#"); + let timeSlotDate = new Date(timeSlot[1].replace(/-/g, "/")); array.grade = timeSlot[2]; if (timeSlotDate > currentDate) { if (this.showExactArrivalTime) { @@ -183,14 +187,19 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle array.time = this.getTimeFromDate(timeSlot[0]); } else { // SHOW ARRIVAL WINDOW IF FALSE - array.time = this.getTimeFromDate(timeSlot[0]) + '-' + this.getTimeFromDate(timeSlot[1]); + array.time = + this.getTimeFromDate(timeSlot[0]) + + "-" + + this.getTimeFromDate(timeSlot[1]); } array.date = this.getDateWithoutTime(Date.parse(timeSlotDate)); - array.dateInMiliSec = this.getDateWithoutTime(Date.parse(timeSlotDate)).getTime(); + array.dateInMiliSec = this.getDateWithoutTime( + Date.parse(timeSlotDate) + ).getTime(); formattedSlotArr.push(array); } } - console.log('---------- Time slots ----------'); + console.log("---------- Time slots ----------"); return this.formatUniqueArray(formattedSlotArr); } @@ -242,16 +251,20 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle formatTitle(value) { var date = new Date(value); var title = - this.DAYNAME[date.getDay()] + ', ' + this.MONTHNAME[date.getMonth()] + ' ' + date.getDate(); + this.DAYNAME[date.getDay()] + + ", " + + this.MONTHNAME[date.getMonth()] + + " " + + date.getDate(); if (date.setHours(0, 0, 0, 0) === new Date().setHours(0, 0, 0, 0)) { - title = title + ' , ' + this.LABELS.FollowUpAppointments_today_text; + title = title + " , " + this.LABELS.FollowUpAppointments_today_text; } return title; } handleDateSelectEvent(date) { this.timeSlotArrayByDate = []; - console.log('Handle date selected is : ' + date); + console.log("Handle date selected is : " + date); } /** @@ -262,14 +275,16 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle this.formattedTimeSlotArray = this.sortTimeSlotAccordingToWeekSelected( this.formattedTimeSlotArrayTemp ); - this.formattedRecommendedSlotsArray = this.filterRecommededSlots(this.formattedTimeSlotArray); + this.formattedRecommendedSlotsArray = this.filterRecommededSlots( + this.formattedTimeSlotArray + ); if (this.formattedTimeSlotArray && this.formattedTimeSlotArray.length > 0) { this.displayNoSlotsMsg = false; } else { this.displayNoSlotsMsg = true; } this.allowScrolling(); - this.callCustomEvent('updateNonAvailableDates', this.nonAvailableDateArray); + this.callCustomEvent("updateNonAvailableDates", this.nonAvailableDateArray); } sortTimeSlotAccordingToWeekSelected(dateWiseSlotArray) { @@ -321,7 +336,9 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle return c - d; }); - this.nonAvailableDateArray = Array.from(new Set(this.nonAvailableDateArray)); + this.nonAvailableDateArray = Array.from( + new Set(this.nonAvailableDateArray) + ); return newSortedArray; } @@ -341,44 +358,44 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle // APPROACH 2 : CHECK FOR EACH DATE IF ADDED IN THE CACHE ARRAY for (let i = 0; i < this.formattedTimeSlotArrayTemp.length; i++) { let date = new Date(this.formattedTimeSlotArrayTemp[i].date); - console.log('After Selected Date in loop is : ' + date); - console.log('After Selected date : ' + selectedDate); + console.log("After Selected Date in loop is : " + date); + console.log("After Selected date : " + selectedDate); if (selectedDate.getTime() === date.getTime()) { isDateAdded = true; - console.log('After Selected date is true: ' + selectedDate); + console.log("After Selected date is true: " + selectedDate); break; } } } if (!isDateAdded) { - console.log('Run apex class for query '); - this.callCustomEvent('trigergetslotapi', selectedDate); + console.log("Run apex class for query "); + this.callCustomEvent("trigergetslotapi", selectedDate); } } callCustomEvent(name, value) { - const customEvent = new CustomEvent('customeventcalled', { - detail: { value: value, name: name }, + const customEvent = new CustomEvent("customeventcalled", { + detail: { value: value, name: name } }); this.dispatchEvent(customEvent); } getTimeFromDate(date) { - var tempDate = new Date(date.replace(/ /g, 'T')); + var tempDate = new Date(date.replace(/ /g, "T")); let hours = tempDate.getHours(); let minutes = tempDate.getMinutes(); - let ampm = hours >= 12 ? 'PM' : 'AM'; + let ampm = hours >= 12 ? "PM" : "AM"; hours = hours % 12; hours = hours ? hours : 12; // the hour '0' should be '12' - hours = hours < 10 ? '0' + hours : hours; - minutes = minutes < 10 ? '0' + minutes : minutes; - return hours + ':' + minutes + ' ' + ampm; + hours = hours < 10 ? "0" + hours : hours; + minutes = minutes < 10 ? "0" + minutes : minutes; + return hours + ":" + minutes + " " + ampm; } getDateWithoutTime(date) { var d; - if (typeof val === 'string') { - d = new Date(date.replace(/-/g, '/')); // replace method is use to support time in safari + if (typeof val === "string") { + d = new Date(date.replace(/-/g, "/")); // replace method is use to support time in safari } else { d = new Date(date); } @@ -388,40 +405,40 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle handleTimeSlotClickEvent(event) { var selectedSlot = event.target.title; - var startEndTimeArray = selectedSlot.split('#'); - console.log('Selected slot is : ' + selectedSlot); + var startEndTimeArray = selectedSlot.split("#"); + console.log("Selected slot is : " + selectedSlot); if (startEndTimeArray.length > 1) { let startTime = this.getDateFromString(startEndTimeArray[0]); let endTime = this.getDateFromString(startEndTimeArray[1]); - const customEvent = new CustomEvent('slotselection', { - detail: { startDate: startTime, endDate: endTime }, + const customEvent = new CustomEvent("slotselection", { + detail: { startDate: startTime, endDate: endTime } }); this.dispatchEvent(customEvent); } } getDateFromString(date) { - if (date && date !== 'null') { - return new Date(date.replace(/ /g, 'T')); + if (date && date !== "null") { + return new Date(date.replace(/ /g, "T")); } - return ''; + return ""; } convertAMPMto24(time) { var hours = Number(time.match(/^(\d+)/)[1]); var minutes = Number(time.match(/:(\d+)/)[1]); var AMPM = time.match(/\s(.*)$/)[1]; - if (AMPM === 'PM' && hours < 12) hours = hours + 12; - if (AMPM === 'AM' && hours === 12) hours = hours - 12; + if (AMPM === "PM" && hours < 12) hours = hours + 12; + if (AMPM === "AM" && hours === 12) hours = hours - 12; let sHours = hours.toString(); let sMinutes = minutes.toString(); - if (hours < 10) sHours = '0' + sHours; - if (minutes < 10) sMinutes = '0' + sMinutes; - return sHours + ':' + sMinutes; + if (hours < 10) sHours = "0" + sHours; + if (minutes < 10) sMinutes = "0" + sMinutes; + return sHours + ":" + sMinutes; } handleFilterClickEvent(event) { - console.log('Filter selected is : ' + event.target.title); + console.log("Filter selected is : " + event.target.title); } getFirstDayOfWeek(date, index) { @@ -430,13 +447,10 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle var day = d.getDay(); var diff = d.getDate() - day + (start > day ? start - 7 : start); d.setDate(diff); - console.log('First day of week is : ' + d.getDate()); - let newDate = new Date(d.setDate(d.getDate() - this.showNoOfDaysBeforeAfterWeek)).setHours( - 0, - 0, - 0, - 0 - ); + console.log("First day of week is : " + d.getDate()); + let newDate = new Date( + d.setDate(d.getDate() - this.showNoOfDaysBeforeAfterWeek) + ).setHours(0, 0, 0, 0); return newDate; } @@ -446,12 +460,9 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle var day = d.getDay(); var diff = d.getDate() - day + (start > day ? start - 1 : 6 + start); d.setDate(diff); - let newDate = new Date(d.setDate(d.getDate() + this.showNoOfDaysBeforeAfterWeek)).setHours( - 0, - 0, - 0, - 0 - ); + let newDate = new Date( + d.setDate(d.getDate() + this.showNoOfDaysBeforeAfterWeek) + ).setHours(0, 0, 0, 0); return newDate; } @@ -461,23 +472,23 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle previousElement; executeScroll(selectedDate) { var temp = '"' + selectedDate + '"'; - var dataId = '[data-id=' + temp + ']'; - console.log('Data is is : ' + dataId); + var dataId = "[data-id=" + temp + "]"; + console.log("Data is is : " + dataId); let elementToShow = this.template.querySelector(dataId); if (elementToShow) { try { if (this.previousElement) { - this.previousElement.classList.remove('headerBold'); - this.previousElement.classList.add('header'); + this.previousElement.classList.remove("headerBold"); + this.previousElement.classList.add("header"); } let elementToShowLocation = elementToShow.getBoundingClientRect(); //gets the current user view let offset = elementToShowLocation.top - 235; //gets the difference between user view and element view minus the calendar height if (!this.isWeekUpdated) { - window.scrollBy({ top: offset, behavior: 'smooth' }); + window.scrollBy({ top: offset, behavior: "smooth" }); } this.previousElement = elementToShow; } catch (e) { - console.log('Error is : ' + e); + console.log("Error is : " + e); } } this.isWeekUpdated = false; @@ -490,12 +501,14 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle this.displayNoSlotsMsg = true; if (updatedAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { - this.slotsData.currentAssignmentMethodRef = 'slotsForCurrentMobileWorker'; + this.slotsData.currentAssignmentMethodRef = "slotsForCurrentMobileWorker"; } else { - this.slotsData.currentAssignmentMethodRef = 'slotsForAllMobileWorkers'; + this.slotsData.currentAssignmentMethodRef = "slotsForAllMobileWorkers"; } - slotsData = Object.values(this.slotsData[this.slotsData.currentAssignmentMethodRef]); + slotsData = Object.values( + this.slotsData[this.slotsData.currentAssignmentMethodRef] + ); this.handleTimeSlotUpdateEvent(slotsData); } @@ -514,7 +527,7 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle label: slot.label, fullValue: slot.fullValue, grade: slot.grade, - isRecomended: slot.isRecomended, + isRecomended: slot.isRecomended }); } }); @@ -536,7 +549,7 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle updatedData = JSON.parse(JSON.stringify(this.slotsData[currentRef])); newSlots.forEach((slot) => { - let slotInfoToArr = slot.split('#'); + let slotInfoToArr = slot.split("#"); let slotStart = new Date(slotInfoToArr[0]); let slotKey = slotStart.getTime(); @@ -548,11 +561,11 @@ export default class MobileAppointmentBookingSlotsContainer extends LightningEle } allowScrolling() { - document.body.style.overflow = 'auto'; + document.body.style.overflow = "auto"; this.showDataSpinner = false; } lockScrolling() { - document.body.style.overflow = 'hidden'; + document.body.style.overflow = "hidden"; this.showDataSpinner = true; } } diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/constants.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/constants.js new file mode 100644 index 0000000..245485f --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/constants.js @@ -0,0 +1,8 @@ +const toastVariables = { + error: "error", + warning: "warning", + success: "success", + info: "info" +}; + +export { toastVariables }; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/constantsLabels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/constantsLabels.js new file mode 100644 index 0000000..d1a0a1d --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/constantsLabels.js @@ -0,0 +1,45 @@ +import FollowUpAppointments_MonthName_January from "@salesforce/label/c.FollowUpAppointments_MonthName_January"; +import FollowUpAppointments_MonthName_February from "@salesforce/label/c.FollowUpAppointments_MonthName_February"; +import FollowUpAppointments_MonthName_March from "@salesforce/label/c.FollowUpAppointments_MonthName_March"; +import FollowUpAppointments_MonthName_April from "@salesforce/label/c.FollowUpAppointments_MonthName_April"; +import FollowUpAppointments_MonthName_May from "@salesforce/label/c.FollowUpAppointments_MonthName_May"; +import FollowUpAppointments_MonthName_June from "@salesforce/label/c.FollowUpAppointments_MonthName_June"; +import FollowUpAppointments_MonthName_July from "@salesforce/label/c.FollowUpAppointments_MonthName_July"; +import FollowUpAppointments_MonthName_August from "@salesforce/label/c.FollowUpAppointments_MonthName_August"; +import FollowUpAppointments_MonthName_September from "@salesforce/label/c.FollowUpAppointments_MonthName_September"; +import FollowUpAppointments_MonthName_October from "@salesforce/label/c.FollowUpAppointments_MonthName_October"; +import FollowUpAppointments_MonthName_November from "@salesforce/label/c.FollowUpAppointments_MonthName_November"; +import FollowUpAppointments_MonthName_December from "@salesforce/label/c.FollowUpAppointments_MonthName_December"; + +import FollowUpAppointments_WeekDayLong_Monday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Monday"; +import FollowUpAppointments_WeekDayLong_Tuesday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Tuesday"; +import FollowUpAppointments_WeekDayLong_Wednesday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Wednesday"; +import FollowUpAppointments_WeekDayLong_Thursday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Thursday"; +import FollowUpAppointments_WeekDayLong_Friday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Friday"; +import FollowUpAppointments_WeekDayLong_Saturday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Saturday"; +import FollowUpAppointments_WeekDayLong_Sunday from "@salesforce/label/c.FollowUpAppointments_WeekDayLong_Sunday"; + +const customLabels = { + FollowUpAppointments_MonthName_January, + FollowUpAppointments_MonthName_February, + FollowUpAppointments_MonthName_March, + FollowUpAppointments_MonthName_April, + FollowUpAppointments_MonthName_May, + FollowUpAppointments_MonthName_June, + FollowUpAppointments_MonthName_July, + FollowUpAppointments_MonthName_August, + FollowUpAppointments_MonthName_September, + FollowUpAppointments_MonthName_October, + FollowUpAppointments_MonthName_November, + FollowUpAppointments_MonthName_December, + + FollowUpAppointments_WeekDayLong_Monday, + FollowUpAppointments_WeekDayLong_Tuesday, + FollowUpAppointments_WeekDayLong_Wednesday, + FollowUpAppointments_WeekDayLong_Thursday, + FollowUpAppointments_WeekDayLong_Friday, + FollowUpAppointments_WeekDayLong_Saturday, + FollowUpAppointments_WeekDayLong_Sunday +}; + +export default customLabels; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/formatHelpers.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/formatHelpers.js new file mode 100644 index 0000000..8e6bae7 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/formatHelpers.js @@ -0,0 +1,101 @@ +import customLabels from "./constantsLabels"; + +const MONTHNAME = [ + customLabels.FollowUpAppointments_MonthName_January, + customLabels.FollowUpAppointments_MonthName_February, + customLabels.FollowUpAppointments_MonthName_March, + customLabels.FollowUpAppointments_MonthName_April, + customLabels.FollowUpAppointments_MonthName_May, + customLabels.FollowUpAppointments_MonthName_June, + customLabels.FollowUpAppointments_MonthName_July, + customLabels.FollowUpAppointments_MonthName_August, + customLabels.FollowUpAppointments_MonthName_September, + customLabels.FollowUpAppointments_MonthName_October, + customLabels.FollowUpAppointments_MonthName_November, + customLabels.FollowUpAppointments_MonthName_December +]; + +const DAYNAME = [ + customLabels.FollowUpAppointments_WeekDayLong_Sunday, + customLabels.FollowUpAppointments_WeekDayLong_Monday, + customLabels.FollowUpAppointments_WeekDayLong_Tuesday, + customLabels.FollowUpAppointments_WeekDayLong_Wednesday, + customLabels.FollowUpAppointments_WeekDayLong_Thursday, + customLabels.FollowUpAppointments_WeekDayLong_Friday, + customLabels.FollowUpAppointments_WeekDayLong_Saturday +]; + +/** Shifted this method up because of lint issues */ +const getFormattedTime = (date) => { + var hours = date.getHours(); + var minutes = date.getMinutes(); + var ampm = hours >= 12 ? "PM" : "AM"; + hours = hours % 12; + hours = hours ? hours : 12; + hours = hours < 10 ? "0" + hours : hours; + minutes = minutes < 10 ? "0" + minutes : minutes; + return hours + ":" + minutes + " " + ampm; +}; + +/** Shifted this method up because of lint issues */ +const formatDateWithTime = (date) => { + let d = new Date(date); + let formatedStr = + DAYNAME[d.getDay()] + + "," + + " " + + MONTHNAME[d.getMonth()] + + " " + + d.getDate() + + ", " + + getFormattedTime(d); + return formatedStr; +}; + +const formatAppointmentDateandHourRange = (startDate, endDate) => { + let formatedStr = ""; + if (startDate && endDate) { + let start = new Date(startDate); + let end = new Date(endDate); + formatedStr = formatDateWithTime(startDate); + if (start.getDate() === end.getDate()) { + //Assumes same day + if (!(start.getTime() === end.getTime())) { + formatedStr = formatedStr + " - " + getFormattedTime(end); + } + } else { + //If more than one day + formatedStr = formatedStr + +" - " + formatDateWithTime(end); + } + } else if (startDate) { + formatedStr = formatDateWithTime(startDate); + } + + return formatedStr; +}; + +const convertDateUTCtoLocal = (date) => { + if (date && date !== "null") { + let utcDate = new Date(date); + utcDate.setMinutes(utcDate.getMinutes() - utcDate.getTimezoneOffset()); + return utcDate; + } + return ""; // removed else part : lint fixes +}; + +const getDateWithoutTime = (date) => { + var d; + if (typeof val === "string") { + d = new Date(date.replace(/-/g, "/")); // replace method is use to support time in safari + } else { + d = new Date(date); + } + d.setHours(0, 0, 0, 0); + return d; +}; + +export { + formatAppointmentDateandHourRange, + convertDateUTCtoLocal, + getDateWithoutTime +}; diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js rename to projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/rebookingDateCalculationsHelpers.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/rebookingDateCalculationsHelpers.js new file mode 100644 index 0000000..64736e9 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/rebookingDateCalculationsHelpers.js @@ -0,0 +1,50 @@ +// eslint-disable-next-line no-unused-vars +const SCHEDULING_UNIT_DAY = "Days"; +const SCHEDULING_UNIT_WEEK = "Weeks"; +const SCHEDULING_UNIT_MONTH = "Months"; + +const calculateMaxValidHorizonDate = ( + schedulingHorizonValue, + selectedHorizonUnit, + serviceAppointmentDueDate +) => { + if (schedulingHorizonValue && selectedHorizonUnit) { + let currentDate = new Date(); + let targetDate; + switch (selectedHorizonUnit) { + case SCHEDULING_UNIT_WEEK: + targetDate = new Date( + currentDate.setDate( + currentDate.getDate() + schedulingHorizonValue * 7 + ) + ); + break; + case SCHEDULING_UNIT_MONTH: + targetDate = new Date( + currentDate.setMonth(currentDate.getMonth() + schedulingHorizonValue) + ); + break; + default: //this.SCHEDULING_UNIT_DAY + targetDate = new Date( + currentDate.setDate(currentDate.getDate() + schedulingHorizonValue) + ); + } + + console.log("Scheduling horizon unit : new date is : " + targetDate); + + if (serviceAppointmentDueDate < targetDate) + return serviceAppointmentDueDate; + + return targetDate; + } + return serviceAppointmentDueDate; +}; + +const convertDateUTCtoLocal = (date) => { + if (date && date !== "null") { + return new Date(date.replace(/ /g, "T") + ".000Z"); + } + return ""; +}; + +export { calculateMaxValidHorizonDate, convertDateUTCtoLocal }; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/__tests__/mobileWorkFlowPage.test.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/__tests__/mobileWorkFlowPage.test.js new file mode 100644 index 0000000..fa5fd2e --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/__tests__/mobileWorkFlowPage.test.js @@ -0,0 +1,123 @@ +import { createElement } from "lwc"; +import MobileWorkFlowPage from "c/mobileWorkFlowPage"; + +jest.mock( + "@salesforce/apex/FollowUpAppointmentController.saveFieldSettings", + () => { + return { + default: jest.fn(() => ({ + data: "success", + Asset: "Asset", + ServiceAppointment: "Service Appointment" + })) + }; + }, + { virtual: true } +); + +jest.mock( + "./labels", + () => { + return { + MobileDashboard_card_filter_titleTime: "test" + }; + }, + { virtual: true } +); + +let element; +describe("c-mobile-work-flow-page", () => { + afterEach(() => { + // The jsdom instance is shared across test cases in a single file so reset the DOM + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + beforeEach(() => { + element = createElement("c-mobile-work-flow-page", { + is: MobileWorkFlowPage + }); + + element.showDeleteDialogBox = true; + element.handleDeleteEventDialogBox = jest.fn(); + element.handleAddScreenEvent = jest.fn(); + element.showModal = true; + element.saveDetails = jest.fn(); + element.closeModal = jest.fn(); + element.SCREEN1 = 1; + element.SCREEN2 = 2; + element.SCREE3 = 3; + + document.body.appendChild(element); + }); + + it("should show correct info", () => { + const mainInfoText = element.shadowRoot.querySelector(".mainInfoText"); + expect(mainInfoText.textContent).toBe( + "c.FollowUpAppointments_MobileWorkFlow_Info_text" + ); + }); + + it("Call handle add screen event", async () => { + console.log("Element is : " + element.shadowRoot); + const action = element.shadowRoot.querySelector( + '[data-id="addscreenevent"]' + ); + console.log("Action is : " + action); + const spy = jest.spyOn(element, "handleAddScreenEvent"); + console.log(spy); + action.dispatchEvent(new CustomEvent("click")); + + return Promise.resolve().then(() => { + expect(spy).toHaveBeenCalledTimes(0); + }); + }); + + it("Handle save step details", async () => { + console.log("Element is : " + element.shadowRoot); + let action = element.shadowRoot.querySelector( + '[data-id="saveDetailsDialog"]' + ); + console.log("Action is : " + action); + + action.click(); + + return Promise.resolve().then(() => { + const mainInfoText = element.shadowRoot.querySelector(".mainInfoText"); + expect(mainInfoText.textContent).toBe( + "c.FollowUpAppointments_MobileWorkFlow_Info_text" + ); + }); + + // return Promise.resolve() + // .then(async () => { + // expect(spy).toBeCalledTimes(0); + // }) + // .then(() => { + // expect(spy).toBeCalledTimes(0); + // }); + }); + + it("Handle close modal", async () => { + console.log("Element is : " + element.shadowRoot); + const action = element.shadowRoot.querySelector('[data-id="closeDialog"]'); + console.log("Action is : " + action); + const spy = jest.spyOn(element, "closeModal"); + console.log(spy); + action.dispatchEvent(new CustomEvent("click")); + + return Promise.resolve().then(() => { + expect(spy).toHaveBeenCalledTimes(0); + }); + }); + + it("Test step title value", () => { + element.currentScreenTitle = "screenTitle"; + const mainInfoText = element.shadowRoot.querySelector( + '[data-id="stepTitleId"]' + ); + console.log("Value of the mainInfoText " + mainInfoText.value); + expect(mainInfoText.value).toBe(mainInfoText.value); + }); +}); diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/labels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/labels.js new file mode 100644 index 0000000..f7a4b89 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/labels.js @@ -0,0 +1,64 @@ +import FollowUpAppointments_add_step_button_label from "@salesforce/label/c.FollowUpAppointments_add_step_button_label"; +import FollowUpAppointments_edit_step_text_label from "@salesforce/label/c.FollowUpAppointments_edit_step_text_label"; +import FollowUpAppointments_new_step_text_label from "@salesforce/label/c.FollowUpAppointments_new_step_text_label"; +import FollowUpAppointments_step_name_text from "@salesforce/label/c.FollowUpAppointments_step_name_text"; +import FollowUpAppointments_Object_text from "@salesforce/label/c.FollowUpAppointments_Object_text"; +import FollowUpAppointments_placeholder_step_name from "@salesforce/label/c.FollowUpAppointments_placeholder_step_name"; +import FollowUpAppointments_select_fields from "@salesforce/label/c.FollowUpAppointments_select_fields"; +import FollowUpAppointments_button_save from "@salesforce/label/c.FollowUpAppointments_button_save"; +import FollowUpAppointments_button_cancel from "@salesforce/label/c.FollowUpAppointments_button_cancel"; +import FollowUpAppointments_duallist_available_fields from "@salesforce/label/c.FollowUpAppointments_duallist_available_fields"; +import FollowUpAppointments_duallist_selected_fields from "@salesforce/label/c.FollowUpAppointments_duallist_selected_fields"; +import FollowUpAppointments_placeHolder_select_an_option from "@salesforce/label/c.FollowUpAppointments_placeHolder_select_an_option"; +import FollowUpAppointments_placeholder_search_fields from "@salesforce/label/c.FollowUpAppointments_placeholder_search_fields"; + +import FollowUpAppointments_MobileWorkFlow_Info_text from "@salesforce/label/c.FollowUpAppointments_MobileWorkFlow_Info_text"; +import FollowUpAppointments_MobileWorkFlow_info_help_url from "@salesforce/label/c.FollowUpAppointments_MobileWorkFlow_info_help_url"; + +import FollowUpAppointments_delete_step_heading from "@salesforce/label/c.FollowUpAppointments_delete_step_heading"; +import FollowUpAppointments_delete_step_body from "@salesforce/label/c.FollowUpAppointments_delete_step_body"; + +import FollowUpAppointments_delete_cancel_button from "@salesforce/label/c.FollowUpAppointments_delete_cancel_button"; +import FollowUpAppointments_delete_button_title from "@salesforce/label/c.FollowUpAppointments_delete_button_title"; + +import FollowUpAppointments_settings_duplicateScreenToastMessage from "@salesforce/label/c.FollowUpAppointments_settings_duplicateScreenToastMessage"; +import FollowUpAppointments_settings_deleteScreenToastMessage from "@salesforce/label/c.FollowUpAppointments_settings_deleteScreenToastMessage"; +import FollowUpAppointments_settings_createScreenToastMessage from "@salesforce/label/c.FollowUpAppointments_settings_createScreenToastMessage"; + +import FollowUpAppointments_settingPage_error_duplicate_screen from "@salesforce/label/c.FollowUpAppointments_settingPage_error_duplicate_screen"; +import FollowUpAppointments_settingPage_error_delete_screen from "@salesforce/label/c.FollowUpAppointments_settingPage_error_delete_screen"; +import FollowUpAppointments_workflow_addStepFailureMessage from "@salesforce/label/c.FollowUpAppointments_workflow_addStepFailureMessage"; +import FollowUpAppointments_settingPage_save_message from "@salesforce/label/c.FollowUpAppointments_settingPage_save_message"; +import FollowUpAppointments_settingPage_error_message from "@salesforce/label/c.FollowUpAppointments_settingPage_error_message"; + +const customLabels = { + FollowUpAppointments_add_step_button_label, + FollowUpAppointments_edit_step_text_label, + FollowUpAppointments_new_step_text_label, + FollowUpAppointments_step_name_text, + FollowUpAppointments_Object_text, + FollowUpAppointments_placeholder_step_name, + FollowUpAppointments_select_fields, + FollowUpAppointments_button_save, + FollowUpAppointments_button_cancel, + FollowUpAppointments_duallist_available_fields, + FollowUpAppointments_duallist_selected_fields, + FollowUpAppointments_placeHolder_select_an_option, + FollowUpAppointments_placeholder_search_fields, + FollowUpAppointments_MobileWorkFlow_Info_text, + FollowUpAppointments_MobileWorkFlow_info_help_url, + FollowUpAppointments_delete_step_heading, + FollowUpAppointments_delete_step_body, + FollowUpAppointments_delete_cancel_button, + FollowUpAppointments_delete_button_title, + FollowUpAppointments_settings_duplicateScreenToastMessage, + FollowUpAppointments_settings_deleteScreenToastMessage, + FollowUpAppointments_settingPage_error_duplicate_screen, + FollowUpAppointments_settingPage_error_delete_screen, + FollowUpAppointments_settings_createScreenToastMessage, + FollowUpAppointments_workflow_addStepFailureMessage, + FollowUpAppointments_settingPage_save_message, + FollowUpAppointments_settingPage_error_message +}; + +export default customLabels; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.css b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.css new file mode 100644 index 0000000..ac69717 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.css @@ -0,0 +1,117 @@ +.mainDiv { + height: 500px; + width: 300px; + margin-top: 50px; + margin-left: 30px; +} + +.layoutItem { + height: 500px; + width: 300px; + margin-top: 20px; + margin-left: 30px; +} + +.mainInfoText { + margin-left: 30px; + margin-top: 10px; +} + +.fieldText { + margin-top: 10px; +} + +.newAppointmentTitleLayout { +} + +.deleteIcon { + padding-top: 12px; + margin-left: 15px; + width: 10px; + height: 10px; +} + +.permissionText { + padding-top: 15px; + margin-left: 20px; + padding-bottom: 10px; +} + +.screenTitleLayout { + height: 54px; + background-color: #f3f3f3; +} + +.screenTitle1 { + padding-top: 5px; + margin-left: 15px; +} + +.screenTitle2 { + padding-top: 1px; + margin-left: 15px; +} + +.screenFooterDivElement { + margin-top: 340px; + height: 50px; +} + +.inputFieldTitle { + width: 100%; +} + +.layoutMainPage { + width: 100%; +} + +.layoutItem1 { + width: 45%; +} + +.editIcon { + margin-top: 15px; + margin-right: 20px; + background-color: #f3f3f3; + height: 30px; + padding-top: 4px; +} + +.editButton { + margin-top: 15px; + margin-right: 0px; +} + +.leftrightDivLayout { + margin-top: 15px; + margin-left: 20px; +} + +.footerLayout { + height: 48px; + padding-right: 60px; + margin-top: 50px; +} + +.addStepBtn { + margin-top: 15px; + margin-left: 30px; + margin-bottom: 10px; +} + +.saveButton { + margin-top: 10px; +} + +.comboBox { + margin-right: 15px; +} + +.fieldTitle { + margin-top: 15px; +} + +.searchInputField { + width: 42%; + margin-top: 5px; +} diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.html b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.html similarity index 100% rename from FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.html rename to projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.html diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.js similarity index 75% rename from FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.js rename to projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.js index d043d09..550add1 100644 --- a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.js +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.js @@ -2,16 +2,16 @@ /* eslint-disable guard-for-in */ /* eslint-disable @lwc/lwc/no-leading-uppercase-api-name */ /* eslint-disable @lwc/lwc/no-api-reassignments */ -import { LightningElement, track, api, wire } from 'lwc'; -import getObjectNames from '@salesforce/apex/FollowUpAppointmentController.getObjectNames'; -import getSavedScreenData from '@salesforce/apex/FollowUpAppointmentController.getSavedScreenData'; -import { getObjectInfo } from 'lightning/uiObjectInfoApi'; -import getFieldNames from '@salesforce/apex/FollowUpAppointmentController.getFieldNames'; -import saveFieldSettings from '@salesforce/apex/FollowUpAppointmentController.saveFieldSettings'; -import deleteScreen from '@salesforce/apex/FollowUpAppointmentController.deleteScreen'; -import duplicateScreenData from '@salesforce/apex/FollowUpAppointmentController.duplicateScreenData'; -import swapScreenLeftRight from '@salesforce/apex/FollowUpAppointmentController.swapScreenLeftRight'; -import customLabels from './labels'; +import { LightningElement, track, api, wire } from "lwc"; +import getObjectNames from "@salesforce/apex/FollowUpAppointmentController.getObjectNames"; +import getSavedScreenData from "@salesforce/apex/FollowUpAppointmentController.getSavedScreenData"; +import { getObjectInfo } from "lightning/uiObjectInfoApi"; +import getFieldNames from "@salesforce/apex/FollowUpAppointmentController.getFieldNames"; +import saveFieldSettings from "@salesforce/apex/FollowUpAppointmentController.saveFieldSettings"; +import deleteScreen from "@salesforce/apex/FollowUpAppointmentController.deleteScreen"; +import duplicateScreenData from "@salesforce/apex/FollowUpAppointmentController.duplicateScreenData"; +import swapScreenLeftRight from "@salesforce/apex/FollowUpAppointmentController.swapScreenLeftRight"; +import customLabels from "./labels"; export default class MobileWorkFlowPage extends LightningElement { @api showModal = false; @@ -23,7 +23,7 @@ export default class MobileWorkFlowPage extends LightningElement { fieldNameList = []; ObjectArray = []; ObjectTempNameArr = []; - @track selected = ''; + @track selected = ""; selectedFieldList1 = []; selectedFieldList2 = []; selectedFieldList3 = []; @@ -33,9 +33,9 @@ export default class MobileWorkFlowPage extends LightningElement { workOrderLineItemFields = new Map(); @api isParentcomponentChange = false; - @api selectedObject1 = ''; - @api selectedObject2 = ''; - @api selectedObject3 = ''; + @api selectedObject1 = ""; + @api selectedObject2 = ""; + @api selectedObject3 = ""; dataLoaded = true; @@ -48,10 +48,10 @@ export default class MobileWorkFlowPage extends LightningElement { @api screenTitle3; @api currentScreenTitle; - @api screenSubTitle1 = ''; - @api screenSubTitle2 = ''; - @api screenSubTitle3 = ''; - @api screenSubTitle4 = ''; + @api screenSubTitle1 = ""; + @api screenSubTitle2 = ""; + @api screenSubTitle3 = ""; + @api screenSubTitle4 = ""; @api currentSubTitle; @api showScreen1 = false; @@ -71,10 +71,10 @@ export default class MobileWorkFlowPage extends LightningElement { dialgBoxTitle = this.LABELS.FollowUpAppointments_edit_step_text_label; - @wire(getObjectInfo, { objectApiName: 'ServiceAppointment' }) + @wire(getObjectInfo, { objectApiName: "ServiceAppointment" }) serviceAppointmentInfo({ error, data }) { if (data) { - console.log('-- got serviceAppointmentInfo -> ', data.fields); + console.log("-- got serviceAppointmentInfo -> ", data.fields); this.error = undefined; for (const field in data.fields) { this.serviceAppointmentFields.set( @@ -83,31 +83,34 @@ export default class MobileWorkFlowPage extends LightningElement { ); } } else if (error) { - console.log('-- error serviceAppointmentInfo -> ', error); + console.log("-- error serviceAppointmentInfo -> ", error); this.error = error; this.objectInfo = undefined; } } - @wire(getObjectInfo, { objectApiName: 'WorkOrder' }) + @wire(getObjectInfo, { objectApiName: "WorkOrder" }) workOrderInfo({ error, data }) { if (data) { - console.log('-- got workOrderInfo -> ', data.fields); + console.log("-- got workOrderInfo -> ", data.fields); this.error = undefined; for (const field in data.fields) { - this.workOrderFields.set(`${data.fields[field].apiName}`, `${data.fields[field].dataType}`); + this.workOrderFields.set( + `${data.fields[field].apiName}`, + `${data.fields[field].dataType}` + ); } } else if (error) { - console.log('-- error workOrderInfo -> ', error); + console.log("-- error workOrderInfo -> ", error); this.error = error; this.objectInfo = undefined; } } - @wire(getObjectInfo, { objectApiName: 'WorkOrderLineItem' }) + @wire(getObjectInfo, { objectApiName: "WorkOrderLineItem" }) workOrderLineItemInfo({ error, data }) { if (data) { - console.log('-- got workOrderLineItemInfo -> ', data.fields); + console.log("-- got workOrderLineItemInfo -> ", data.fields); this.error = undefined; for (const field in data.fields) { this.workOrderLineItemFields.set( @@ -116,14 +119,14 @@ export default class MobileWorkFlowPage extends LightningElement { ); } } else if (error) { - console.log('-- error workOrderLineItemInfo -> ', error); + console.log("-- error workOrderLineItemInfo -> ", error); this.error = error; this.objectInfo = undefined; } } set isParentComponentChanged(value) { - console.log('Reload child component called : ' + value); + console.log("Reload child component called : " + value); this.callAPEX(); } @api get isParentComponentChanged() { @@ -131,12 +134,12 @@ export default class MobileWorkFlowPage extends LightningElement { } handleEditButtonEvent() { - console.log('Edit button pressed'); + console.log("Edit button pressed"); this.showModal = true; } @api closeModal() { - console.log('Modal Close event called'); + console.log("Modal Close event called"); this.callAPEX(); this.showModal = false; } @@ -168,63 +171,63 @@ export default class MobileWorkFlowPage extends LightningElement { let arr = []; this.dataLoaded = false; if (this.currentScreenDisplayed === 1) { - console.log('Save event called for screen1'); + console.log("Save event called for screen1"); this.screenTitle1 = this.currentScreenTitle; this.selectedFieldList1 = this.selected; - console.log('Selected fields are : ' + this.selectedFieldList1); + console.log("Selected fields are : " + this.selectedFieldList1); } if (this.currentScreenDisplayed === 2) { - console.log('Save event called for screen2'); + console.log("Save event called for screen2"); this.screenTitle2 = this.currentScreenTitle; this.selectedFieldList2 = this.selected; } if (this.currentScreenDisplayed === 3) { - console.log('Save event called for screen3'); + console.log("Save event called for screen3"); this.screenTitle3 = this.currentScreenTitle; this.selectedFieldList3 = this.selected; } arr.push(this.currentScreenDisplayed); // 0 arr.push(this.currentScreenTitle); // 1 - let strField = ''; + let strField = ""; for (let i = 0; i < this.selected.length; i++) { switch (this.selectedObject) { - case 'ServiceAppointment': + case "ServiceAppointment": strField = strField + this.selectedObject + - ',' + + "," + this.selected[i] + - ',' + + "," + this.serviceAppointmentFields.get(this.selected[i]) + - ';'; + ";"; break; - case 'WorkOrder': + case "WorkOrder": strField = strField + this.selectedObject + - ',' + + "," + this.selected[i] + - ',' + + "," + this.workOrderFields.get(this.selected[i]) + - ';'; + ";"; break; - case 'WorkOrderLineItem': + case "WorkOrderLineItem": strField = strField + this.selectedObject + - ',' + + "," + this.selected[i] + - ',' + + "," + this.workOrderLineItemFields.get(this.selected[i]) + - ';'; + ";"; break; default: break; } } - console.log('Selected field string is : ' + strField); + console.log("Selected field string is : " + strField); arr.push(strField); // 2 this.handleSaveFieldDataApexCall(arr); } @@ -233,36 +236,48 @@ export default class MobileWorkFlowPage extends LightningElement { saveFieldSettings({ inputArr: arr }) .then((data) => { if (data.error) { - console.error('Error while creating screen : ' + data); + console.error("Error while creating screen : " + data); this.dataLoaded = true; throw new Error(data.error); } else { - console.log('saved successfully'); + console.log("saved successfully"); this.dataLoaded = true; - if (this.dialgBoxTitle === this.LABELS.FollowUpAppointments_new_step_text_label) { + if ( + this.dialgBoxTitle === + this.LABELS.FollowUpAppointments_new_step_text_label + ) { this.showToastMessages( this.LABELS.FollowUpAppointments_settings_createScreenToastMessage.replace( - '{0}', + "{0}", arr[1] ), true ); } else { - this.showToastMessages(this.LABELS.FollowUpAppointments_settingPage_save_message, true); + this.showToastMessages( + this.LABELS.FollowUpAppointments_settingPage_save_message, + true + ); } this.callAPEX(); } }) .catch((error) => { - console.error('Error while creating the screen : ' + error.message); + console.error("Error while creating the screen : " + error.message); this.dataLoaded = true; - if (this.dialgBoxTitle === this.LABELS.FollowUpAppointments_new_step_text_label) { + if ( + this.dialgBoxTitle === + this.LABELS.FollowUpAppointments_new_step_text_label + ) { this.showToastMessages( this.LABELS.FollowUpAppointments_workflow_addStepFailureMessage, false ); } else { - this.showToastMessages(this.LABELS.FollowUpAppointments_settingPage_error_message, false); + this.showToastMessages( + this.LABELS.FollowUpAppointments_settingPage_error_message, + false + ); } }); } @@ -275,18 +290,20 @@ export default class MobileWorkFlowPage extends LightningElement { for (let j = 0; j < 1; j++) { let arr = []; - arr.value = 'value'; + arr.value = "value"; arr.key = j; this.fieldLayoutArray.push(arr); } this.filter(); - console.log('Value in fieldLayoutArray is : ' + this.fieldLayoutArray.length); + console.log( + "Value in fieldLayoutArray is : " + this.fieldLayoutArray.length + ); } maxPageNoTitle = 4; minPageNoTitle = 1; callAPEX() { - console.log('Apex method called '); + console.log("Apex method called "); /** * GET object list @@ -307,13 +324,16 @@ export default class MobileWorkFlowPage extends LightningElement { arr.fields = []; this.ObjectArray.push(arr); this.ObjectTempNameArr.push(data[i]); - this.objectNameList = [...this.objectNameList, { value: data[i], label: data[i] }]; + this.objectNameList = [ + ...this.objectNameList, + { value: data[i], label: data[i] } + ]; this.dataLoaded = true; } } }) .catch((error) => { - console.log('Error while getting object list : ' + error); + console.log("Error while getting object list : " + error); }); /** @@ -334,20 +354,20 @@ export default class MobileWorkFlowPage extends LightningElement { if ( data.Screen_Title_1__c && data.Screen_Title_1__c.length > 0 && - data.Screen_Title_1__c !== 'null' + data.Screen_Title_1__c !== "null" ) { this.screenTitle1 = data.Screen_Title_1__c; this.showScreen1 = true; let fieldList = data.Fields_To_Show_Page_1__c; this.currentScreenDisplayed = this.currentScreenDisplayed + 1; - console.log('Saved field values are : ' + fieldList); + console.log("Saved field values are : " + fieldList); this.selectedFieldList1 = []; if (fieldList && fieldList.length > 0) { - const myArray = fieldList.split(';'); // split the fields by ';' + const myArray = fieldList.split(";"); // split the fields by ';' if (myArray.length > 0) { for (let i = 0; i < myArray.length; i++) { let objfield = myArray[i]; - const fieldArray = objfield.split(','); + const fieldArray = objfield.split(","); if (fieldArray.length > 0) { if (fieldArray[1] && fieldArray[1].length > 0) { this.selectedObject1 = fieldArray[0]; @@ -358,7 +378,10 @@ export default class MobileWorkFlowPage extends LightningElement { } } this.minPageNoTitle = this.minPageNoTitle + 1; - this.screenSubTitle1 = this.createStepTitle(this.minPageNoTitle, this.maxPageNoTitle); + this.screenSubTitle1 = this.createStepTitle( + this.minPageNoTitle, + this.maxPageNoTitle + ); } else { this.showScreen1 = false; } @@ -366,7 +389,7 @@ export default class MobileWorkFlowPage extends LightningElement { if ( data.Screen_Title_2__c && data.Screen_Title_2__c.length > 0 && - data.Screen_Title_2__c !== 'null' + data.Screen_Title_2__c !== "null" ) { this.screenTitle2 = data.Screen_Title_2__c; this.showScreen2 = true; @@ -374,11 +397,11 @@ export default class MobileWorkFlowPage extends LightningElement { let fieldList2 = data.Fields_To_Show_Page_2__c; this.selectedFieldList2 = []; if (fieldList2 && fieldList2.length > 0) { - const myArray = fieldList2.split(';'); // split the fields by ',' + const myArray = fieldList2.split(";"); // split the fields by ',' if (myArray.length > 0) { for (let i = 0; i < myArray.length; i++) { let objfield = myArray[i]; - const fieldArray = objfield.split(','); + const fieldArray = objfield.split(","); if (fieldArray.length > 0) { if (fieldArray[1] && fieldArray[1].length > 0) { this.selectedObject2 = fieldArray[0]; @@ -389,7 +412,10 @@ export default class MobileWorkFlowPage extends LightningElement { } } this.minPageNoTitle = this.minPageNoTitle + 1; - this.screenSubTitle2 = this.createStepTitle(this.minPageNoTitle, this.maxPageNoTitle); + this.screenSubTitle2 = this.createStepTitle( + this.minPageNoTitle, + this.maxPageNoTitle + ); } else { this.showScreen2 = false; } @@ -397,7 +423,7 @@ export default class MobileWorkFlowPage extends LightningElement { if ( data.Screen_Title_3__c && data.Screen_Title_3__c.length > 0 && - data.Screen_Title_3__c !== 'null' + data.Screen_Title_3__c !== "null" ) { this.screenTitle3 = data.Screen_Title_3__c; let fieldList3 = data.Fields_To_Show_Page_3__c; @@ -405,11 +431,11 @@ export default class MobileWorkFlowPage extends LightningElement { this.currentScreenDisplayed = this.currentScreenDisplayed + 1; this.selectedFieldList3 = []; if (fieldList3 && fieldList3.length > 0) { - const myArray = fieldList3.split(';'); // split the fields by ',' + const myArray = fieldList3.split(";"); // split the fields by ',' if (myArray.length > 0) { for (let i = 0; i < myArray.length; i++) { let objfield = myArray[i]; - const fieldArray = objfield.split(','); + const fieldArray = objfield.split(","); if (fieldArray.length > 0) { if (fieldArray[1] && fieldArray[1].length > 0) { this.selectedObject3 = fieldArray[0]; @@ -420,12 +446,18 @@ export default class MobileWorkFlowPage extends LightningElement { } } this.minPageNoTitle = this.minPageNoTitle + 1; - this.screenSubTitle3 = this.createStepTitle(this.minPageNoTitle, this.maxPageNoTitle); + this.screenSubTitle3 = this.createStepTitle( + this.minPageNoTitle, + this.maxPageNoTitle + ); } else { this.showScreen3 = false; } this.minPageNoTitle = this.minPageNoTitle + 1; - this.screenSubTitle4 = this.createStepTitle(this.minPageNoTitle, this.maxPageNoTitle); + this.screenSubTitle4 = this.createStepTitle( + this.minPageNoTitle, + this.maxPageNoTitle + ); this.disableAddStepBtn = false; if (this.currentScreenDisplayed === this.screenMaxLimitConst) { this.disableAddStepBtn = true; @@ -434,7 +466,7 @@ export default class MobileWorkFlowPage extends LightningElement { } }) .catch((error) => { - console.log('Error while getting object list : ' + error); + console.log("Error while getting object list : " + error); }); } @@ -447,7 +479,7 @@ export default class MobileWorkFlowPage extends LightningElement { this.isRightButtonDisabled2 = false; this.isRightButtonDisabled3 = false; - console.log('Page no displayed are : ' + this.minPageNoTitle); + console.log("Page no displayed are : " + this.minPageNoTitle); switch (this.minPageNoTitle) { case 2: { if (this.showScreen1) { @@ -489,26 +521,29 @@ export default class MobileWorkFlowPage extends LightningElement { } } - selectedObject = ''; + selectedObject = ""; handleObjectNameSelected(event) { - console.log('On object selected called : ' + event.detail.value); + console.log("On object selected called : " + event.detail.value); this.selectedObject = event.detail.value; //this.selectedFields =[{label:'', value:''}]; /** * GET field list */ this.selectedFields = []; - this.selected = ''; + this.selected = ""; this.dataLoaded = false; getFieldNames({ objectName: this.selectedObject }) .then((data) => { if (data.error) { throw new Error(data.error); } else { - console.log('Got the field names successfully ' + data); + console.log("Got the field names successfully " + data); this.fieldNameList = []; for (let i = 0; i < data.length; i++) { - this.fieldNameList = [...this.fieldNameList, { value: data[i], label: data[i] }]; + this.fieldNameList = [ + ...this.fieldNameList, + { value: data[i], label: data[i] } + ]; } this.filteredFieldNames = this.fieldNameList; this.dataLoaded = true; @@ -516,7 +551,7 @@ export default class MobileWorkFlowPage extends LightningElement { }) .catch((error) => { this.dataLoaded = true; - console.log('Error while getting object list : ' + error); + console.log("Error while getting object list : " + error); }); } @@ -525,25 +560,30 @@ export default class MobileWorkFlowPage extends LightningElement { this.fieldLayoutArray = []; for (let j = 0; j < this.noOfField; j++) { let arr = []; - arr.value = 'value'; + arr.value = "value"; arr.key = j; this.fieldLayoutArray.push(arr); } - console.log('Value in fieldLayoutArray is : ' + this.fieldLayoutArray.length); + console.log( + "Value in fieldLayoutArray is : " + this.fieldLayoutArray.length + ); } filteredFieldNames = []; - searchString = ''; + searchString = ""; filter(event) { let filter = event - ? new RegExp(this.template.querySelector("[data-name='searchfield']").value, 'ig') + ? new RegExp( + this.template.querySelector("[data-name='searchfield']").value, + "ig" + ) : { test: function () { return true; - }, + } }; - console.log('filter event called'); + console.log("filter event called"); const selected = new Set(this.selected); this.filteredFieldNames = this.fieldNameList.filter( (option) => filter.test(option.value) || selected.has(option.value) @@ -559,7 +599,7 @@ export default class MobileWorkFlowPage extends LightningElement { } @api handleAddScreenEvent() { - console.log('Add screen event called '); + console.log("Add screen event called "); this.dialgBoxTitle = this.LABELS.FollowUpAppointments_new_step_text_label; this.disableAddStepBtn = false; if (this.currentScreenDisplayed < 3) { @@ -601,8 +641,8 @@ export default class MobileWorkFlowPage extends LightningElement { // Open the dialog box directly when add step is called this.selectedObject = null; - this.currentScreenTitle = ''; - this.selected = ''; + this.currentScreenTitle = ""; + this.selected = ""; this.filteredFieldNames = []; this.selectedFields = []; this.isSaveButtonDisabled = true; @@ -612,13 +652,13 @@ export default class MobileWorkFlowPage extends LightningElement { selectedFields = []; editButtonEventCalledFromChild(event) { this.dialgBoxTitle = this.LABELS.FollowUpAppointments_edit_step_text_label; - console.log('Selected Page is : ' + event.detail); + console.log("Selected Page is : " + event.detail); this.currentScreenDisplayed = event.detail; this.showModal = true; this.selectedObject = null; - this.currentScreenTitle = ''; - this.selected = ''; + this.currentScreenTitle = ""; + this.selected = ""; this.isSaveButtonDisabled = true; switch (this.currentScreenDisplayed) { case 1: { @@ -685,10 +725,13 @@ export default class MobileWorkFlowPage extends LightningElement { if (data.error) { throw new Error(data.error); } else { - console.log('Got the field names successfully'); + console.log("Got the field names successfully"); this.fieldNameList = []; for (let i = 0; i < data.length; i++) { - this.fieldNameList = [...this.fieldNameList, { value: data[i], label: data[i] }]; + this.fieldNameList = [ + ...this.fieldNameList, + { value: data[i], label: data[i] } + ]; } this.filteredFieldNames = this.fieldNameList; this.dataLoaded = true; @@ -696,17 +739,17 @@ export default class MobileWorkFlowPage extends LightningElement { }) .catch((error) => { this.dataLoaded = true; - console.log('Error while getting object list : ' + error); + console.log("Error while getting object list : " + error); }); } else { this.dataLoaded = true; - console.log('No object selected'); + console.log("No object selected"); } } deletePageNoCalled = -1; deleteScreenEventCalledFromChild(event) { - console.log('Selected Page is : ' + event.detail); + console.log("Selected Page is : " + event.detail); this.deletePageNoCalled = event.detail; this.showDeleteDialogBox = true; } @@ -718,7 +761,7 @@ export default class MobileWorkFlowPage extends LightningElement { if (this.currentScreenDisplayed > 0) { this.dataLoaded = false; this.showDeleteDialogBox = false; - let screenTitleTemp = ''; + let screenTitleTemp = ""; switch (this.deletePageNoCalled) { case 1: { screenTitleTemp = this.screenTitle1; @@ -739,14 +782,14 @@ export default class MobileWorkFlowPage extends LightningElement { deleteScreen({ screenNo: this.deletePageNoCalled }) .then((data) => { if (data.error) { - console.error('Got error while deleting the data : ' + data.error); + console.error("Got error while deleting the data : " + data.error); this.dataLoaded = true; throw new Error(data.error); } else { - console.log('screen deleted successfully'); + console.log("screen deleted successfully"); this.showToastMessages( this.LABELS.FollowUpAppointments_settings_deleteScreenToastMessage.replace( - '{0}', + "{0}", screenTitleTemp ), true @@ -759,26 +802,26 @@ export default class MobileWorkFlowPage extends LightningElement { switch (this.deletePageNoCalled) { case 1: { - this.screenTitle1 = ''; - this.currentScreenTitle = ''; - this.selected = ''; + this.screenTitle1 = ""; + this.currentScreenTitle = ""; + this.selected = ""; this.selectedFieldList1 = []; this.showScreen2 = false; break; } case 2: { - this.screenTitle2 = ''; - this.currentScreenTitle = ''; - this.selected = ''; + this.screenTitle2 = ""; + this.currentScreenTitle = ""; + this.selected = ""; this.selectedFieldList2 = []; this.showScreen2 = false; break; } case 3: { - this.screenTitle3 = ''; - this.currentScreenTitle = ''; - this.selected = ''; + this.screenTitle3 = ""; + this.currentScreenTitle = ""; + this.selected = ""; this.selectedFieldList3 = []; this.showScreen3 = false; break; @@ -801,7 +844,7 @@ export default class MobileWorkFlowPage extends LightningElement { } }) .catch((error) => { - console.log('Error while deleting the screen : ' + error); + console.log("Error while deleting the screen : " + error); this.dataLoaded = true; this.showToastMessages( this.LABELS.FollowUpAppointments_settingPage_error_delete_screen, @@ -814,9 +857,9 @@ export default class MobileWorkFlowPage extends LightningElement { } duplicateEventCalledFromChild(event) { - console.log('Duplicate event called for page : ' + event.detail); + console.log("Duplicate event called for page : " + event.detail); let pageNo = event.detail; - let screenTitleTemp = ''; + let screenTitleTemp = ""; let fieldSelected = []; let toScreenNo; @@ -877,21 +920,21 @@ export default class MobileWorkFlowPage extends LightningElement { break; } } - console.log('selected screen title : ' + screenTitleTemp); - console.log('selected fields : ' + fieldSelected); + console.log("selected screen title : " + screenTitleTemp); + console.log("selected fields : " + fieldSelected); if (toScreenNo) { duplicateScreenData({ fromScreenNo: pageNo, toScreenNo: toScreenNo }) .then((data) => { if (data.error) { - console.error('Got error while saving the data : ' + data); + console.error("Got error while saving the data : " + data); this.dataLoaded = true; throw new Error(data.error); } else { this.callAPEX(); this.showToastMessages( this.LABELS.FollowUpAppointments_settings_duplicateScreenToastMessage.replace( - '{0}', + "{0}", screenTitleTemp ), true @@ -899,10 +942,13 @@ export default class MobileWorkFlowPage extends LightningElement { } }) .catch((error) => { - console.log('Error while duplicating the screen : ' + error.message); + console.log( + "Error while duplicating the screen : " + error.message + ); this.dataLoaded = true; this.showToastMessages( - this.LABELS.FollowUpAppointments_settingPage_error_duplicate_screen, + this.LABELS + .FollowUpAppointments_settingPage_error_duplicate_screen, false ); }); @@ -913,20 +959,20 @@ export default class MobileWorkFlowPage extends LightningElement { /** * FUNCTIONS TO CALL DIALOG BOX */ - dialogTitle = ''; - dialogMessage = ''; + dialogTitle = ""; + dialogMessage = ""; showToastMessages(message, isSuccessMessage) { - var variant = 'success'; - if (isSuccessMessage) variant = 'success'; - else variant = 'error'; + var variant = "success"; + if (isSuccessMessage) variant = "success"; + else variant = "error"; this.template - .querySelector('c-follow-up-appointment-custom-toast-notifications') + .querySelector("c-follow-up-appointment-custom-toast-notifications") .showToast(variant, message); } createStepTitle(minPage, maxPage) { - return 'Step ' + minPage + ' of ' + maxPage; + return "Step " + minPage + " of " + maxPage; } /** @@ -975,7 +1021,7 @@ export default class MobileWorkFlowPage extends LightningElement { swapScreenLeftRight({ fromScreenNo: fromScreen, toScreenNo: toScreen }) .then((data) => { if (data.error) { - console.error('Got error while saving the data : ' + data); + console.error("Got error while saving the data : " + data); this.dataLoaded = true; throw new Error(data.error); } else { @@ -983,9 +1029,12 @@ export default class MobileWorkFlowPage extends LightningElement { } }) .catch((error) => { - console.log('Error while shifting the screen : ' + error); + console.log("Error while shifting the screen : " + error); this.dataLoaded = true; - this.showToastMessages('Error while shifting the screen : ' + error.message, false); + this.showToastMessages( + "Error while shifting the screen : " + error.message, + false + ); }); } } diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.js-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.js-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPage/mobileWorkFlowPage.js-meta.xml diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/__tests__/mobileWorkFlowPreviewScreen.test.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/__tests__/mobileWorkFlowPreviewScreen.test.js new file mode 100644 index 0000000..034b21f --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/__tests__/mobileWorkFlowPreviewScreen.test.js @@ -0,0 +1,36 @@ +import { createElement } from "lwc"; +import MobileWorkFlowPreviewScreen from "c/mobileWorkFlowPreviewScreen"; + +let element; +describe("c-mobile-work-flow-preview-screen", () => { + afterEach(() => { + // The jsdom instance is shared across test cases in a single file so reset the DOM + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + beforeEach(() => { + element = createElement("c-mobile-work-flow-preview-screen", { + is: MobileWorkFlowPreviewScreen + }); + + element.screenTitle = "title1"; + element.screenSubTitle = "title2"; + element.appointmentDetailTitle = "appointmentTitle"; + element.currentScreen = 2; + element.screenno = jest.fn(); + document.body.appendChild(element); + }); + it("should have the correct title", () => { + const title = element.shadowRoot.querySelector(".screenTitle1"); + expect(title.textContent).toBe("title1"); + + const screenTitle2 = element.shadowRoot.querySelector(".screenTitle2"); + expect(screenTitle2.textContent).toBe("title2"); + + const appointmentTitle = + element.shadowRoot.querySelector(".appointmentTitle"); + expect(appointmentTitle.textContent).toBe("appointmentTitle"); + }); +}); diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/labels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/labels.js new file mode 100644 index 0000000..3ca6fa7 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/labels.js @@ -0,0 +1,17 @@ +import FollowUpAppointments_preview_appointmentDateTime_title from "@salesforce/label/c.FollowUpAppointments_preview_appointmentDateTime_title"; +import FollowUpAppointments_preview_appointmentDetails_title from "@salesforce/label/c.FollowUpAppointments_preview_appointmentDetails_title"; +import FollowUpAppointments_preview_mobileWorker_title from "@salesforce/label/c.FollowUpAppointments_preview_mobileWorker_title"; +import FollowUpAppointments_preview_step_not_editable from "@salesforce/label/c.FollowUpAppointments_preview_step_not_editable"; +import FollowUpAppointments_preview_text from "@salesforce/label/c.FollowUpAppointments_preview_text"; +import FollowUpAppointments_preview_step_help_text from "@salesforce/label/c.FollowUpAppointments_preview_step_help_text"; + +const customLabels = { + FollowUpAppointments_preview_appointmentDateTime_title, + FollowUpAppointments_preview_appointmentDetails_title, + FollowUpAppointments_preview_mobileWorker_title, + FollowUpAppointments_preview_step_not_editable, + FollowUpAppointments_preview_text, + FollowUpAppointments_preview_step_help_text +}; + +export default customLabels; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.css b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.css new file mode 100644 index 0000000..72f1831 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.css @@ -0,0 +1,212 @@ +.mainDiv { + height: 500px; + width: 300px; + /* margin-top: 50px; */ + /* margin-left: 30px; */ + position: relative; + border-radius: 2%; +} + +.newAppointmentTitleLayout { + background-color: #f3f3f3; +} + +.deleteIcon { + padding-top: 12px; + margin-left: 15px; + width: 10px; + height: 10px; +} + +.previewText { + padding-top: 5px; + /* margin-left: 20px; */ + padding-bottom: 5px; + background-color: #f3f3f3; +} + +.screenTitleLayout { + margin-top: 15px; + height: 54px; +} + +.screenTitle1 { + padding-top: 5px; + margin-left: 15px; + color: black; +} + +.screenTitle2 { + padding-top: 6px; + margin-left: 15px; + color: black; +} + +.appointmentTitle { + padding-top: 10px; + margin-left: 15px; + color: black; +} + +.smallDividerLayout { + width: 100%; + height: 1px; + background-color: #f3f3f3; + margin-top: 6px; +} + +.smallDividerLayout2 { + width: 100%; + height: 1px; + background-color: #f3f3f3; + margin-top: 6px; +} + +.previewFieldLayout { + margin-left: 10px; + overflow-x: hidden; + overflow-y: auto; +} + +.loadingBar1 { + width: 200px; + height: 6px; + background-color: #e5e5e5; + margin-left: 15px; + margin-top: 8px; + border-radius: 10px; +} + +.loadingBar2 { + width: 169px; + height: 6px; + background-color: #e5e5e5; + margin-left: 15px; + margin-top: 8px; + border-radius: 10px; +} + +.loadingBar3 { + width: 220px; + height: 6px; + background-color: #e5e5e5; + margin-left: 15px; + margin-top: 8px; + border-radius: 10px; +} + +.loadingBar4 { + width: 100px; + height: 6px; + background-color: #0176d3; + margin-top: 8px; + border-radius: 10px; +} + +.calenderTitle { + margin-top: 6px; + height: 27px; +} + +.blueIconDown { + margin-left: 5px; + --sds-c-icon-color-foreground-default: #0176d3; + margin-top: 2px; +} + +.lgc-bg { + margin-top: 5px; + margin-left: 7px; + margin-right: 10px; +} + +.previewFieldOuterLayout { + overflow-x: hidden; + overflow-y: auto; + height: 350px; +} + +.inputFieldPreview { + width: 200px; +} + +.dividerLayout { + width: 100%; + height: 16px; + background-color: #f3f3f3; + margin-top: 10px; +} + +.screenFooterDivElement { + height: 50px; + position: absolute; + bottom: 0; + width: 100%; + background-color: #f3f3f3; +} + +.editIcon { + margin-top: 10px; + margin-right: 20px; + margin-bottom: 5px; + border-radius: 2%; + background-color: #f3f3f3; + /* padding-top: 4px; */ +} + +.lgc-bg { + background-color: white; +} + +.editButton { + /* margin-top: 15px; */ + margin-right: 0px; +} + +.leftrightDivLayout { + margin-top: 10px; + margin-left: 20px; + width: 100%; +} + +.footerLayout { + height: 48px; + background-color: #f3f3f3; + padding-right: 60px; + margin-top: 50px; +} + +.addStepBtn { + margin-top: 15px; + margin-left: 30px; + margin-bottom: 10px; +} + +.saveButton { + margin-top: 10px; +} + +.comboBox { + margin-right: 15px; +} + +.fieldTitle { + margin-top: 15px; +} + +.searchInputField { + width: 150px; +} + +.loadingBarCalender { + width: 26px; + height: 5px; + background-color: #e5e5e5; + border-radius: 10px; +} + +.c-container { + margin-top: 9px; + padding-left: 15px; + padding-right: 15px; +} diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.html b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.html similarity index 100% rename from FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.html rename to projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.html diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.js new file mode 100644 index 0000000..304d931 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.js @@ -0,0 +1,43 @@ +/* eslint-disable @lwc/lwc/no-api-reassignments */ +import { LightningElement, api } from "lwc"; +import customLabels from "./labels"; + +export default class MobileWorkFlowPreviewScreen extends LightningElement { + @api currentScreen; + LABELS = customLabels; + @api handleEditButtonClickEvent; + @api screenTitle = + this.LABELS.FollowUpAppointments_preview_appointmentDateTime_title; + @api screenSubTitle = "Step 1 of 4"; + fieldListArray = []; + @api footerTitle = this.LABELS.FollowUpAppointments_preview_step_not_editable; + @api appointmentDetailTitle = + this.LABELS.FollowUpAppointments_preview_appointmentDetails_title; + @api mobileWorkerText = + this.LABELS.FollowUpAppointments_preview_mobileWorker_title; + + SUN = "SUN"; + MON = "MON"; + TUE = "TUE"; + WED = "WED"; + THU = "THU"; + FRI = "FRI"; + SAT = "SAT"; + + @api get screenno() { + return this.currentScreen; + } + set screenno(value) { + console.log("screen no value is : " + value); + if (value) { + this.currentScreen = value; + } + } + + @api get screensubtitle() { + return this.screenSubTitle; + } + set screensubtitle(value) { + this.screenSubTitle = value; + } +} diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.js-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.js-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowPreviewScreen/mobileWorkFlowPreviewScreen.js-meta.xml diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/__tests__/mobileWorkFlowScreenLayout.test.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/__tests__/mobileWorkFlowScreenLayout.test.js new file mode 100644 index 0000000..490b652 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/__tests__/mobileWorkFlowScreenLayout.test.js @@ -0,0 +1,147 @@ +import { createElement } from "lwc"; +import MobileWorkFlowLayout from "c/mobileWorkFlowScreenLayout"; + +jest.mock( + "./labels", + () => { + return { + MobileWorkFlowLayoutLabels: "test" + }; + }, + { virtual: true } +); + +let element; +describe("c-mobile-work-flow-screen-layout", () => { + afterEach(() => { + // The jsdom instance is shared across test cases in a single file so reset the DOM + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + beforeEach(() => { + element = createElement("c-mobile-work-flow-screen-layout", { + is: MobileWorkFlowLayout + }); + + element.screenTitle = "title1"; + element.screenSubTitle = "title2"; + element.inputFieldPreview = "previewText"; + element.currentScreen = 2; + element.handleLeftButtonEventClick = jest.fn(); + element.handleDropDownActionSelected = jest.fn(); + element.handleClildEditButtonEvent = jest.fn(); + + element.fieldListArray = []; + element.const_duplicate = "duplicate"; + element.const_delete = "delete"; + element.isDuplicateButtonDisabled = false; + document.body.appendChild(element); + }); + + it("should show correct info", () => { + const title1 = element.shadowRoot.querySelector(".slds-truncate"); + const title2 = element.shadowRoot.querySelector(".screenTitle2"); + const editButton = element.shadowRoot.querySelector(".editButton"); + editButton.label = "edit"; + expect(title1.textContent).toBe("title1"); + expect(title2.textContent).toBe("title2"); + expect(editButton.label).toBe("edit"); + }); + + test("element does not have slds-icon class when bare", () => { + // Use a promise to wait for asynchronous changes to the DOM + return Promise.resolve().then(() => { + expect(element.classList).not.toContain("slds-icon"); + }); + }); + + it("should call left button when left arrow clicked", async () => { + const action = element.shadowRoot.querySelector(".leftarrowbutton"); + console.log(action); + action.click(); + return Promise.resolve().then(() => { + expect(element.handleLeftButtonEventClick).toHaveBeenCalledTimes(0); + }); + }); + + it("should call right button when right arrow clicked", async () => { + const action = element.shadowRoot.querySelector(".rightarrowbutton"); + console.log(action); + const spy = jest.spyOn(element, "handleRightButtonEventClick"); + action.dispatchEvent(new CustomEvent("click")); + return Promise.resolve().then(() => { + //expect(element.handleRightButtonEventClick).toHaveBeenCalledTimes(1); + expect(spy).toHaveBeenCalledTimes(0); + }); + }); + + it("should call drop down arrow button", async () => { + const action = element.shadowRoot.querySelector(".dropdownbtn"); + console.log(action); + const spy = jest.spyOn(element, "handleDropDownActionSelected"); + action.dispatchEvent(new CustomEvent("click")); + return Promise.resolve().then(() => { + //expect(element.handleRightButtonEventClick).toHaveBeenCalledTimes(1); + expect(spy).toHaveBeenCalledTimes(0); + }); + }); + + it("should call edit button", async () => { + const action = element.shadowRoot.querySelector(".editButton"); + console.log(action); + action.click(); + return Promise.resolve().then(() => { + expect(element.handleClildEditButtonEvent).toHaveBeenCalledTimes(0); + }); + }); + + it("Getter and setter disableleftbutton", () => { + const spy = jest.spyOn(element, "disableleftbutton", "set"); + element.disableleftbutton = false; + expect(spy).toHaveBeenCalled(); + expect(element.disableleftbutton).toBe(false); + }); + + it("Getter and setter disablerightbutton", () => { + const spy = jest.spyOn(element, "disablerightbutton", "set"); + element.disablerightbutton = false; + expect(spy).toHaveBeenCalled(); + expect(element.disablerightbutton).toBe(false); + }); + + it("Getter and setter for screenno", () => { + const spy = jest.spyOn(element, "screenno", "set"); + element.screenno = 1; + expect(element.screenno).toBe(1); + expect(spy).toHaveBeenCalled(); + }); + + it("Getter and setter for screentitle", () => { + const spy = jest.spyOn(element, "screentitle", "set"); + element.screentitle = "titletest"; + expect(element.screentitle).toBe("titletest"); + expect(spy).toHaveBeenCalled(); + }); + + it("Getter and setter for screensubtitle", () => { + const spy = jest.spyOn(element, "screensubtitle", "set"); + element.screensubtitle = "title1"; + expect(element.screensubtitle).toBe("title1"); + expect(spy).toHaveBeenCalled(); + }); + + it("Getter and setter for selectedfieldlist", () => { + const spy = jest.spyOn(element, "selectedfieldlist", "set"); + element.selectedfieldlist = ["title2"]; + expect(element.selectedfieldlist).toStrictEqual(["title2"]); + expect(spy).toHaveBeenCalled(); + }); + + it("Getter and setter for disableduplicatebutton", () => { + const spy = jest.spyOn(element, "disableduplicatebutton", "set"); + element.disableduplicatebutton = false; + expect(element.disableduplicatebutton).toBe(false); + expect(spy).toHaveBeenCalled(); + }); +}); diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/labels.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/labels.js new file mode 100644 index 0000000..defd33a --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/labels.js @@ -0,0 +1,13 @@ +import FollowUpAppointments_duplicate_title from "@salesforce/label/c.FollowUpAppointments_duplicate_title"; +import FollowUpAppointments_delete_title from "@salesforce/label/c.FollowUpAppointments_delete_title"; +import FollowUpAppointments_preview_text from "@salesforce/label/c.FollowUpAppointments_preview_text"; +import FollowUpAppointments_edit_button_label from "@salesforce/label/c.FollowUpAppointments_edit_button_label"; + +const customLabels = { + FollowUpAppointments_duplicate_title, + FollowUpAppointments_delete_title, + FollowUpAppointments_preview_text, + FollowUpAppointments_edit_button_label +}; + +export default customLabels; diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.css b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.css new file mode 100644 index 0000000..e6c2b2f --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.css @@ -0,0 +1,121 @@ +.mainDiv { + height: 500px; + width: 300px; + /* margin-top: 50px; */ + /* margin-left: 30px; */ + position: relative; + border-radius: 2%; +} + +.newAppointmentTitleLayout { + background-color: #f3f3f3; +} + +.deleteIcon { + padding-top: 12px; + margin-left: 15px; + width: 10px; + height: 10px; +} + +.previewText { + padding-top: 5px; + /* margin-left: 20px; */ + padding-bottom: 5px; + background-color: #f3f3f3; +} + +.screenTitleLayout { + margin-top: 15px; + height: 54px; +} + +.screenTitle1 { + padding-top: 5px; + margin-left: 15px; + color: black; +} + +.screenTitle2 { + padding-top: 1px; + margin-left: 15px; + color: black; +} + +.previewFieldLayout { + margin-left: 10px; + overflow-x: hidden; + overflow-y: auto; +} + +.previewFieldOuterLayout { + overflow-x: hidden; + overflow-y: auto; + height: 350px; +} + +.inputFieldPreview { + width: 200px; +} + +.screenFooterDivElement { + height: 50px; + position: absolute; + bottom: 0; + width: 100%; +} + +.editIcon { + margin-top: 8px; + margin-right: 20px; + margin-bottom: 5px; + border-radius: 2%; + /* padding-top: 4px; */ +} + +.lgc-bg { + background-color: white; +} + +.editButton { + /* margin-top: 15px; */ + margin-right: 0px; +} + +.leftrightDivLayout { + margin-top: 8px; + margin-left: 20px; +} + +.rightShiftButton { + margin-left: 5px; +} + +.footerLayout { + height: 48px; + background-color: #f3f3f3; + padding-right: 60px; + margin-top: 50px; +} + +.addStepBtn { + margin-top: 15px; + margin-left: 30px; + margin-bottom: 10px; +} + +.saveButton { + margin-top: 10px; +} + +.comboBox { + margin-right: 15px; +} + +.fieldTitle { + margin-top: 15px; +} + +.searchInputField { + width: 150px; +} diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.html b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.html similarity index 100% rename from FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.html rename to projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.html diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.js b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.js new file mode 100644 index 0000000..b33f65c --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.js @@ -0,0 +1,114 @@ +/* eslint-disable @lwc/lwc/no-api-reassignments */ +import { LightningElement, api } from "lwc"; +import customLabels from "./labels"; + +export default class MobileWorkFlowScreenLayout extends LightningElement { + @api currentScreen; + LABELS = customLabels; + @api handleEditButtonClickEvent; + @api screenTitle; + @api screenSubTitle; + @api fieldListArray = []; + @api const_duplicate = this.LABELS.FollowUpAppointments_duplicate_title; + @api const_delete = this.LABELS.FollowUpAppointments_delete_title; + @api isDuplicateButtonDisabled = false; + + @api isLeftButtonDisabled = false; + @api isRightButtonDisabled = false; + + @api get screenno() { + return this.currentScreen; + } + set screenno(value) { + console.log("screen no value is : " + value); + if (value) { + this.currentScreen = value; + } + } + + @api get disableleftbutton() { + return this.isLeftButtonDisabled; + } + set disableleftbutton(value) { + this.isLeftButtonDisabled = value; + } + + @api get disablerightbutton() { + return this.isRightButtonDisabled; + } + set disablerightbutton(value) { + this.isRightButtonDisabled = value; + } + + @api get screentitle() { + return this.screenTitle; + } + set screentitle(value) { + //console.log("Value in clild class : "+value); + this.screenTitle = value; + } + + @api get screensubtitle() { + return this.screenSubTitle; + } + set screensubtitle(value) { + this.screenSubTitle = value; + } + + @api get selectedfieldlist() { + return this.fieldListArray; + } + + set selectedfieldlist(value) { + this.fieldListArray = value; + } + + @api get disableduplicatebutton() { + return this.isDuplicateButtonDisabled; + } + + set disableduplicatebutton(value) { + this.isDuplicateButtonDisabled = value; + } + + // send the event to parent class for edit button + @api handleClildEditButtonEvent() { + let ev = new CustomEvent("editevent", { detail: this.currentScreen }); + this.dispatchEvent(ev); + } + + @api handleDropDownActionSelected(event) { + console.log("Drop down list selected : " + event.detail.value); + let selectedValue = event.detail.value; + if (selectedValue === this.const_duplicate) { + // handle duplication of screen + + console.log("Duplicate screen called : " + this.currentScreen); + let ev = new CustomEvent("duplicateevent", { + detail: this.currentScreen + }); + this.dispatchEvent(ev); + } else { + // Handle delete of screen + console.log("Delete screen called : " + this.currentScreen); + let ev = new CustomEvent("deleteevent", { detail: this.currentScreen }); + this.dispatchEvent(ev); + } + } + + @api handleLeftButtonEventClick() { + console.log("Left button clicked for screen : " + this.currentScreen); + let ev = new CustomEvent("leftbuttoneevent", { + detail: this.currentScreen + }); + this.dispatchEvent(ev); + } + + @api handleRightButtonEventClick() { + console.log("Right button clicked for screen : " + this.currentScreen); + let ev = new CustomEvent("rightbuttoneevent", { + detail: this.currentScreen + }); + this.dispatchEvent(ev); + } +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.js-meta.xml new file mode 100644 index 0000000..9b08a91 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/mobileWorkFlowScreenLayout/mobileWorkFlowScreenLayout.js-meta.xml @@ -0,0 +1,5 @@ + + + 56.0 + false + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/modal/modal.css b/projects/FollowUpAppointment/force-app/main/default/lwc/modal/modal.css new file mode 100644 index 0000000..05d1ef0 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/modal/modal.css @@ -0,0 +1,22 @@ +.modal-background { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: rgba(43, 40, 38, 0.6); + display: flex; +} +.modal-container { + background-color: white; + position: fixed; + bottom: 0; + left: 0; + width: 100%; +} + +.modal-header { + display: flex; + align-items: center; + justify-content: space-between; +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/modal/modal.html b/projects/FollowUpAppointment/force-app/main/default/lwc/modal/modal.html new file mode 100644 index 0000000..67022b9 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/modal/modal.html @@ -0,0 +1,22 @@ + diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/modal/modal.js b/projects/FollowUpAppointment/force-app/main/default/lwc/modal/modal.js new file mode 100644 index 0000000..02910ca --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/modal/modal.js @@ -0,0 +1,21 @@ +import { LightningElement, api } from "lwc"; + +export default class Modal extends LightningElement { + @api showModal; + + @api get modalIsOpen() { + return this.showModal === 1; + } + + closeModal(event) { + event.preventDefault(); + + console.log("dispatching close modal::: " + this.showModal); + this.dispatchEvent( + new CustomEvent("closemodal", { + composed: true, + bubbles: true + }) + ); + } +} diff --git a/projects/FollowUpAppointment/force-app/main/default/lwc/modal/modal.js-meta.xml b/projects/FollowUpAppointment/force-app/main/default/lwc/modal/modal.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/FollowUpAppointment/force-app/main/default/lwc/modal/modal.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c.object-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c.object-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c.object-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c.object-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Fields_To_Show_Page_1__c.field-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Fields_To_Show_Page_1__c.field-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Fields_To_Show_Page_1__c.field-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Fields_To_Show_Page_1__c.field-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Fields_To_Show_Page_2__c.field-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Fields_To_Show_Page_2__c.field-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Fields_To_Show_Page_2__c.field-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Fields_To_Show_Page_2__c.field-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Fields_To_Show_Page_3__c.field-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Fields_To_Show_Page_3__c.field-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Fields_To_Show_Page_3__c.field-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Fields_To_Show_Page_3__c.field-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Operating_Hours__c.field-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Operating_Hours__c.field-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Operating_Hours__c.field-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Operating_Hours__c.field-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Record_To_Create__c.field-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Record_To_Create__c.field-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Record_To_Create__c.field-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Record_To_Create__c.field-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Scheduling_Horizon_Value__c.field-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Scheduling_Horizon_Value__c.field-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Scheduling_Horizon_Value__c.field-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Scheduling_Horizon_Value__c.field-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Scheduling_Policy__c.field-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Scheduling_Policy__c.field-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Scheduling_Policy__c.field-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Scheduling_Policy__c.field-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Screen_Title_1__c.field-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Screen_Title_1__c.field-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Screen_Title_1__c.field-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Screen_Title_1__c.field-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Screen_Title_2__c.field-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Screen_Title_2__c.field-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Screen_Title_2__c.field-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Screen_Title_2__c.field-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Screen_Title_3__c.field-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Screen_Title_3__c.field-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Screen_Title_3__c.field-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Screen_Title_3__c.field-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/ShowExactArrivalTime__c.field-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/ShowExactArrivalTime__c.field-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/ShowExactArrivalTime__c.field-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/ShowExactArrivalTime__c.field-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Technician_Assigment__c.field-meta.xml b/projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Technician_Assigment__c.field-meta.xml similarity index 100% rename from FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Technician_Assigment__c.field-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/objects/FollowupAppointmentSettings__c/fields/Technician_Assigment__c.field-meta.xml diff --git a/FollowUpAppointment/force-app/main/default/tabs/Follow_Up_Appointments_Settings.tab-meta.xml b/projects/FollowUpAppointment/force-app/main/default/tabs/Follow_Up_Appointments_Settings.tab-meta.xml similarity index 87% rename from FollowUpAppointment/force-app/main/default/tabs/Follow_Up_Appointments_Settings.tab-meta.xml rename to projects/FollowUpAppointment/force-app/main/default/tabs/Follow_Up_Appointments_Settings.tab-meta.xml index d27d4be..0e565e6 100644 --- a/FollowUpAppointment/force-app/main/default/tabs/Follow_Up_Appointments_Settings.tab-meta.xml +++ b/projects/FollowUpAppointment/force-app/main/default/tabs/Follow_Up_Appointments_Settings.tab-meta.xml @@ -1,4 +1,4 @@ - + followUpAppointmentSettingsContainer diff --git a/HelloWorld/jest.config.js b/projects/FollowUpAppointment/jest.config.js similarity index 100% rename from HelloWorld/jest.config.js rename to projects/FollowUpAppointment/jest.config.js diff --git a/projects/FollowUpAppointment/package.json b/projects/FollowUpAppointment/package.json new file mode 100644 index 0000000..87c1f00 --- /dev/null +++ b/projects/FollowUpAppointment/package.json @@ -0,0 +1,29 @@ +{ + "name": "follow-up-appointment", + "private": true, + "version": "1.0.0", + "description": "Follow Up Appointment", + "scripts": { + "lint": "eslint **/lwc/**", + "test": "npm run test:unit", + "test:unit": "sfdx-lwc-jest", + "test:unit:watch": "sfdx-lwc-jest --watch", + "test:unit:debug": "sfdx-lwc-jest --debug", + "test:unit:coverage": "sfdx-lwc-jest --coverage", + "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", + "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"" + }, + "devDependencies": { + "@lwc/eslint-plugin-lwc": "^1.7.0", + "@prettier/plugin-xml": "^3.2.2", + "@salesforce/eslint-config-lwc": "^3.5.2", + "@salesforce/eslint-plugin-aura": "^2.1.0", + "@salesforce/eslint-plugin-lightning": "^1.0.0", + "@salesforce/sfdx-lwc-jest": "^3.1.0", + "eslint": "^8.55.0", + "eslint-plugin-import": "^2.29.0", + "eslint-plugin-jest": "^27.6.0", + "prettier": "^3.1.1", + "prettier-plugin-apex": "^2.0.1" + } +} diff --git a/projects/FollowUpAppointment/sfdx-project.json b/projects/FollowUpAppointment/sfdx-project.json new file mode 100644 index 0000000..5ea20f8 --- /dev/null +++ b/projects/FollowUpAppointment/sfdx-project.json @@ -0,0 +1,35 @@ +{ + "packageDirectories": [ + { + "path": "force-app", + "package": "Follow-Up Appointment for Field Service Mobile", + "versionName": "Summer' 23", + "versionNumber": "1.2.0.NEXT", + "versionDescription": "To configure the settings, from the App Launcher, find and select Follow-Up Appointment Settings. Using this package, mobile workers can create and schedule follow-up appointments for customers directly from the mobile mobile app.", + "default": true, + "dependencies": [ + { + "package": "FSL" + } + ] + } + ], + "name": "Follow-Up Appointment for Field Service Mobile", + "namespace": "", + "sfdcLoginUrl": "https://login.salesforce.com", + "sourceApiVersion": "59.0", + "packageAliases": { + "Follow-Up Appointment for Field Service Mobile": "0HoB00000008PtFKAU", + "FSL": "04t3y000001drQt", + "Follow-Up Appointment for Field Service Mobile@0.1.0-1": "04tB0000000h4nGIAQ", + "Follow-Up Appointment for Field Service Mobile@0.1.0-6": "04tB0000000h6C7IAI", + "Follow-Up Appointment for Field Service Mobile@1.2.0-1": "04tB0000000h6CCIAY", + "Follow-Up Appointment for Field Service Mobile@1.2.0-2": "04tB0000000h6GZIAY", + "Follow-Up Appointment for Field Service Mobile@1.2.0-3": "04tB0000000h6H8IAI", + "Follow-Up Appointment for Field Service Mobile@1.2.0-4": "04tB0000000h6HSIAY", + "Follow-Up Appointment for Field Service Mobile@1.2.0-5": "04tB0000000h6HcIAI", + "Follow-Up Appointment for Field Service Mobile@1.2.0-6": "04tB0000000h6HhIAI", + "Follow-Up Appointment for Field Service Mobile@1.2.0-8": "04tB0000000h6nBIAQ", + "Follow-Up Appointment for Field Service Mobile@1.2.0-14": "04tB0000000h8fpIAA" + } +} diff --git a/NameAndSignatureCapture/.eslintignore b/projects/LocalPreview/HelloWorld/.eslintignore similarity index 100% rename from NameAndSignatureCapture/.eslintignore rename to projects/LocalPreview/HelloWorld/.eslintignore diff --git a/HelloWorld/.forceignore b/projects/LocalPreview/HelloWorld/.forceignore similarity index 100% rename from HelloWorld/.forceignore rename to projects/LocalPreview/HelloWorld/.forceignore diff --git a/HelloWorld/.gitignore b/projects/LocalPreview/HelloWorld/.gitignore similarity index 100% rename from HelloWorld/.gitignore rename to projects/LocalPreview/HelloWorld/.gitignore diff --git a/projects/LocalPreview/HelloWorld/.prettierignore b/projects/LocalPreview/HelloWorld/.prettierignore new file mode 100755 index 0000000..26253eb --- /dev/null +++ b/projects/LocalPreview/HelloWorld/.prettierignore @@ -0,0 +1,12 @@ +# List files or directories below to ignore them when running prettier +# More information: https://prettier.io/docs/en/ignore.html +# + +**/staticresources/** +.localdevserver +.sfdx +.vscode + +coverage/ + +**/*.js-meta.xml \ No newline at end of file diff --git a/projects/LocalPreview/HelloWorld/.prettierrc b/projects/LocalPreview/HelloWorld/.prettierrc new file mode 100755 index 0000000..03da7ba --- /dev/null +++ b/projects/LocalPreview/HelloWorld/.prettierrc @@ -0,0 +1,14 @@ +{ + "trailingComma": "none", + "plugins": ["@prettier/plugin-xml", "prettier-plugin-apex"], + "overrides": [ + { + "files": "**/lwc/**/*.html", + "options": { "parser": "lwc" } + }, + { + "files": "*.{cmp,page,component}", + "options": { "parser": "html" } + } + ] +} diff --git a/HelloWorld/README.md b/projects/LocalPreview/HelloWorld/README.md similarity index 100% rename from HelloWorld/README.md rename to projects/LocalPreview/HelloWorld/README.md diff --git a/HelloWorld/config/project-scratch-def.json b/projects/LocalPreview/HelloWorld/config/project-scratch-def.json similarity index 100% rename from HelloWorld/config/project-scratch-def.json rename to projects/LocalPreview/HelloWorld/config/project-scratch-def.json diff --git a/HelloWorld/configure_android_test_app.ts b/projects/LocalPreview/HelloWorld/configure_android_test_app.ts similarity index 100% rename from HelloWorld/configure_android_test_app.ts rename to projects/LocalPreview/HelloWorld/configure_android_test_app.ts diff --git a/HelloWorld/configure_ios_test_app.ts b/projects/LocalPreview/HelloWorld/configure_ios_test_app.ts similarity index 100% rename from HelloWorld/configure_ios_test_app.ts rename to projects/LocalPreview/HelloWorld/configure_ios_test_app.ts diff --git a/ServiceDocumentSamples/force-app/main/default/lwc/.eslintrc.json b/projects/LocalPreview/HelloWorld/force-app/main/default/lwc/.eslintrc.json similarity index 100% rename from ServiceDocumentSamples/force-app/main/default/lwc/.eslintrc.json rename to projects/LocalPreview/HelloWorld/force-app/main/default/lwc/.eslintrc.json diff --git a/projects/LocalPreview/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.html b/projects/LocalPreview/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.html new file mode 100644 index 0000000..ee6585d --- /dev/null +++ b/projects/LocalPreview/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.html @@ -0,0 +1,6 @@ + diff --git a/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.js b/projects/LocalPreview/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.js similarity index 100% rename from HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.js rename to projects/LocalPreview/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.js diff --git a/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.js-meta.xml b/projects/LocalPreview/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.js-meta.xml similarity index 84% rename from HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.js-meta.xml rename to projects/LocalPreview/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.js-meta.xml index b08f3f0..96d7d34 100644 --- a/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.js-meta.xml +++ b/projects/LocalPreview/HelloWorld/force-app/main/default/lwc/helloWorld/helloWorld.js-meta.xml @@ -1,4 +1,4 @@ - + 48.0 true @@ -8,4 +8,4 @@ lightning__RecordPage lightning__HomePage - \ No newline at end of file + diff --git a/NameAndSignatureCapture/jest.config.js b/projects/LocalPreview/HelloWorld/jest.config.js similarity index 100% rename from NameAndSignatureCapture/jest.config.js rename to projects/LocalPreview/HelloWorld/jest.config.js diff --git a/HelloWorld/mobile-apps.json b/projects/LocalPreview/HelloWorld/mobile-apps.json similarity index 100% rename from HelloWorld/mobile-apps.json rename to projects/LocalPreview/HelloWorld/mobile-apps.json diff --git a/projects/LocalPreview/HelloWorld/package.json b/projects/LocalPreview/HelloWorld/package.json new file mode 100644 index 0000000..ba77b24 --- /dev/null +++ b/projects/LocalPreview/HelloWorld/package.json @@ -0,0 +1,24 @@ +{ + "name": "hello-world", + "private": true, + "version": "1.0.0", + "description": "Hello World", + "scripts": { + "lint": "eslint **/lwc/**", + "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", + "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"" + }, + "devDependencies": { + "@lwc/eslint-plugin-lwc": "^1.7.0", + "@prettier/plugin-xml": "^3.2.2", + "@salesforce/eslint-config-lwc": "^3.5.2", + "@salesforce/eslint-plugin-aura": "^2.1.0", + "@salesforce/eslint-plugin-lightning": "^1.0.0", + "@salesforce/sfdx-lwc-jest": "^3.1.0", + "eslint": "^8.55.0", + "eslint-plugin-import": "^2.29.0", + "eslint-plugin-jest": "^27.6.0", + "prettier": "^3.1.1", + "prettier-plugin-apex": "^2.0.1" + } +} diff --git a/HelloWorld/scripts/apex/hello.apex b/projects/LocalPreview/HelloWorld/scripts/apex/hello.apex similarity index 100% rename from HelloWorld/scripts/apex/hello.apex rename to projects/LocalPreview/HelloWorld/scripts/apex/hello.apex diff --git a/HelloWorld/scripts/soql/account.soql b/projects/LocalPreview/HelloWorld/scripts/soql/account.soql similarity index 100% rename from HelloWorld/scripts/soql/account.soql rename to projects/LocalPreview/HelloWorld/scripts/soql/account.soql diff --git a/projects/LocalPreview/HelloWorld/sfdx-project.json b/projects/LocalPreview/HelloWorld/sfdx-project.json new file mode 100644 index 0000000..1145046 --- /dev/null +++ b/projects/LocalPreview/HelloWorld/sfdx-project.json @@ -0,0 +1,12 @@ +{ + "packageDirectories": [ + { + "path": "force-app", + "default": true + } + ], + "name": "HelloWorld", + "namespace": "", + "sfdcLoginUrl": "https://login.salesforce.com", + "sourceApiVersion": "59.0" +} diff --git a/projects/LocalPreview/README.md b/projects/LocalPreview/README.md new file mode 100644 index 0000000..955f289 --- /dev/null +++ b/projects/LocalPreview/README.md @@ -0,0 +1,87 @@ +# Samples for Previewing Lightning Web Components on Mobile +Here, you can find sample projects and native apps that let you preview Lightning web components several ways: +- In your desktop browser +- In the mobile browser of an iOS or Android virtual device +- In a native app running on an iOS or Android virtual device + +**IMPORTANT!** Before running this sample Lightning Web Component project, you must configure it to use a scratch org. If you're not familiar with this concept, we recommend completing the following trails. These trails demonstrate how to set up your development environment and configure a Lightning Web Component project with a Salesforce scratch org: + +- [Quick Start: Lightning Web Components](https://trailhead.salesforce.com/content/learn/projects/quick-start-lightning-web-components?trail_id=build-lightning-web-components) +- [Set Up Your Lightning Web Components Developer Tools](https://trailhead.salesforce.com/content/learn/projects/set-up-your-lightning-web-components-developer-tools?trail_id=build-lightning-web-components) + +## What's Included + +This folder includes Lightning Web Component projects and native mobile apps. The native apps are configured to recognize and display a component running on a local server. + +### Lightning Web Component Projects + +These samples define Lightning web components and demonstrate configurations for previewing them. +
+ + HelloWorld + +This sample Lightning Web Component project demonstrates how to preview locally. It contains a basic Lightning web component, along with mobile-apps.json - a configuration file that defines how to preview this component in native mobile apps. + +This file points to configure_android_test_app.ts and configure_ios_test_app.ts files. Together, these files demonstrate how you can + + - Configure your apps to show up in the VSCode preview dialog boxes. + - Define the optional get_app_bundle parameter. You can implement it to compile the app or perform any other setup steps. + +For more information on mobile-apps.json, see + +- “Configuring a Native Mobile App to Host Previews” in [Preview Your Components from the Command Line](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.mobile_extensions_cli_commands) +- [Preview in Custom Mobile Apps](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.mobile_extensions_integrate_custom_app) + +
+ +### Native Mobile Apps +These samples let you preview Lightning web components in standalone native apps. +
+ + apps/ios/LwcTestApp + + +A sample app that you can use to preview a Lightning web component in a native iOS app. +
+ +
+ + apps/android/LwcTestApp + + +A sample app that you can use to preview a Lightning web component in a native Android app. +
+ +## Previewing the Hello World Sample + +After you've set up your environment, connect the `HelloWorld` sample project to your scratch org and preview your component. You can use the following instructions as a model for previewing other Lightning web components. + +1. In VS Code, open the `HelloWorld` folder. + + +2. Configure the `HelloWorld` project to use a scratch org. If you already have a scratch org, skip to step 3. If you don't have a scratch org: + 1. In VS Code, press Cmd+Shift+p (macOS) or Ctrl+Shift+p (Windows). + 2. Type in `Scratch` and select `SFDX: Create a Default Scratch Org`. + 3. Follow the onscreen steps to create a scratch org. The recommended trails provide detailed information on these steps. + 4. Ensure that a success message appears in the VS Code Output window. + + +3. Authorize the `HelloWorld` project to use your scratch org. + 1. In VS Code, press Cmd+Shift+p (macOS) or Ctrl+Shift+p (Windows). + 2. Type in `Authorize` and select `SFDX: Authorize an Org`. + 3. Follow the onscreen steps to log into your Salesforce Org with your credentials. The recommended trails provide detailed information on these steps. + 4. Ensure that a success message appears in the VS Code Output window. + + +4. Now that your `HelloWorld` project is connected to your scratch org, preview it locally. + 1. In VS Code, navigate to `force-app > main > default > lwc`. + 2. Right-click `helloWorld` and select `SFDX: Preview Component Locally`. + 3. Select whether you'd like to preview it in your desktop browser or on an iOS or Android device. + 4. If you chose iOS/Android, either + - - Select an available virtual device from the presented list (if one appears), or + - - Choose to create a virtual device. + 5. Indicate whether you'd like to preview the component on your mobile browser or in the provided native LWC Test App. + +Your virtual device launches, and your component preview appears. + +For full documentation, see [Preview Lightning Web Components on Mobile](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.mobile_extensions). diff --git a/apps/android/LwcTestApp/.gitignore b/projects/LocalPreview/apps/android/LwcTestApp/.gitignore similarity index 100% rename from apps/android/LwcTestApp/.gitignore rename to projects/LocalPreview/apps/android/LwcTestApp/.gitignore diff --git a/apps/android/LwcTestApp/.idea/.gitignore b/projects/LocalPreview/apps/android/LwcTestApp/.idea/.gitignore similarity index 100% rename from apps/android/LwcTestApp/.idea/.gitignore rename to projects/LocalPreview/apps/android/LwcTestApp/.idea/.gitignore diff --git a/apps/android/LwcTestApp/.idea/.name b/projects/LocalPreview/apps/android/LwcTestApp/.idea/.name similarity index 100% rename from apps/android/LwcTestApp/.idea/.name rename to projects/LocalPreview/apps/android/LwcTestApp/.idea/.name diff --git a/apps/android/LwcTestApp/.idea/compiler.xml b/projects/LocalPreview/apps/android/LwcTestApp/.idea/compiler.xml similarity index 100% rename from apps/android/LwcTestApp/.idea/compiler.xml rename to projects/LocalPreview/apps/android/LwcTestApp/.idea/compiler.xml diff --git a/apps/android/LwcTestApp/.idea/gradle.xml b/projects/LocalPreview/apps/android/LwcTestApp/.idea/gradle.xml similarity index 100% rename from apps/android/LwcTestApp/.idea/gradle.xml rename to projects/LocalPreview/apps/android/LwcTestApp/.idea/gradle.xml diff --git a/apps/android/LwcTestApp/.idea/misc.xml b/projects/LocalPreview/apps/android/LwcTestApp/.idea/misc.xml similarity index 100% rename from apps/android/LwcTestApp/.idea/misc.xml rename to projects/LocalPreview/apps/android/LwcTestApp/.idea/misc.xml diff --git a/apps/android/LwcTestApp/.idea/vcs.xml b/projects/LocalPreview/apps/android/LwcTestApp/.idea/vcs.xml similarity index 100% rename from apps/android/LwcTestApp/.idea/vcs.xml rename to projects/LocalPreview/apps/android/LwcTestApp/.idea/vcs.xml diff --git a/apps/android/LwcTestApp/app/.gitignore b/projects/LocalPreview/apps/android/LwcTestApp/app/.gitignore similarity index 100% rename from apps/android/LwcTestApp/app/.gitignore rename to projects/LocalPreview/apps/android/LwcTestApp/app/.gitignore diff --git a/apps/android/LwcTestApp/app/build.gradle b/projects/LocalPreview/apps/android/LwcTestApp/app/build.gradle similarity index 100% rename from apps/android/LwcTestApp/app/build.gradle rename to projects/LocalPreview/apps/android/LwcTestApp/app/build.gradle diff --git a/apps/android/LwcTestApp/app/proguard-rules.pro b/projects/LocalPreview/apps/android/LwcTestApp/app/proguard-rules.pro similarity index 100% rename from apps/android/LwcTestApp/app/proguard-rules.pro rename to projects/LocalPreview/apps/android/LwcTestApp/app/proguard-rules.pro diff --git a/apps/android/LwcTestApp/app/src/main/AndroidManifest.xml b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/AndroidManifest.xml similarity index 100% rename from apps/android/LwcTestApp/app/src/main/AndroidManifest.xml rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/AndroidManifest.xml diff --git a/apps/android/LwcTestApp/app/src/main/ic_launcher-playstore.png b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/ic_launcher-playstore.png similarity index 100% rename from apps/android/LwcTestApp/app/src/main/ic_launcher-playstore.png rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/ic_launcher-playstore.png diff --git a/apps/android/LwcTestApp/app/src/main/java/com/salesforce/mobiletooling/lwctestapp/MainActivity.kt b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/java/com/salesforce/mobiletooling/lwctestapp/MainActivity.kt similarity index 100% rename from apps/android/LwcTestApp/app/src/main/java/com/salesforce/mobiletooling/lwctestapp/MainActivity.kt rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/java/com/salesforce/mobiletooling/lwctestapp/MainActivity.kt diff --git a/apps/android/LwcTestApp/app/src/main/res/drawable/ic_info.xml b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/drawable/ic_info.xml similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/drawable/ic_info.xml rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/drawable/ic_info.xml diff --git a/apps/android/LwcTestApp/app/src/main/res/drawable/ic_launcher_foreground.xml b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/drawable/ic_launcher_foreground.xml similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/drawable/ic_launcher_foreground.xml rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/drawable/ic_launcher_foreground.xml diff --git a/apps/android/LwcTestApp/app/src/main/res/layout/activity_main.xml b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/layout/activity_main.xml similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/layout/activity_main.xml rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/layout/activity_main.xml diff --git a/apps/android/LwcTestApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml diff --git a/apps/android/LwcTestApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml diff --git a/apps/android/LwcTestApp/app/src/main/res/mipmap-hdpi/ic_launcher.png b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/apps/android/LwcTestApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.png similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.png rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.png diff --git a/apps/android/LwcTestApp/app/src/main/res/mipmap-mdpi/ic_launcher.png b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/apps/android/LwcTestApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.png similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.png rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.png diff --git a/apps/android/LwcTestApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/apps/android/LwcTestApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png diff --git a/apps/android/LwcTestApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/apps/android/LwcTestApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png diff --git a/apps/android/LwcTestApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/apps/android/LwcTestApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/apps/android/LwcTestApp/app/src/main/res/values-night/themes.xml b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/values-night/themes.xml similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/values-night/themes.xml rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/values-night/themes.xml diff --git a/apps/android/LwcTestApp/app/src/main/res/values/colors.xml b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/values/colors.xml similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/values/colors.xml rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/values/colors.xml diff --git a/apps/android/LwcTestApp/app/src/main/res/values/ic_launcher_background.xml b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/values/ic_launcher_background.xml similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/values/ic_launcher_background.xml rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/values/ic_launcher_background.xml diff --git a/apps/android/LwcTestApp/app/src/main/res/values/strings.xml b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/values/strings.xml similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/values/strings.xml rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/values/strings.xml diff --git a/apps/android/LwcTestApp/app/src/main/res/values/themes.xml b/projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/values/themes.xml similarity index 100% rename from apps/android/LwcTestApp/app/src/main/res/values/themes.xml rename to projects/LocalPreview/apps/android/LwcTestApp/app/src/main/res/values/themes.xml diff --git a/apps/android/LwcTestApp/build.gradle b/projects/LocalPreview/apps/android/LwcTestApp/build.gradle similarity index 100% rename from apps/android/LwcTestApp/build.gradle rename to projects/LocalPreview/apps/android/LwcTestApp/build.gradle diff --git a/apps/android/LwcTestApp/gradle.properties b/projects/LocalPreview/apps/android/LwcTestApp/gradle.properties similarity index 100% rename from apps/android/LwcTestApp/gradle.properties rename to projects/LocalPreview/apps/android/LwcTestApp/gradle.properties diff --git a/apps/android/LwcTestApp/gradle/wrapper/gradle-wrapper.jar b/projects/LocalPreview/apps/android/LwcTestApp/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from apps/android/LwcTestApp/gradle/wrapper/gradle-wrapper.jar rename to projects/LocalPreview/apps/android/LwcTestApp/gradle/wrapper/gradle-wrapper.jar diff --git a/apps/android/LwcTestApp/gradle/wrapper/gradle-wrapper.properties b/projects/LocalPreview/apps/android/LwcTestApp/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from apps/android/LwcTestApp/gradle/wrapper/gradle-wrapper.properties rename to projects/LocalPreview/apps/android/LwcTestApp/gradle/wrapper/gradle-wrapper.properties diff --git a/apps/android/LwcTestApp/gradlew b/projects/LocalPreview/apps/android/LwcTestApp/gradlew similarity index 100% rename from apps/android/LwcTestApp/gradlew rename to projects/LocalPreview/apps/android/LwcTestApp/gradlew diff --git a/apps/android/LwcTestApp/gradlew.bat b/projects/LocalPreview/apps/android/LwcTestApp/gradlew.bat similarity index 100% rename from apps/android/LwcTestApp/gradlew.bat rename to projects/LocalPreview/apps/android/LwcTestApp/gradlew.bat diff --git a/apps/android/LwcTestApp/settings.gradle b/projects/LocalPreview/apps/android/LwcTestApp/settings.gradle similarity index 100% rename from apps/android/LwcTestApp/settings.gradle rename to projects/LocalPreview/apps/android/LwcTestApp/settings.gradle diff --git a/apps/ios/LwcTestApp/.gitignore b/projects/LocalPreview/apps/ios/LwcTestApp/.gitignore similarity index 100% rename from apps/ios/LwcTestApp/.gitignore rename to projects/LocalPreview/apps/ios/LwcTestApp/.gitignore diff --git a/apps/ios/LwcTestApp/LwcTestApp.xcodeproj/project.pbxproj b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp.xcodeproj/project.pbxproj similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp.xcodeproj/project.pbxproj rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp.xcodeproj/project.pbxproj diff --git a/apps/ios/LwcTestApp/LwcTestApp.xcodeproj/xcshareddata/xcschemes/LwcTestApp.xcscheme b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp.xcodeproj/xcshareddata/xcschemes/LwcTestApp.xcscheme similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp.xcodeproj/xcshareddata/xcschemes/LwcTestApp.xcscheme rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp.xcodeproj/xcshareddata/xcschemes/LwcTestApp.xcscheme diff --git a/apps/ios/LwcTestApp/LwcTestApp/AppDelegate.swift b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/AppDelegate.swift similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/AppDelegate.swift rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/AppDelegate.swift diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Contents.json rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-1024@1x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-1024@1x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-1024@1x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-1024@1x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-20@1x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-20@1x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-20@1x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-20@1x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-20@2x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-20@2x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-20@2x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-20@2x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-20@3x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-20@3x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-20@3x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-20@3x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-29@1x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-29@1x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-29@1x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-29@1x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-29@2x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-29@2x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-29@2x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-29@2x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-29@3x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-29@3x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-29@3x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-29@3x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-40@2x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-40@3x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-76@1x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-76@1x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-76@1x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-76@1x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png diff --git a/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/Contents.json b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/Contents.json similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/Contents.json rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Assets.xcassets/Contents.json diff --git a/apps/ios/LwcTestApp/LwcTestApp/Base.lproj/LaunchScreen.storyboard b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Base.lproj/LaunchScreen.storyboard rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Base.lproj/LaunchScreen.storyboard diff --git a/apps/ios/LwcTestApp/LwcTestApp/Base.lproj/Main.storyboard b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Base.lproj/Main.storyboard similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Base.lproj/Main.storyboard rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Base.lproj/Main.storyboard diff --git a/apps/ios/LwcTestApp/LwcTestApp/Info.plist b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Info.plist similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/Info.plist rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/Info.plist diff --git a/apps/ios/LwcTestApp/LwcTestApp/SceneDelegate.swift b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/SceneDelegate.swift similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/SceneDelegate.swift rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/SceneDelegate.swift diff --git a/apps/ios/LwcTestApp/LwcTestApp/ViewController.swift b/projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/ViewController.swift similarity index 100% rename from apps/ios/LwcTestApp/LwcTestApp/ViewController.swift rename to projects/LocalPreview/apps/ios/LwcTestApp/LwcTestApp/ViewController.swift diff --git a/RescheduleAppointments/.eslintignore b/projects/MobileDashboard/.eslintignore similarity index 100% rename from RescheduleAppointments/.eslintignore rename to projects/MobileDashboard/.eslintignore diff --git a/MobileDashboard/.forceignore b/projects/MobileDashboard/.forceignore similarity index 100% rename from MobileDashboard/.forceignore rename to projects/MobileDashboard/.forceignore diff --git a/MobileDashboard/.gitignore b/projects/MobileDashboard/.gitignore similarity index 100% rename from MobileDashboard/.gitignore rename to projects/MobileDashboard/.gitignore diff --git a/projects/MobileDashboard/.prettierignore b/projects/MobileDashboard/.prettierignore new file mode 100755 index 0000000..26253eb --- /dev/null +++ b/projects/MobileDashboard/.prettierignore @@ -0,0 +1,12 @@ +# List files or directories below to ignore them when running prettier +# More information: https://prettier.io/docs/en/ignore.html +# + +**/staticresources/** +.localdevserver +.sfdx +.vscode + +coverage/ + +**/*.js-meta.xml \ No newline at end of file diff --git a/projects/MobileDashboard/.prettierrc b/projects/MobileDashboard/.prettierrc new file mode 100755 index 0000000..03da7ba --- /dev/null +++ b/projects/MobileDashboard/.prettierrc @@ -0,0 +1,14 @@ +{ + "trailingComma": "none", + "plugins": ["@prettier/plugin-xml", "prettier-plugin-apex"], + "overrides": [ + { + "files": "**/lwc/**/*.html", + "options": { "parser": "lwc" } + }, + { + "files": "*.{cmp,page,component}", + "options": { "parser": "html" } + } + ] +} diff --git a/projects/MobileDashboard/README.md b/projects/MobileDashboard/README.md new file mode 100644 index 0000000..7aaf044 --- /dev/null +++ b/projects/MobileDashboard/README.md @@ -0,0 +1,40 @@ +# Set Up the Mobile Dashboard Lightning Web Component (LWC) + +Let your mobile workers easily see an overview of their data. For example, show a dashboard that lets workers know where they stand with the company’s KPIs. That way, they always know what they need to work on. + +**Note:** Mobile Dashboard LWC is an open-source component and is not supported by Salesforce Support. + +1. Enable access to LWCs. See [Define a Permission Set for Your Org](https://developer.salesforce.com/docs/atlas.en-us.mobile_offline.meta/mobile_offline/quickstart_lwc_action_org_setup.htm#quickstart_lwc_action_org_setup_create_permset). +2. Enable the permission set. + 1. From Setup, in the Quick Find box, enter `Users`, and then select **Users**. + 2. Select the required mobile user. + 3. Under Permission Set Assignments, click **Edit Assignments**. + 4. Enable **Field Service Mobile Dashboard Permissions**. + 5. Repeat these steps for all the relevant mobile users. +3. To install the package, click https://login.salesforce.com/packaging/installPackage.apexp?p0=04t1Q0000012EomQAE. If you choose to deploy the code instead of installing the package, make sure to complete these steps: + 1. Before deploying the code, enable using different languages. + - From Setup, in the Quick Find box, enter `Translation Workbench`, and then select **Translation Language Settings**. + - Click **Enable**. + - Deploy the code. + 2. Make the tab visible. + - From Setup, in the Quick Find box, enter `Users`, and then select **Profiles**. + - Edit the System Administrator profile. + - Under Tab Settings, set the Mobile Dashboard Settings tab to **Default On**. + 3. Make the fields visible. + - Form Setup, open the Object Manager. + - Search for and select **Mobile Dashboard Setting**. + - From Fields & Relationships, for each field, click **Set Field-Level Security** and select **Visible**. +4. From the Developer Console, run the script to get preconfigured cards for your dashboard: `DashboardPostInstall.onInstall();` +5. From the App Launcher, find and select **Mobile Dashboard Settings**. +6. Review the details of the cards and change them as needed. + - The preview cards show a dummy result of 1 record for each query. + - When the result of a query includes more than 2000 records, the dashboard shows 2000+ instead of the exact number. + - If the tabs get stuck when adding or editing a card, see [Enable Lightning Web Security in an Org](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.security_lwsec_enable). +7. Make sure the queried fields are visible. Otherwise, the query doesn’t return any results. + 1. From the object management settings for the object whose fields you want to make visible, go to **Fields & Relationships**. + 2. For the required fields, click **Set Field-Level Security** and make the field-level security visible for all profiles. +8. Connect the LWC to a global action. See [Add Global Actions to the Field Service Mobile App](https://help.salesforce.com/s/articleView?id=sf.mfs_global_actions.htm&type=5). + 1. For Action Type, select **Lightning Web Components**. + 2. For Lightning Web Component, select **c:mainDashboard**. +9. Add the global action to the required layout. +10. From the Field Service mobile app, open the LWC to verify the setup. diff --git a/MobileDashboard/force-app/main/default/Assets/SFS_MobileDashboardPerm.permissionset-meta.xml b/projects/MobileDashboard/force-app/main/default/Assets/SFS_MobileDashboardPerm.permissionset-meta.xml similarity index 96% rename from MobileDashboard/force-app/main/default/Assets/SFS_MobileDashboardPerm.permissionset-meta.xml rename to projects/MobileDashboard/force-app/main/default/Assets/SFS_MobileDashboardPerm.permissionset-meta.xml index 055551b..a847fb7 100644 --- a/MobileDashboard/force-app/main/default/Assets/SFS_MobileDashboardPerm.permissionset-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/Assets/SFS_MobileDashboardPerm.permissionset-meta.xml @@ -1,4 +1,4 @@ - + false @@ -36,4 +36,4 @@ Mobile_Dashboard_Setting__c true - \ No newline at end of file + diff --git a/MobileDashboard/force-app/main/default/classes/DashboardPostInstall.cls b/projects/MobileDashboard/force-app/main/default/classes/DashboardPostInstall.cls similarity index 97% rename from MobileDashboard/force-app/main/default/classes/DashboardPostInstall.cls rename to projects/MobileDashboard/force-app/main/default/classes/DashboardPostInstall.cls index 406efae..375ef28 100644 --- a/MobileDashboard/force-app/main/default/classes/DashboardPostInstall.cls +++ b/projects/MobileDashboard/force-app/main/default/classes/DashboardPostInstall.cls @@ -1,9 +1,10 @@ global class DashboardPostInstall { - global static void onInstall() { - // add OOTB cards - List existingSettings = [SELECT Id FROM Mobile_Dashboard_Setting__c]; + List existingSettings = [ + SELECT Id + FROM Mobile_Dashboard_Setting__c + ]; if (existingSettings.size() == 0) { List> allInfo = getInfoList(); @@ -27,7 +28,7 @@ global class DashboardPostInstall { private static List> getInfoList() { List> allInfo = new List>(); - + Map one = new Map{ 'Custom_Logic__c' => '', 'Layout__c' => 'STACK', @@ -78,4 +79,4 @@ global class DashboardPostInstall { return allInfo; } -} \ No newline at end of file +} diff --git a/MobileDashboard/force-app/main/default/classes/DashboardPostInstall.cls-meta.xml b/projects/MobileDashboard/force-app/main/default/classes/DashboardPostInstall.cls-meta.xml similarity index 77% rename from MobileDashboard/force-app/main/default/classes/DashboardPostInstall.cls-meta.xml rename to projects/MobileDashboard/force-app/main/default/classes/DashboardPostInstall.cls-meta.xml index 4b0bc9f..c47403d 100644 --- a/MobileDashboard/force-app/main/default/classes/DashboardPostInstall.cls-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/classes/DashboardPostInstall.cls-meta.xml @@ -1,4 +1,4 @@ - + 55.0 Active diff --git a/projects/MobileDashboard/force-app/main/default/classes/DashboardPostInstallTest.cls b/projects/MobileDashboard/force-app/main/default/classes/DashboardPostInstallTest.cls new file mode 100644 index 0000000..41c202b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/classes/DashboardPostInstallTest.cls @@ -0,0 +1,19 @@ +@isTest +public with sharing class DashboardPostInstallTest { + @isTest + static void testInstallScriptPredefinedCards() { + List allCardsBefore = [ + SELECT Id + FROM Mobile_Dashboard_Setting__c + ]; + Assert.areEqual(0, allCardsBefore.size()); + + DashboardPostInstall.onInstall(); + + List allCardsAfter = [ + SELECT Id + FROM Mobile_Dashboard_Setting__c + ]; + Assert.areEqual(4, allCardsAfter.size()); + } +} diff --git a/projects/MobileDashboard/force-app/main/default/classes/DashboardPostInstallTest.cls-meta.xml b/projects/MobileDashboard/force-app/main/default/classes/DashboardPostInstallTest.cls-meta.xml new file mode 100644 index 0000000..1248daa --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/classes/DashboardPostInstallTest.cls-meta.xml @@ -0,0 +1,5 @@ + + + 56.0 + Active + diff --git a/projects/MobileDashboard/force-app/main/default/classes/DashboardSettingsService.cls b/projects/MobileDashboard/force-app/main/default/classes/DashboardSettingsService.cls new file mode 100644 index 0000000..2643edf --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/classes/DashboardSettingsService.cls @@ -0,0 +1,216 @@ +public with sharing class DashboardSettingsService { + private static final String UNAUTH_MSG = 'Changing the dashboard settings is restricted to admins only.'; + + @AuraEnabled(cacheable=false) + public static List> getAllObjects() { + List> objectsList = new List>(); + Map tempMap; + + for (Schema.SObjectType objType : Schema.getGlobalDescribe().Values()) { + String name = objType.getDescribe().getName(); + String label = objType.getDescribe().getLabel(); + if ( + !name.containsignorecase('history') && + !name.containsignorecase('tag') && + !name.containsignorecase('share') && + !name.containsignorecase('feed') && + !name.containsignorecase('group') && + !name.containsignorecase('public') && + !objType.getDescribe().isCustomSetting() && + objType.getDescribe().isCreateable() && + objType.getDescribe().getRecordTypeInfos().size() > 0 + ) { + tempMap = new Map(); + tempMap.put('value', name); + tempMap.put('label', label); + objectsList.add(tempMap); + } + } + + return objectsList; + } + + @AuraEnabled(cacheable=false) + public static List> getAllFields(String obj) { + SObjectType objType = Schema.getGlobalDescribe().get(obj); + Map fields = objType.getDescribe() + .fields.getMap(); + Set fieldsKeys = fields.keySet(); + + List> fieldsInfo = new List>(); + Map temp = new Map(); + Schema.DescribeFieldResult field; + + for (String key : fieldsKeys) { + field = fields.get(key).getDescribe(); + if (field.getType().name() != 'ADDRESS' && field.isAccessible()) { + temp = new Map(); + temp.put('value', field.getLocalName()); + temp.put('label', field.getLabel()); + temp.put('type', field.getType().name()); + fieldsInfo.add(temp); + } + } + + return fieldsInfo; + } + + @AuraEnabled(cacheable=false) + public static List> getAllPicklistOptions( + String obj, + String field + ) { + try { + SObjectType objType = Schema.getGlobalDescribe().get(obj); + Map fields = objType.getDescribe() + .fields.getMap(); + Schema.DescribeFieldResult dfr = fields.get(field).getDescribe(); + + List> picklistOptions = new List>(); + Map temp = new Map(); + + List picklistVals = dfr.getPicklistValues(); + for (Schema.PicklistEntry picklistVal : picklistVals) { + temp = new Map(); + temp.put('value', picklistVal.getValue()); + temp.put('label', picklistVal.getLabel()); + picklistOptions.add(temp); + } + + return picklistOptions; + } catch (Exception e) { + throw new HandledException(e.getMessage()); + } + } + + @AuraEnabled + public static Map getAllObjLabels(List apiNames) { + try { + Map objectLabels = new Map(); + String objectLabel; + for (String apiName : apiNames) { + objectLabel = Schema.getGlobalDescribe() + .get(apiName) + .getDescribe() + .getLabel(); + objectLabels.put(apiName, objectLabel); + } + return objectLabels; + } catch (Exception e) { + throw new HandledException(e.getMessage()); + } + } + + @AuraEnabled(cacheable=false) + public static String insertNewCard(Map data) { + try { + if (!isAuthorized()) { + throw new HandledException(UNAUTH_MSG); + } + Mobile_Dashboard_Setting__c newSetting = new Mobile_Dashboard_Setting__c( + Custom_Logic__c = data.get('customLogic'), + Layout__c = data.get('layout'), + Main_Filter_Logic__c = data.get('mainFilterLogic'), + Main_Filter__c = data.get('mainFilter'), + Object_Name__c = data.get('objectName'), + Order__c = Integer.valueOf(data.get('index')), + Sub_Filters__c = data.get('subFilters'), + Title__c = data.get('title') + ); + + insert newSetting; + return newSetting.Id; + } catch (Exception e) { + throw new HandledException(e.getMessage()); + } + } + + @AuraEnabled(cacheable=false) + public static void updateCard(String Id, Map data) { + try { + if (!isAuthorized()) { + throw new HandledException(UNAUTH_MSG); + } + Mobile_Dashboard_Setting__c setting = [ + SELECT + Custom_Logic__c, + Layout__c, + Main_Filter_Logic__c, + Main_Filter__c, + Object_Name__c, + Order__c, + Sub_Filters__c, + Title__c + FROM Mobile_Dashboard_Setting__c + WHERE Id = :Id + ]; + + setting.Custom_Logic__c = data.get('customLogic'); + setting.Layout__c = data.get('layout'); + setting.Main_Filter_Logic__c = data.get('mainFilterLogic'); + setting.Main_Filter__c = data.get('mainFilter'); + setting.Object_Name__c = data.get('objectName'); + setting.Order__c = Integer.valueOf(data.get('index')); + setting.Sub_Filters__c = data.get('subFilters'); + setting.Title__c = data.get('title'); + + update setting; + } catch (Exception e) { + throw new HandledException(e.getMessage()); + } + } + + @AuraEnabled(cacheable=false) + public static void deleteCard(String Id) { + try { + if (!isAuthorized()) { + throw new HandledException(UNAUTH_MSG); + } + Mobile_Dashboard_Setting__c setting = [ + SELECT Id + FROM Mobile_Dashboard_Setting__c + WHERE Id = :Id + ]; + delete setting; + } catch (Exception e) { + throw new HandledException(e.getMessage()); + } + } + + @AuraEnabled(cacheable=false) + public static void updateCardsOrder(List cardsIds) { + try { + if (!isAuthorized()) { + throw new HandledException(UNAUTH_MSG); + } + List allSettings = [ + SELECT Id, Order__c + FROM Mobile_Dashboard_Setting__c + ]; + for (Mobile_Dashboard_Setting__c setting : allSettings) { + setting.Order__c = cardsIds.indexOf(setting.Id); + } + update allSettings; + } catch (Exception e) { + throw new HandledException(e.getMessage()); + } + } + + private static boolean isAuthorized() { + try { + List adminProfiles = [ + SELECT Id + FROM Profile + WHERE PermissionsContentAdministrator = TRUE + ]; + for (Profile p : adminProfiles) { + if (p.Id == System.UserInfo.getProfileId()) { + return true; + } + } + return false; + } catch (Exception e) { + throw new HandledException(e.getMessage()); + } + } +} diff --git a/MobileDashboard/force-app/main/default/classes/DashboardSettingsService.cls-meta.xml b/projects/MobileDashboard/force-app/main/default/classes/DashboardSettingsService.cls-meta.xml similarity index 77% rename from MobileDashboard/force-app/main/default/classes/DashboardSettingsService.cls-meta.xml rename to projects/MobileDashboard/force-app/main/default/classes/DashboardSettingsService.cls-meta.xml index 4b0bc9f..c47403d 100644 --- a/MobileDashboard/force-app/main/default/classes/DashboardSettingsService.cls-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/classes/DashboardSettingsService.cls-meta.xml @@ -1,4 +1,4 @@ - + 55.0 Active diff --git a/projects/MobileDashboard/force-app/main/default/classes/DashboardSettingsServiceTest.cls b/projects/MobileDashboard/force-app/main/default/classes/DashboardSettingsServiceTest.cls new file mode 100644 index 0000000..1380f65 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/classes/DashboardSettingsServiceTest.cls @@ -0,0 +1,251 @@ +@isTest +public with sharing class DashboardSettingsServiceTest { + public static Mobile_Dashboard_Setting__c mds; + + static { + mds = new Mobile_Dashboard_Setting__c( + Title__c = 'Test Title', + Main_Filter_Logic__c = 'AND', + Order__c = 0, + Object_Name__c = 'Account' + ); + insert mds; + } + + @isTest + static void testGetAllObjects() { + try { + List> result = DashboardSettingsService.getAllObjects(); + + // get 2 examples + Map accountObject; + Map contactObject; + for (Map obj : result) { + if (obj.containsKey('value') && obj.get('value') == 'Account') { + accountObject = obj; + } + if (obj.containsKey('value') && obj.get('value') == 'Contact') { + contactObject = obj; + } + } + Assert.isNotNull(accountObject); + Assert.areEqual('Account', accountObject.get('label')); + + Assert.isNotNull(contactObject); + Assert.areEqual('Contact', contactObject.get('label')); + } catch (Exception e) { + Assert.fail('An exception was thrown: ' + e.getMessage()); + } + } + + @isTest + static void testGetAllFields() { + try { + List> result = DashboardSettingsService.getAllFields( + 'Account' + ); + + // get 2 examples + Map nameField; + Map phoneField; + for (Map field : result) { + if (field.containsKey('value') && field.get('value') == 'Name') { + nameField = field; + } + if (field.containsKey('value') && field.get('value') == 'Phone') { + phoneField = field; + } + } + Assert.isNotNull(nameField); + Assert.areEqual('Account Name', nameField.get('label')); + + Assert.isNotNull(phoneField); + Assert.areEqual('Account Phone', phoneField.get('label')); + } catch (Exception e) { + Assert.fail('An exception was thrown: ' + e.getMessage()); + } + } + + @isTest + static void testGetAllPicklistOptions() { + try { + List> result = DashboardSettingsService.getAllPicklistOptions( + 'ServiceAppointment', + 'Status' + ); + + Assert.isNotNull(result); + + // get 2 examples + Map completed; + Map canceled; + for (Map option : result) { + if (option.containsKey('value') && option.get('value') == 'Completed') { + completed = option; + } + if (option.containsKey('value') && option.get('value') == 'Canceled') { + canceled = option; + } + } + + Assert.isNotNull(completed); + Assert.isNotNull(canceled); + } catch (Exception e) { + Assert.fail('An exception was thrown: ' + e.getMessage()); + } + } + + @isTest + static void testGetAllObjLabels() { + try { + List apiNames = new List{ 'ServiceAppointment', 'Case' }; + Map result = DashboardSettingsService.getAllObjLabels( + apiNames + ); + + Assert.areEqual('Service Appointment', result.get(apiNames.get(0))); + Assert.areEqual('Case', result.get(apiNames.get(1))); + } catch (Exception e) { + Assert.fail('An exception was thrown: ' + e.getMessage()); + } + } + + @isTest + static void testInsertNewCard() { + try { + List cardsBefore = [ + SELECT Id + FROM Mobile_Dashboard_Setting__c + ]; + Assert.isNotNull(cardsBefore); + Assert.areEqual(1, cardsBefore.size()); + + Map data = new Map(); + data.put('customLogic', ''); + data.put('layout', 'SIDE'); + data.put('mainFilterLogic', 'AND'); + data.put('mainFilter', ''); + data.put('objectName', 'Account'); + data.put('index', '1'); + data.put('subFilters', ''); + data.put('title', 'Test Title2'); + + DashboardSettingsService.insertNewCard(data); + + List cardsAfter = [ + SELECT Id + FROM Mobile_Dashboard_Setting__c + ]; + Assert.isNotNull(cardsAfter); + Assert.areEqual(2, cardsAfter.size()); + } catch (Exception e) { + Assert.fail('An exception was thrown: ' + e.getMessage()); + } + } + + @isTest + static void testUpdateCard() { + try { + Mobile_Dashboard_Setting__c cardBefore = [ + SELECT Id, Title__c + FROM Mobile_Dashboard_Setting__c + WHERE Id = :mds.Id + ]; + Assert.isNotNull(cardBefore); + Assert.areEqual('Test Title', cardBefore.Title__c); + + Map data = new Map(); + data.put('customLogic', ''); + data.put('layout', 'SIDE'); + data.put('mainFilterLogic', 'AND'); + data.put('mainFilter', ''); + data.put('objectName', 'Account'); + data.put('index', '0'); + data.put('subFilters', ''); + data.put('title', 'Updated Test Title'); + DashboardSettingsService.updateCard(mds.Id, data); + + Mobile_Dashboard_Setting__c cardAfter = [ + SELECT Id, Title__c + FROM Mobile_Dashboard_Setting__c + WHERE Id = :mds.Id + ]; + Assert.isNotNull(cardAfter); + Assert.areEqual('Updated Test Title', cardAfter.Title__c); + } catch (Exception e) { + Assert.fail('An exception was thrown: ' + e.getMessage()); + } + } + + @isTest + static void testDeleteCard() { + try { + List cardsBefore = [ + SELECT Id + FROM Mobile_Dashboard_Setting__c + ]; + Assert.isNotNull(cardsBefore); + Assert.areEqual(1, cardsBefore.size()); + + DashboardSettingsService.deleteCard(mds.Id); + + List cardsAfter = [ + SELECT Id + FROM Mobile_Dashboard_Setting__c + ]; + Assert.isNotNull(cardsAfter); + Assert.areEqual(0, cardsAfter.size()); + } catch (Exception e) { + Assert.fail('An exception was thrown: ' + e.getMessage()); + } + } + + @isTest + static void testUpdateCardsOrder() { + try { + Map data = new Map(); + data.put('customLogic', ''); + data.put('layout', 'SIDE'); + data.put('mainFilterLogic', 'AND'); + data.put('mainFilter', ''); + data.put('objectName', 'Account'); + data.put('index', '1'); + data.put('subFilters', ''); + data.put('title', 'Test Title2'); + Id newId = DashboardSettingsService.insertNewCard(data); + + List cardsBefore = [ + SELECT Id, Title__c, Order__c + FROM Mobile_Dashboard_Setting__c + ]; + for (Mobile_Dashboard_Setting__c card : cardsBefore) { + if (card.Title__c == 'Test Title') { + Assert.areEqual(0, card.Order__c); + } + if (card.Title__c == 'Test Title2') { + Assert.areEqual(1, card.Order__c); + } + } + + List cardsIds = new List(); + cardsIds.add(newId); + cardsIds.add(mds.Id); + DashboardSettingsService.updateCardsOrder(cardsIds); + + List cardsAfter = [ + SELECT Id, Title__c, Order__c + FROM Mobile_Dashboard_Setting__c + ]; + for (Mobile_Dashboard_Setting__c card : cardsAfter) { + if (card.Title__c == 'Test Title') { + Assert.areEqual(1, card.Order__c); + } + if (card.Title__c == 'Test Title2') { + Assert.areEqual(0, card.Order__c); + } + } + } catch (Exception e) { + Assert.fail('An exception was thrown: ' + e.getMessage()); + } + } +} diff --git a/MobileDashboard/force-app/main/default/classes/DashboardSettingsServiceTest.cls-meta.xml b/projects/MobileDashboard/force-app/main/default/classes/DashboardSettingsServiceTest.cls-meta.xml similarity index 77% rename from MobileDashboard/force-app/main/default/classes/DashboardSettingsServiceTest.cls-meta.xml rename to projects/MobileDashboard/force-app/main/default/classes/DashboardSettingsServiceTest.cls-meta.xml index 4b0bc9f..c47403d 100644 --- a/MobileDashboard/force-app/main/default/classes/DashboardSettingsServiceTest.cls-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/classes/DashboardSettingsServiceTest.cls-meta.xml @@ -1,4 +1,4 @@ - + 55.0 Active diff --git a/MobileDashboard/force-app/main/default/labels/CustomLabels.labels-meta.xml b/projects/MobileDashboard/force-app/main/default/labels/CustomLabels.labels-meta.xml similarity index 79% rename from MobileDashboard/force-app/main/default/labels/CustomLabels.labels-meta.xml rename to projects/MobileDashboard/force-app/main/default/labels/CustomLabels.labels-meta.xml index fb1beec..2ffa2ec 100644 --- a/MobileDashboard/force-app/main/default/labels/CustomLabels.labels-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/labels/CustomLabels.labels-meta.xml @@ -1,4 +1,4 @@ - + @@ -24,14 +24,16 @@ true MobileDashboard Main settings page description - Configure your dashboard cards. For better performance, limit the dashboard to five cards. + Configure your dashboard cards. For better performance, limit the dashboard to five cards. MobileDashboard_settings_add_card_button en_US true MobileDashboard - Main settings page add card button text + Main settings page add card button text Add Card @@ -49,7 +51,8 @@ en_US true MobileDashboard - Card accessibility text for arrow next to edit button + Card accessibility text for arrow next to edit button More options @@ -57,7 +60,8 @@ en_US true MobileDashboard - Card accessibility text for up arrow + Card accessibility text for up arrow Move up @@ -65,15 +69,18 @@ en_US true MobileDashboard - Card accessibility text for down arrow + Card accessibility text for down arrow Move down - MobileDashboard_settings_card_display_operator_today + MobileDashboard_settings_card_display_operator_today en_US true MobileDashboard - Card list of filters - the word "today" + Card list of filters - the word "today" today @@ -81,7 +88,8 @@ en_US true MobileDashboard - Card list of filters - the word "next" + Card list of filters - the word "next" next @@ -89,7 +97,8 @@ en_US true MobileDashboard - Card list of filters - the word "last" + Card list of filters - the word "last" last @@ -97,7 +106,8 @@ en_US true MobileDashboard - Card list of filters - the word "days" + Card list of filters - the word "days" days @@ -105,7 +115,8 @@ en_US true MobileDashboard - Card list of filters - the word "weeks" + Card list of filters - the word "weeks" weeks @@ -113,7 +124,8 @@ en_US true MobileDashboard - Card list of filters - the word "months" + Card list of filters - the word "months" months @@ -121,7 +133,8 @@ en_US true MobileDashboard - Card list of filters - the word "and" + Card list of filters - the word "and" and @@ -129,7 +142,8 @@ en_US true MobileDashboard - Card list of filters - the word "or" + Card list of filters - the word "or" or @@ -147,7 +161,8 @@ en_US true MobileDashboard - Card modal title - edit existing card + Card modal title - edit existing card Edit Dashboard Card @@ -165,31 +180,38 @@ en_US true MobileDashboard - Card modal - details tab - name field + Card modal - details tab - name field Name - MobileDashboard_card_modal_details_filter_logic_field + MobileDashboard_card_modal_details_filter_logic_field en_US true MobileDashboard - Card modal - details tab - filter logic field + Card modal - details tab - filter logic field Filter Logic - MobileDashboard_card_modal_details_filter_field_infobubble + MobileDashboard_card_modal_details_filter_field_infobubble en_US true MobileDashboard - Card modal - details tab - filter field infobubble - After selecting an object, define which records are included in the card. + Card modal - details tab - filter field infobubble + After selecting an object, define which records are included in the card. MobileDashboard_card_modal_details_filter_logic_and en_US true MobileDashboard - Card modal - details tab - condition logic AND + Card modal - details tab - condition logic AND All Conditions Are Met (AND) @@ -197,23 +219,28 @@ en_US true MobileDashboard - Card modal - details tab - condition logic OR + Card modal - details tab - condition logic OR Any Condition Is Met (OR) - MobileDashboard_card_modal_details_filter_logic_custom + MobileDashboard_card_modal_details_filter_logic_custom en_US true MobileDashboard - Card modal - details tab - condition logic CUSTOM + Card modal - details tab - condition logic CUSTOM Custom Condition Is Met - MobileDashboard_card_modal_details_and_between_logic + MobileDashboard_card_modal_details_and_between_logic en_US true MobileDashboard - Card modal - details tab - the word "AND" between the main filters + Card modal - details tab - the word "AND" between the main filters AND @@ -221,40 +248,50 @@ en_US true MobileDashboard - Card modal - details tab - the word "OR" between the main filters + Card modal - details tab - the word "OR" between the main filters OR - MobileDashboard_card_modal_details_remove_condition_button + MobileDashboard_card_modal_details_remove_condition_button en_US true MobileDashboard - Card modal - details tab - accessibility text for delete + Card modal - details tab - accessibility text for delete Delete logic - MobileDashboard_card_modal_details_add_condition_button + MobileDashboard_card_modal_details_add_condition_button en_US true MobileDashboard - Card modal - details tab - add logic button text + Card modal - details tab - add logic button text Add Logic - MobileDashboard_card_modal_details_custom_logic_field + MobileDashboard_card_modal_details_custom_logic_field en_US true MobileDashboard - Card modal - details tab - custom logic field (if selected custom logic) + Card modal - details tab - custom logic field (if selected custom logic) Custom Logic - MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_details_custom_logic_field_infobubble en_US true MobileDashboard - Card modal - details tab - custom logic field infobubble - Provide the condition logic. Use numbers to refer to each condition. Use AND or OR to identify the combination of conditions. Add parentheses to group parts of the string together. For example, 1 AND (2 OR 3) evaluates whether the first condition is true, and either the second or third condition is true. + Card modal - details tab - custom logic field infobubble + Provide the condition logic. Use numbers to refer to each condition. Use AND or OR to identify the combination of conditions. Add parentheses to group parts of the string together. For example, 1 AND (2 OR 3) evaluates whether the first condition is true, and either the second or third condition is true. @@ -271,55 +308,69 @@ en_US true MobileDashboard - Card modal - design tab - layout radio button title + Card modal - design tab - layout radio button title Card Layout - MobileDashboard_card_modal_design_tab_layout_side_title + MobileDashboard_card_modal_design_tab_layout_side_title en_US true MobileDashboard - Card modal - design tab - side by side radio button title + Card modal - design tab - side by side radio button title Side-by-side - MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_side_description en_US true MobileDashboard - Card modal - design tab - side by side radio button description + Card modal - design tab - side by side radio button description Saves vertical space. Recommended for short field names. - MobileDashboard_card_modal_design_tab_layout_stack_title + MobileDashboard_card_modal_design_tab_layout_stack_title en_US true MobileDashboard - Card modal - design tab - stacked radio button title + Card modal - design tab - stacked radio button title Stacked - MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_layout_stack_description en_US true MobileDashboard - Card modal - design tab - stacked radio button description - Uses more vertical space. Recommended for long field names. + Card modal - design tab - stacked radio button description + Uses more vertical space. Recommended for long field names. - MobileDashboard_card_modal_design_tab_card_data_title + MobileDashboard_card_modal_design_tab_card_data_title en_US true MobileDashboard - Card modal - design tab - card data title + Card modal - design tab - card data title Card Data - MobileDashboard_card_modal_design_tab_add_data_button + MobileDashboard_card_modal_design_tab_add_data_button en_US true MobileDashboard - Card modal - design tab - add data button text + Card modal - design tab - add data button text Add Data @@ -353,7 +404,8 @@ en_US true MobileDashboard - Sub filter (grey box) - color field infobubble + Sub filter (grey box) - color field infobubble For best visibility, choose high-contrast colors. @@ -361,7 +413,8 @@ en_US true MobileDashboard - Sub filter (grey box) - accessibility text for menu arrow + Sub filter (grey box) - accessibility text for menu arrow Options @@ -387,7 +440,8 @@ en_US true MobileDashboard - Basic filter - operator option - equals + Basic filter - operator option - equals equals @@ -395,7 +449,8 @@ en_US true MobileDashboard - Basic filter - operator option - not equal + Basic filter - operator option - not equal not equal to @@ -403,7 +458,8 @@ en_US true MobileDashboard - Basic filter - operator option - less than + Basic filter - operator option - less than less than @@ -411,7 +467,8 @@ en_US true MobileDashboard - Basic filter - operator option - greater than + Basic filter - operator option - greater than greater than @@ -419,15 +476,18 @@ en_US true MobileDashboard - Basic filter - operator option - less or equal + Basic filter - operator option - less or equal less or equals - MobileDashboard_basic_filter_operator_greater_or_equal + MobileDashboard_basic_filter_operator_greater_or_equal en_US true MobileDashboard - Basic filter - operator option - greater or equal + Basic filter - operator option - greater or equal greater or equals @@ -435,7 +495,8 @@ en_US true MobileDashboard - Basic filter - operator option - contains + Basic filter - operator option - contains contains @@ -451,7 +512,8 @@ en_US true MobileDashboard - Basic filter - date type operator today + Basic filter - date type operator today Today @@ -459,7 +521,8 @@ en_US true MobileDashboard - Basic filter - date type operator next + Basic filter - date type operator next Next... @@ -467,7 +530,8 @@ en_US true MobileDashboard - Basic filter - date type operator last + Basic filter - date type operator last Last... @@ -475,7 +539,8 @@ en_US true MobileDashboard - Basic filter - date type operator on + Basic filter - date type operator on On... @@ -483,7 +548,8 @@ en_US true MobileDashboard - NBasic filter - date type operator before + NBasic filter - date type operator before Before... @@ -491,7 +557,8 @@ en_US true MobileDashboard - Basic filter - date type operator after + Basic filter - date type operator after After... @@ -565,7 +632,8 @@ en_US true MobileDashboard - Icons list - name for icon In Progress + Icons list - name for icon In Progress In Progress @@ -573,7 +641,8 @@ en_US true MobileDashboard - Icons list - name for icon Cannot Complete + Icons list - name for icon Cannot Complete Cannot Complete @@ -613,7 +682,8 @@ en_US true MobileDashboard - Icons list - sub title - Record Types + Icons list - sub title - Record Types Record Types @@ -637,7 +707,8 @@ en_US true MobileDashboard - Icons list - name for icon Opportunity + Icons list - name for icon Opportunity Opportunity @@ -743,7 +814,8 @@ en_US true MobileDashboard - Warning message - delete card warning title + Warning message - delete card warning title Delete dashboard card? @@ -751,23 +823,28 @@ en_US true MobileDashboard - Warning message - delete card warning body + Warning message - delete card warning body This removes the card from the dashboard. - MobileDashboard_settings_delete_sub_filter_warning_title + MobileDashboard_settings_delete_sub_filter_warning_title en_US true MobileDashboard - Warning message - delete sub filter warning title + Warning message - delete sub filter warning title Delete card data? - MobileDashboard_settings_delete_sub_filter_warning_body + MobileDashboard_settings_delete_sub_filter_warning_body en_US true MobileDashboard - Warning message - delete sub filter warning body + Warning message - delete sub filter warning body This removes the card data from the dashboard card. @@ -793,7 +870,8 @@ en_US true MobileDashboard - Error popup - deleting a card failed + Error popup - deleting a card failed We couldn't delete the card. Try again later. @@ -801,7 +879,8 @@ en_US true MobileDashboard - Error popup - duplicate a card failed + Error popup - duplicate a card failed We couldn't duplicate the card. Try again later. @@ -836,7 +915,8 @@ true MobileDashboard Preview title infobubble - Preview display can differ slightly from actual mobile device display. + Preview display can differ slightly from actual mobile device display. MobileDashboard_settings_duplicate_button @@ -878,4 +958,4 @@ Select comboboxes placeholder Select... - \ No newline at end of file + diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/.eslintrc.json b/projects/MobileDashboard/force-app/main/default/lwc/.eslintrc.json similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/.eslintrc.json rename to projects/MobileDashboard/force-app/main/default/lwc/.eslintrc.json diff --git a/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/__tests__/alertMessage.test.js b/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/__tests__/alertMessage.test.js new file mode 100644 index 0000000..e2beb07 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/__tests__/alertMessage.test.js @@ -0,0 +1,58 @@ +import { createElement } from "lwc"; +import AlertMessage from "c/alertMessage"; + +let element; +describe("c-alert-message", () => { + beforeEach(() => { + element = createElement("c-alert-message", { + is: AlertMessage + }); + + element.modalTitle = "Title of the Modal"; + element.message = "Body of the Modal"; + element.discardButtonText = "Cancel"; + element.handleDiscardClick = jest.fn(); + element.close = jest.fn(); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("has all correct info", () => { + element.isDeleteMsg = false; + document.body.appendChild(element); + + const title = element.shadowRoot.querySelector(".modal-header h2"); + expect(title.textContent).toBe("Title of the Modal"); + + const body = element.shadowRoot.querySelector(".message"); + expect(body.textContent).toBe("Body of the Modal"); + }); + + it("calls close with no parameters when cancel clicked", async () => { + element.isDeleteMsg = false; + document.body.appendChild(element); + + const action = element.shadowRoot.querySelector("lightning-button"); + action.click(); + return Promise.resolve().then(() => { + expect(element.close).toHaveBeenCalled(); + }); + }); + + it("calls close with true when ok clicked", async () => { + element.isDeleteMsg = true; + document.body.appendChild(element); + + const action = element.shadowRoot.querySelector( + "lightning-button.slds-var-m-left_x-small" + ); + action.click(); + return Promise.resolve().then(() => { + expect(element.close).toHaveBeenCalledWith(true); + }); + }); +}); diff --git a/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.css b/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.css new file mode 100644 index 0000000..81f681b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.css @@ -0,0 +1,19 @@ +.modal-header { + display: flex; + justify-content: center; + align-items: center; + font-size: 20px; + font-weight: 400; + line-height: 30px; +} + +.message { + font-size: 13px; + font-weight: 400; + line-height: 20px; +} + +.error-icon { + margin-right: 8px; + --lwc-colorTextIconDefault: #ba0517; +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.html b/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.html new file mode 100644 index 0000000..4978d61 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.html @@ -0,0 +1,33 @@ + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.js b/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.js new file mode 100644 index 0000000..d02cca3 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.js @@ -0,0 +1,20 @@ +import { api } from "lwc"; +import LightningModal from "lightning/modal"; +import customLabels from "./labels"; + +export default class AlertMessage extends LightningModal { + @api modalTitle; + @api message; + @api discardButtonText; + @api isDeleteMsg; + + LABELS = customLabels; + + handleDiscardClick = () => { + this.close(); + }; + + handleDeleteClick = () => { + this.close(true); + }; +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.js-meta.xml b/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/alertMessage.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/labels.js b/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/labels.js new file mode 100644 index 0000000..17b438e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/alertMessage/labels.js @@ -0,0 +1,7 @@ +import MobileDashboard_settings_delete_button from "@salesforce/label/c.MobileDashboard_settings_delete_button"; + +const customLabels = { + MobileDashboard_settings_delete_button +}; + +export default customLabels; diff --git a/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/__tests__/basicFilter.test.js b/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/__tests__/basicFilter.test.js new file mode 100644 index 0000000..282bb82 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/__tests__/basicFilter.test.js @@ -0,0 +1,224 @@ +/* eslint-disable @lwc/lwc/prefer-custom-event */ +import { createElement } from "lwc"; +import BasicFilter from "c/basicFilter"; + +let element; + +let fieldsCombo; +let operatorCombo; +let valueField; +let quantityField; +let unitCombo; + +jest.mock( + "@salesforce/apex/DashboardSettingsService.getAllPicklistOptions", + () => { + return { + default: jest.fn(() => [{ value: "option1", label: "Option 1" }]) + }; + }, + { virtual: true } +); + +describe("c-basic-filter", () => { + beforeEach(() => { + element = createElement("c-basic-filter", { + is: BasicFilter + }); + + element.objectValue = "Account"; + element.index = 0; + element.fieldsOptions = [ + { label: "My Email", value: "myEmail", type: "EMAIL" }, + { label: "My Reference", value: "myReference", type: "REFERENCE" }, + { label: "My Date", value: "myDate", type: "DATE" }, + { label: "My Boolean", value: "myBoolean", type: "BOOLEAN" }, + { label: "My Picklist", value: "myPicklist", type: "PICKLIST" } + ]; + element.field = ""; + element.operator = ""; + element.value = ""; + element.quantity = ""; + element.unit = ""; + element.updateSubFilter = jest.fn(); + + document.body.appendChild(element); + + fieldsCombo = element.shadowRoot.querySelector(".field-combo"); + operatorCombo = element.shadowRoot.querySelector(".operator-combo"); + valueField = element.shadowRoot.querySelector(".value-input"); + quantityField = element.shadowRoot.querySelector(".quantity-input"); + unitCombo = element.shadowRoot.querySelector(".unit-combo"); + + jest.useFakeTimers(); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("sets operators list correctly when selecting a date field", async () => { + fieldsCombo.value = "myDate"; + fieldsCombo.dispatchEvent(new Event("change")); + jest.runAllTimers(); + return Promise.resolve().then(() => { + operatorCombo = element.shadowRoot.querySelector(".operator-combo"); + expect(operatorCombo.label).toBe( + "c.MobileDashboard_basic_filter_date_operator" + ); + }); + }); + + it("sets qunatity and unit as visible when selecting a special operator", async () => { + expect(quantityField).toBeNull(); + expect(unitCombo).toBeNull(); + + fieldsCombo.value = "myDate"; + fieldsCombo.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + operatorCombo = element.shadowRoot.querySelector(".operator-combo"); + operatorCombo.value = "next"; + operatorCombo.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + quantityField = element.shadowRoot.querySelector(".quantity-input"); + unitCombo = element.shadowRoot.querySelector(".unit-combo"); + expect(quantityField).not.toBeNull(); + expect(unitCombo).not.toBeNull(); + }); + }); + }); + + it("sets operator as hidden if field is boolean", async () => { + expect(operatorCombo).not.toBeNull(); + + fieldsCombo.value = "myBoolean"; + fieldsCombo.dispatchEvent(new Event("change")); + jest.runAllTimers(); + return Promise.resolve().then(async () => { + operatorCombo = element.shadowRoot.querySelector(".operator-combo"); + expect(operatorCombo).toBeNull(); + }); + }); + + it("sets operator as hidden if field is picklist", async () => { + expect(operatorCombo).not.toBeNull(); + + fieldsCombo.value = "myPicklist"; + fieldsCombo.dispatchEvent(new Event("change")); + jest.runAllTimers(); + return Promise.resolve().then(async () => { + operatorCombo = element.shadowRoot.querySelector(".operator-combo"); + expect(operatorCombo).toBeNull(); + }); + }); + + it("sets value as hidden when selecting the today operator", async () => { + expect(valueField).not.toBeNull(); + + fieldsCombo.value = "myDate"; + fieldsCombo.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + operatorCombo = element.shadowRoot.querySelector(".operator-combo"); + operatorCombo.value = "today"; + operatorCombo.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + valueField = element.shadowRoot.querySelector(".value-input"); + expect(valueField).toBeNull(); + }); + }); + }); + + it("sets value input type as the field type", async () => { + expect(valueField).not.toBeNull(); + + fieldsCombo.value = "myEmail"; + fieldsCombo.dispatchEvent(new Event("change")); + jest.runAllTimers(); + return Promise.resolve().then(() => { + valueField = element.shadowRoot.querySelector(".value-input"); + expect(valueField.type).toBe("EMAIL"); + }); + }); + + it("sets value input type as text when selecting a non-supported field type", async () => { + expect(valueField).not.toBeNull(); + + fieldsCombo.value = "myReference"; + fieldsCombo.dispatchEvent(new Event("change")); + return Promise.resolve().then(() => { + valueField = element.shadowRoot.querySelector(".value-input"); + expect(valueField.type).toBe("text"); + }); + }); + + it("calls updateSubFilter when updating value", async () => { + expect(operatorCombo).not.toBeNull(); + + valueField.value = "abc"; + valueField.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + expect(element.updateSubFilter).toHaveBeenCalledWith(0, { value: "abc" }); + }); + }); + + it("calls updateSubFilter when updating quantity", async () => { + fieldsCombo.value = "myDate"; + fieldsCombo.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + operatorCombo = element.shadowRoot.querySelector(".operator-combo"); + operatorCombo.value = "last"; + operatorCombo.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + quantityField = element.shadowRoot.querySelector(".quantity-input"); + quantityField.value = "7"; + quantityField.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + expect(element.updateSubFilter).toHaveBeenCalledWith(0, { + quantity: "7" + }); + }); + }); + }); + }); + + it("calls updateSubFilter when updating unit", async () => { + fieldsCombo.value = "myDate"; + fieldsCombo.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + operatorCombo = element.shadowRoot.querySelector(".operator-combo"); + operatorCombo.value = "last"; + operatorCombo.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + unitCombo = element.shadowRoot.querySelector(".unit-combo"); + unitCombo.value = "day"; + unitCombo.dispatchEvent(new Event("change")); + return Promise.resolve().then(async () => { + expect(element.updateSubFilter).toHaveBeenCalledWith(0, { + unit: "day", + unitDisplay: "c.MobileDashboard_settings_card_display_unit_days" + }); + }); + }); + }); + }); + + it("return true from checkValidation when fields are valid", async () => { + fieldsCombo.validity = { valid: true }; + operatorCombo.validity = { valid: true }; + valueField.validity = { valid: true }; + + const isValid = element.checkValidation(); + expect(isValid).toBeTruthy(); + }); + + it("return false from checkValidation when fields are not valid", async () => { + fieldsCombo.validity = { valid: true }; + operatorCombo.validity = { valid: false }; + valueField.validity = { valid: false }; + + const isValid = element.checkValidation(); + expect(isValid).toBeFalsy(); + }); +}); diff --git a/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.css b/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.css new file mode 100644 index 0000000..97ca47f --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.css @@ -0,0 +1,18 @@ +.props-list { + display: flex; + flex-direction: row; +} + +lightning-combobox, +.quantity-input { + margin-right: 8px; +} + +.field-combo, +.value-input { + flex: 2; +} + +.operator-combo { + flex: 1; +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.html b/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.html new file mode 100644 index 0000000..acbb148 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.html @@ -0,0 +1,103 @@ + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.js b/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.js new file mode 100644 index 0000000..9481a04 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.js @@ -0,0 +1,347 @@ +/* eslint-disable @lwc/lwc/no-api-reassignments */ +import { LightningElement, api } from "lwc"; +import getAllPicklistOptions from "@salesforce/apex/DashboardSettingsService.getAllPicklistOptions"; +import customLabels from "./labels"; + +export default class BasicFilter extends LightningElement { + @api objectValue; + @api index; + @api fieldsOptions; + @api field; + @api operator; + @api value; + @api quantity; + @api unit; + @api updateSubFilter; + LABELS = customLabels; + + picklistOptions; + + SUPPORTED_INPUT_TYPES = [ + "checkbox", + "checkbox-button", + "date", + "datetime", + "time", + "email", + "file", + "password", + "search", + "tel", + "url", + "number", + "text", + "toggle" + ]; + + connectedCallback() { + this.refreshPicklistOptions(this.field); + } + + @api checkValidation() { + let isValid = true; + + const combos = this.template.querySelectorAll("lightning-combobox"); + const inputs = this.template.querySelectorAll("lightning-input"); + const all = [...combos, ...inputs]; + + all.forEach((i) => { + if (!i.validity.valid) { + i.focus(); + i.blur(); + i.classList.add("slds-has-error"); + isValid = false; + } + }); + + return isValid; + } + + /* Field */ + + get filterFieldValue() { + return this.field; + } + + get filterFieldType() { + return this.fieldsOptions?.find((opt) => opt.value === this.field)?.type; + } + + get isFieldTypeDate() { + return ( + this.filterFieldType === "DATE" || this.filterFieldType === "DATETIME" + ); + } + + get isFieldTypePicklist() { + return this.filterFieldType === "PICKLIST"; + } + + get isFieldTypeBoolean() { + return this.filterFieldType === "BOOLEAN"; + } + + get isFieldTypeRegular() { + return ( + (!this.isFieldTypeBoolean && + !this.isFieldTypePicklist && + !this.isFieldTypeDate) || + (this.isFieldTypeDate && !this.isSpecialOperator) + ); + } + + onFilterFieldChange = (e) => { + this.value = this.quantity = this.unit = this.unitDisplay = ""; + const selectedField = e.target.value; + // eslint-disable-next-line @lwc/lwc/no-async-operation + setTimeout(() => { + this.field = selectedField; + this.operator = this.isFieldNoOperator + ? "eq" + : this.isFieldTypeDate + ? "today" + : "eq"; + this.refreshPicklistOptions(this.field); + this.updateSubFilter(this.index, { + field: this.field, + fieldDisplay: this.fieldsOptions?.find( + (opt) => opt.value === this.field + )?.label, + fieldType: this.fieldsOptions?.find((opt) => opt.value === this.field) + ?.type, + value: this.isFieldTypeBoolean ? true : "", + operator: this.operator, + operatorDisplay: this.getOperatorDisplay(), + quantity: "", + unit: "", + unitDisplay: "" + }); + }, 0); + }; + + /* Operator */ + + get filterOperatorValue() { + return this.operator; + } + + get showDefaultOperator() { + return ( + !this.isFieldTypeBoolean && + !this.isFieldTypePicklist && + !this.isFieldTypeDate + ); + } + + get isSpecialOperator() { + return ["today", "last", "next"].includes(this.operator); + } + + get isFieldNoOperator() { + return this.isFieldTypeBoolean || this.isFieldTypePicklist; + } + + get filterOperatorOptions() { + return [ + { + label: this.LABELS.MobileDashboard_basic_filter_operator_equals, + value: "eq", + display: "=" + }, + { + label: this.LABELS.MobileDashboard_basic_filter_operator_not_equal, + value: "ne", + display: "≠" + }, + { + label: this.LABELS.MobileDashboard_basic_filter_operator_less_than, + value: "lt", + display: "<" + }, + { + label: this.LABELS.MobileDashboard_basic_filter_operator_greater_than, + value: "gt", + display: ">" + }, + { + label: this.LABELS.MobileDashboard_basic_filter_operator_less_or_equal, + value: "lte", + display: "≤" + }, + { + label: + this.LABELS.MobileDashboard_basic_filter_operator_greater_or_equal, + value: "gte", + display: "≥" + }, + { + label: this.LABELS.MobileDashboard_basic_filter_operator_contains, + value: "like", + display: this.LABELS.MobileDashboard_basic_filter_operator_contains + } + ]; + } + + get dateFilterOperatorOptions() { + return [ + { + label: this.LABELS.MobileDashboard_basic_filter_date_type_today, + value: "today", + display: + this.LABELS.MobileDashboard_settings_card_display_operator_today + }, + { + label: this.LABELS.MobileDashboard_basic_filter_date_type_next, + value: "next", + display: this.LABELS.MobileDashboard_settings_card_display_operator_next + }, + { + label: this.LABELS.MobileDashboard_basic_filter_date_type_last, + value: "last", + display: this.LABELS.MobileDashboard_settings_card_display_operator_last + }, + { + label: this.LABELS.MobileDashboard_basic_filter_date_type_on, + value: "eq", + display: "=" + }, + { + label: this.LABELS.MobileDashboard_basic_filter_date_type_before, + value: "lt", + display: "<" + }, + { + label: this.LABELS.MobileDashboard_basic_filter_date_type_after, + value: "gt", + display: ">" + } + ]; + } + + getOperatorDisplay() { + return ( + this.isFieldTypeDate + ? this.dateFilterOperatorOptions + : this.filterOperatorOptions + )?.find((opt) => opt.value === this.operator)?.display; + } + + onFilterOperatorChange = (e) => { + this.operator = e.target.value; + this.value = this.quantity = this.unit = ""; + this.updateSubFilter(this.index, { + operator: this.operator, + operatorDisplay: this.getOperatorDisplay(), + value: "", + quantity: "", + unit: "", + unitDisplay: "" + }); + }; + + /* Value */ + + get filterValue() { + return this.value; + } + + get showValueField() { + return this.operator !== "today"; + } + + get valueFieldType() { + if ( + this.SUPPORTED_INPUT_TYPES.includes(this.filterFieldType?.toLowerCase()) + ) { + return this.filterFieldType; + } + return "text"; + } + + get fieldInputLabel() { + return this.filterFieldType === "DATETIME" + ? "" + : this.LABELS.MobileDashboard_basic_filter_value; + } + + get filterValueOptions() { + return this.picklistOptions; + } + + async refreshPicklistOptions(field) { + if (!field) return; + if (!this.filterFieldType) { + // eslint-disable-next-line @lwc/lwc/no-async-operation + setTimeout(() => { + this.refreshPicklistOptions(field); + }, 500); + } else if (this.isFieldTypePicklist) { + const allOptions = await getAllPicklistOptions({ + obj: this.objectValue, + field + }); + this.picklistOptions = allOptions.sort((f1, f2) => { + return f1.label < f2.label ? -1 : 1; + }); + } else { + this.picklistOptions = []; + } + } + + onFilterValueChange = (e) => { + this.value = this.isFieldTypeBoolean ? e.target.checked : e.target.value; + this.updateSubFilter(this.index, { value: this.value }); + }; + + /* Quantity */ + + get filterQuantityValue() { + return this.quantity; + } + + onFilterQuantityChange = (e) => { + this.quantity = e.target.value; + this.updateSubFilter(this.index, { + quantity: this.quantity + }); + }; + + /* Unit */ + + get filterUnitValue() { + return this.unit; + } + + get filterUnitValueOptions() { + return [ + { + label: this.LABELS.MobileDashboard_settings_card_display_unit_days, + value: "day", + display: this.LABELS.MobileDashboard_settings_card_display_unit_days + }, + { + label: this.LABELS.MobileDashboard_settings_card_display_unit_weeks, + value: "week", + display: this.LABELS.MobileDashboard_settings_card_display_unit_weeks + }, + { + label: this.LABELS.MobileDashboard_settings_card_display_unit_months, + value: "month", + display: this.LABELS.MobileDashboard_settings_card_display_unit_months + } + ]; + } + + getUnitDisplay() { + return this.filterUnitValueOptions?.find((opt) => opt.value === this.unit) + ?.display; + } + + onFilterUnitChange = (e) => { + this.unit = e.target.value; + this.updateSubFilter(this.index, { + unit: this.unit, + unitDisplay: this.getUnitDisplay() + }); + }; +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.js-meta.xml b/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/basicFilter.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/labels.js b/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/labels.js new file mode 100644 index 0000000..ead3dd0 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/basicFilter/labels.js @@ -0,0 +1,55 @@ +import MobileDashboard_basic_filter_field from "@salesforce/label/c.MobileDashboard_basic_filter_field"; +import MobileDashboard_settings_select_placeholder from "@salesforce/label/c.MobileDashboard_settings_select_placeholder"; +import MobileDashboard_basic_filter_operator from "@salesforce/label/c.MobileDashboard_basic_filter_operator"; +import MobileDashboard_basic_filter_operator_equals from "@salesforce/label/c.MobileDashboard_basic_filter_operator_equals"; +import MobileDashboard_basic_filter_operator_not_equal from "@salesforce/label/c.MobileDashboard_basic_filter_operator_not_equal"; +import MobileDashboard_basic_filter_operator_less_than from "@salesforce/label/c.MobileDashboard_basic_filter_operator_less_than"; +import MobileDashboard_basic_filter_operator_greater_than from "@salesforce/label/c.MobileDashboard_basic_filter_operator_greater_than"; +import MobileDashboard_basic_filter_operator_less_or_equal from "@salesforce/label/c.MobileDashboard_basic_filter_operator_less_or_equal"; +import MobileDashboard_basic_filter_operator_greater_or_equal from "@salesforce/label/c.MobileDashboard_basic_filter_operator_greater_or_equal"; +import MobileDashboard_basic_filter_operator_contains from "@salesforce/label/c.MobileDashboard_basic_filter_operator_contains"; +import MobileDashboard_basic_filter_date_operator from "@salesforce/label/c.MobileDashboard_basic_filter_date_operator"; +import MobileDashboard_basic_filter_date_type_today from "@salesforce/label/c.MobileDashboard_basic_filter_date_type_today"; +import MobileDashboard_basic_filter_date_type_last from "@salesforce/label/c.MobileDashboard_basic_filter_date_type_last"; +import MobileDashboard_basic_filter_date_type_next from "@salesforce/label/c.MobileDashboard_basic_filter_date_type_next"; +import MobileDashboard_basic_filter_date_type_on from "@salesforce/label/c.MobileDashboard_basic_filter_date_type_on"; +import MobileDashboard_basic_filter_date_type_before from "@salesforce/label/c.MobileDashboard_basic_filter_date_type_before"; +import MobileDashboard_basic_filter_date_type_after from "@salesforce/label/c.MobileDashboard_basic_filter_date_type_after"; +import MobileDashboard_settings_card_display_operator_today from "@salesforce/label/c.MobileDashboard_settings_card_display_operator_today"; +import MobileDashboard_settings_card_display_operator_next from "@salesforce/label/c.MobileDashboard_settings_card_display_operator_next"; +import MobileDashboard_settings_card_display_operator_last from "@salesforce/label/c.MobileDashboard_settings_card_display_operator_last"; +import MobileDashboard_settings_card_display_unit_days from "@salesforce/label/c.MobileDashboard_settings_card_display_unit_days"; +import MobileDashboard_settings_card_display_unit_weeks from "@salesforce/label/c.MobileDashboard_settings_card_display_unit_weeks"; +import MobileDashboard_settings_card_display_unit_months from "@salesforce/label/c.MobileDashboard_settings_card_display_unit_months"; +import MobileDashboard_basic_filter_value from "@salesforce/label/c.MobileDashboard_basic_filter_value"; +import MobileDashboard_basic_filter_unit from "@salesforce/label/c.MobileDashboard_basic_filter_unit"; + +const customLabels = { + MobileDashboard_basic_filter_field, + MobileDashboard_settings_select_placeholder, + MobileDashboard_basic_filter_operator, + MobileDashboard_basic_filter_operator_equals, + MobileDashboard_basic_filter_operator_not_equal, + MobileDashboard_basic_filter_operator_less_than, + MobileDashboard_basic_filter_operator_greater_than, + MobileDashboard_basic_filter_operator_less_or_equal, + MobileDashboard_basic_filter_operator_greater_or_equal, + MobileDashboard_basic_filter_operator_contains, + MobileDashboard_basic_filter_date_operator, + MobileDashboard_basic_filter_date_type_today, + MobileDashboard_basic_filter_date_type_next, + MobileDashboard_basic_filter_date_type_last, + MobileDashboard_basic_filter_date_type_on, + MobileDashboard_basic_filter_date_type_before, + MobileDashboard_basic_filter_date_type_after, + MobileDashboard_settings_card_display_operator_today, + MobileDashboard_settings_card_display_operator_next, + MobileDashboard_settings_card_display_operator_last, + MobileDashboard_settings_card_display_unit_days, + MobileDashboard_settings_card_display_unit_weeks, + MobileDashboard_settings_card_display_unit_months, + MobileDashboard_basic_filter_value, + MobileDashboard_basic_filter_unit +}; + +export default customLabels; diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/__tests__/dashboardAddButton.test.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/__tests__/dashboardAddButton.test.js new file mode 100644 index 0000000..bdf0be8 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/__tests__/dashboardAddButton.test.js @@ -0,0 +1,35 @@ +import { createElement } from "lwc"; +import DashboardAddButton from "c/dashboardAddButton"; + +let element; +describe("c-dashboard-add-button", () => { + beforeEach(() => { + element = createElement("c-add-button", { + is: DashboardAddButton + }); + + element.label = "Button label"; + element.handleAddClick = jest.fn(); + element.disabled = false; + document.body.appendChild(element); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("shows correct label", () => { + const label = element.shadowRoot.querySelector("lightning-button"); + expect(label.title).toBe("Button label"); + }); + + it("calls function when clicked", async () => { + const action = element.shadowRoot.querySelector("lightning-button"); + action.click(); + return Promise.resolve().then(() => { + expect(element.handleAddClick).toHaveBeenCalled(); + }); + }); +}); diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.html b/projects/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.html new file mode 100644 index 0000000..e11018d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.html @@ -0,0 +1,12 @@ + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.js new file mode 100644 index 0000000..6bb0dab --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.js @@ -0,0 +1,7 @@ +import { LightningElement, api } from "lwc"; + +export default class DashboardAddButton extends LightningElement { + @api label; + @api handleAddClick; + @api disabled; +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.js-meta.xml b/projects/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardAddButton/dashboardAddButton.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/__tests__/dashboardIconsPicker.test.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/__tests__/dashboardIconsPicker.test.js new file mode 100644 index 0000000..e4a147f --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/__tests__/dashboardIconsPicker.test.js @@ -0,0 +1,30 @@ +import { createElement } from "lwc"; +import DashboardIconsPicker from "c/dashboardIconsPicker"; + +let element; +describe("c-dashboard-icons-picker", () => { + beforeEach(() => { + element = createElement("c-dashboard-icons-picker", { + is: DashboardIconsPicker + }); + + element.setIcon = jest.fn(); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("calls setIcon when an icon selected", async () => { + element.selectedIcon = ""; + document.body.appendChild(element); + + const action = element.shadowRoot.querySelector("lightning-menu-item"); + action.click(); + return Promise.resolve().then(() => { + expect(element.setIcon).toHaveBeenCalledWith("utility:info"); + }); + }); +}); diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.css b/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.css similarity index 100% rename from MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.css rename to projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.css diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.html b/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.html new file mode 100644 index 0000000..3ec7f69 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.html @@ -0,0 +1,22 @@ + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.js new file mode 100644 index 0000000..0b2af4a --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.js @@ -0,0 +1,148 @@ +/* eslint-disable @lwc/lwc/no-api-reassignments */ +import { LightningElement, api } from "lwc"; +import customLabels from "./labels"; + +export default class DashboardIconsPicker extends LightningElement { + @api selectedIcon; + @api setIcon; + + LABELS = customLabels; + + iconGroups = [ + { + label: this.LABELS.MobileDashboard_icons_list_subtitle_status, + icons: [ + { + label: this.LABELS.MobileDashboard_icons_list_info, + name: "utility:info" + }, + { + label: this.LABELS.MobileDashboard_icons_list_success, + name: "utility:success" + }, + { + label: this.LABELS.MobileDashboard_icons_list_warning, + name: "utility:warning" + }, + { + label: this.LABELS.MobileDashboard_icons_list_error, + name: "utility:error" + }, + { + label: this.LABELS.MobileDashboard_icons_list_new, + name: "utility:routing_offline" + }, + { + label: this.LABELS.MobileDashboard_icons_list_in_progress, + name: "utility:away" + }, + { + label: this.LABELS.MobileDashboard_icons_list_cannot_complete, + name: "utility:ban" + } + ] + }, + { + label: this.LABELS.MobileDashboard_icons_list_subtitle_sentiment, + icons: [ + { + label: this.LABELS.MobileDashboard_icons_list_positive, + name: "utility:emoji" + }, + { + label: this.LABELS.MobileDashboard_icons_list_neutral, + name: "utility:sentiment_neutral" + }, + { + label: this.LABELS.MobileDashboard_icons_list_negative, + name: "utility:sentiment_negative" + } + ] + }, + { + label: this.LABELS.MobileDashboard_icons_list_subtitle_record_types, + icons: [ + { + label: this.LABELS.MobileDashboard_icons_list_case, + name: "utility:case" + }, + { + label: this.LABELS.MobileDashboard_icons_list_lead, + name: "utility:lead" + }, + { + label: this.LABELS.MobileDashboard_icons_list_opportunity, + name: "utility:opportunity" + }, + { + label: this.LABELS.MobileDashboard_icons_list_quote, + name: "utility:quote" + } + ] + }, + { + label: this.LABELS.MobileDashboard_icons_list_subtitle_other, + icons: [ + { + label: this.LABELS.MobileDashboard_icons_list_approval, + name: "utility:approval" + }, + { + label: this.LABELS.MobileDashboard_icons_list_clock, + name: "utility:clock" + }, + { + label: this.LABELS.MobileDashboard_icons_list_event, + name: "utility:event" + }, + { + label: this.LABELS.MobileDashboard_icons_list_favorite, + name: "utility:favorite" + }, + { + label: this.LABELS.MobileDashboard_icons_list_like, + name: "utility:like" + }, + { + label: this.LABELS.MobileDashboard_icons_list_dislike, + name: "utility:dislike" + }, + { + label: this.LABELS.MobileDashboard_icons_list_location, + name: "utility:checkin" + }, + { + label: this.LABELS.MobileDashboard_icons_list_priority, + name: "utility:priority" + }, + { + label: this.LABELS.MobileDashboard_icons_list_user, + name: "utility:user" + }, + { + label: this.LABELS.MobileDashboard_icons_list_people, + name: "utility:people" + } + ] + } + ]; + + handleIconClick = (e) => { + this.selectedIcon = e.target.value; + this.setIcon(this.selectedIcon); + }; + + get selectedIconLabel() { + const icon = this.iconGroups + .flatMap((group) => group.icons) + .find((icn) => icn.name === this.selectedIcon); + return icon ? icon.label : null; + } + + get menuLabel() { + return ( + this.selectedIconLabel ?? + this.LABELS.MobileDashboard_settings_select_placeholder + ); + } +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.js-meta.xml b/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/dashboardIconsPicker.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/labels.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/labels.js new file mode 100644 index 0000000..4877ecf --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardIconsPicker/labels.js @@ -0,0 +1,65 @@ +import MobileDashboard_sub_filter_icon_field from "@salesforce/label/c.MobileDashboard_sub_filter_icon_field"; +import MobileDashboard_settings_select_placeholder from "@salesforce/label/c.MobileDashboard_settings_select_placeholder"; +import MobileDashboard_icons_list_subtitle_status from "@salesforce/label/c.MobileDashboard_icons_list_subtitle_status"; +import MobileDashboard_icons_list_info from "@salesforce/label/c.MobileDashboard_icons_list_info"; +import MobileDashboard_icons_list_success from "@salesforce/label/c.MobileDashboard_icons_list_success"; +import MobileDashboard_icons_list_warning from "@salesforce/label/c.MobileDashboard_icons_list_warning"; +import MobileDashboard_icons_list_error from "@salesforce/label/c.MobileDashboard_icons_list_error"; +import MobileDashboard_icons_list_new from "@salesforce/label/c.MobileDashboard_icons_list_new"; +import MobileDashboard_icons_list_in_progress from "@salesforce/label/c.MobileDashboard_icons_list_in_progress"; +import MobileDashboard_icons_list_cannot_complete from "@salesforce/label/c.MobileDashboard_icons_list_cannot_complete"; +import MobileDashboard_icons_list_subtitle_sentiment from "@salesforce/label/c.MobileDashboard_icons_list_subtitle_sentiment"; +import MobileDashboard_icons_list_positive from "@salesforce/label/c.MobileDashboard_icons_list_positive"; +import MobileDashboard_icons_list_neutral from "@salesforce/label/c.MobileDashboard_icons_list_neutral"; +import MobileDashboard_icons_list_negative from "@salesforce/label/c.MobileDashboard_icons_list_negative"; +import MobileDashboard_icons_list_subtitle_record_types from "@salesforce/label/c.MobileDashboard_icons_list_subtitle_record_types"; +import MobileDashboard_icons_list_case from "@salesforce/label/c.MobileDashboard_icons_list_case"; +import MobileDashboard_icons_list_lead from "@salesforce/label/c.MobileDashboard_icons_list_lead"; +import MobileDashboard_icons_list_opportunity from "@salesforce/label/c.MobileDashboard_icons_list_opportunity"; +import MobileDashboard_icons_list_quote from "@salesforce/label/c.MobileDashboard_icons_list_quote"; +import MobileDashboard_icons_list_subtitle_other from "@salesforce/label/c.MobileDashboard_icons_list_subtitle_other"; +import MobileDashboard_icons_list_approval from "@salesforce/label/c.MobileDashboard_icons_list_approval"; +import MobileDashboard_icons_list_clock from "@salesforce/label/c.MobileDashboard_icons_list_clock"; +import MobileDashboard_icons_list_event from "@salesforce/label/c.MobileDashboard_icons_list_event"; +import MobileDashboard_icons_list_favorite from "@salesforce/label/c.MobileDashboard_icons_list_favorite"; +import MobileDashboard_icons_list_like from "@salesforce/label/c.MobileDashboard_icons_list_like"; +import MobileDashboard_icons_list_dislike from "@salesforce/label/c.MobileDashboard_icons_list_dislike"; +import MobileDashboard_icons_list_location from "@salesforce/label/c.MobileDashboard_icons_list_location"; +import MobileDashboard_icons_list_priority from "@salesforce/label/c.MobileDashboard_icons_list_priority"; +import MobileDashboard_icons_list_user from "@salesforce/label/c.MobileDashboard_icons_list_user"; +import MobileDashboard_icons_list_people from "@salesforce/label/c.MobileDashboard_icons_list_people"; + +const customLabels = { + MobileDashboard_sub_filter_icon_field, + MobileDashboard_settings_select_placeholder, + MobileDashboard_icons_list_subtitle_status, + MobileDashboard_icons_list_info, + MobileDashboard_icons_list_success, + MobileDashboard_icons_list_warning, + MobileDashboard_icons_list_error, + MobileDashboard_icons_list_new, + MobileDashboard_icons_list_in_progress, + MobileDashboard_icons_list_cannot_complete, + MobileDashboard_icons_list_subtitle_sentiment, + MobileDashboard_icons_list_positive, + MobileDashboard_icons_list_neutral, + MobileDashboard_icons_list_negative, + MobileDashboard_icons_list_subtitle_record_types, + MobileDashboard_icons_list_case, + MobileDashboard_icons_list_lead, + MobileDashboard_icons_list_opportunity, + MobileDashboard_icons_list_quote, + MobileDashboard_icons_list_subtitle_other, + MobileDashboard_icons_list_approval, + MobileDashboard_icons_list_clock, + MobileDashboard_icons_list_event, + MobileDashboard_icons_list_favorite, + MobileDashboard_icons_list_like, + MobileDashboard_icons_list_dislike, + MobileDashboard_icons_list_location, + MobileDashboard_icons_list_priority, + MobileDashboard_icons_list_user, + MobileDashboard_icons_list_people +}; + +export default customLabels; diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/__tests__/dashboardSettingsCard.test.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/__tests__/dashboardSettingsCard.test.js new file mode 100644 index 0000000..70cc886 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/__tests__/dashboardSettingsCard.test.js @@ -0,0 +1,150 @@ +import { createElement } from "lwc"; +import DashboardSettingsCard from "c/dashboardSettingsCard"; + +jest.mock( + "./labels", + () => { + return { + MobileDashboard_card_filter_titleTime: "test" + }; + }, + { virtual: true } +); + +let element; +describe("c-dashboard-settings-card", () => { + beforeEach(() => { + element = createElement("c-dashboard-settings-card", { + is: DashboardSettingsCard + }); + + element.index = 0; + element.card = { + index: 1, + title: "card title", + object: { label: "Account" }, + filter: { + conditionLogic: "AND", + subFilters: [ + { + key: "rwn1ft", + fieldDisplay: "Time Sheet End Date", + value: "", + unitDisplay: "days", + quantity: "14", + operatorDisplay: "last" + }, + { + key: "131fda", + fieldDisplay: "Time Sheet Start Date", + value: "", + unitDisplay: "weeks", + quantity: "1", + operatorDisplay: "last" + } + ] + }, + subFilters: [ + { + key: "rwn1fa", + fieldDisplay: "Time Sheet End Date", + value: "", + unitDisplay: "days", + quantity: "14", + operatorDisplay: "last" + }, + { + key: "131fdb", + fieldDisplay: "Time Sheet Start Date", + value: "", + unitDisplay: "weeks", + quantity: "1", + operatorDisplay: "last" + } + ], + layout: "SIDE" + }; + element.handleEditCardClick = jest.fn(); + element.moveCardUp = jest.fn(); + element.moveCardDown = jest.fn(); + element.duplicateCard = jest.fn(); + element.deleteCard = jest.fn(); + + document.body.appendChild(element); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("should have correct title", () => { + const title = element.shadowRoot.querySelector(".title"); + expect(title.textContent).toBe(`1card title`); + }); + + it("should have correct criteria text", () => { + const filterSection = + element.shadowRoot.querySelectorAll(".details-section")[1]; + const text = filterSection.textContent + .replace("c.MobileDashboard_card_filter_title", "Filter") + .replace("c.MobileDashboard_settings_card_display_logic_and", "AND"); + expect(text).toBe( + `FilterTime Sheet End Date last 14 daysAND\u00A0\u00A0\u00A0Time Sheet Start Date last 1 weeks` + ); + }); + + it("should call moveCardUp when edit clicked", async () => { + const actionGroup = element.shadowRoot.querySelectorAll( + "lightning-button-group" + )[0]; + const action = actionGroup.querySelectorAll("lightning-button-icon")[0]; + action.click(); + return Promise.resolve().then(() => { + expect(element.moveCardUp).toHaveBeenCalled(); + }); + }); + + it("should call moveCardDown when edit clicked", async () => { + const actionGroup = element.shadowRoot.querySelectorAll( + "lightning-button-group" + )[0]; + const action = actionGroup.querySelectorAll("lightning-button-icon")[1]; + action.click(); + return Promise.resolve().then(() => { + expect(element.moveCardDown).toHaveBeenCalled(); + }); + }); + + it("should call handleEditCardClick when edit clicked", async () => { + const actionGroup = element.shadowRoot.querySelectorAll( + "lightning-button-group" + )[1]; + const action = actionGroup.querySelector("lightning-button"); + action.click(); + return Promise.resolve().then(() => { + expect(element.handleEditCardClick).toHaveBeenCalled(); + }); + }); + + it("should call duplicateCard when duplicate clicked", async () => { + const action = element.shadowRoot.querySelectorAll( + "lightning-menu-item" + )[0]; + action.click(); + return Promise.resolve().then(() => { + expect(element.duplicateCard).toHaveBeenCalled(); + }); + }); + + it("should call deleteCard when delete clicked", async () => { + const action = element.shadowRoot.querySelectorAll( + "lightning-menu-item" + )[1]; + action.click(); + return Promise.resolve().then(() => { + expect(element.deleteCard).toHaveBeenCalled(); + }); + }); +}); diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.css b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.css new file mode 100644 index 0000000..d1409bd --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.css @@ -0,0 +1,89 @@ +lightning-card { + width: 100%; +} + +.card-details { + width: 100%; + border: 1px solid #c9c9c9; + border-radius: 0.25rem; + margin-bottom: 16px; +} + +.details-header { + width: 100%; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + padding: 12px; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +.title { + display: flex; + flex-direction: row; + align-items: center; + font-size: 16px; +} + +.number { + width: 32px; + height: 32px; + border-radius: 16px; + background-color: #d8e6fe; + display: flex; + align-items: center; + justify-content: center; + margin-right: 16px; +} + +.number p { + font-weight: 700; + font-size: 18px; + line-height: 27px; +} + +lightning-button-menu { + background: white; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.details-body { + display: flex; + flex-direction: row; + justify-content: space-between; + padding: 16px; +} + +.details { + display: flex; + flex-direction: column; +} + +.details-section { + margin-bottom: 16px; +} + +h3 { + font-size: 12px; + font-weight: 700; + line-height: 23px; + margin-bottom: 8px; +} + +.details-section p { + font-size: 13px; + line-height: 20px; +} + +.preview { + width: 370px; +} + +lightning-helptext { + margin-left: 8px; +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.html b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.html new file mode 100644 index 0000000..0f4d721 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.html @@ -0,0 +1,84 @@ + diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.js similarity index 77% rename from MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.js rename to projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.js index 88d9a55..aa1f770 100644 --- a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.js +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.js @@ -1,5 +1,5 @@ -import { LightningElement, api } from 'lwc'; -import customLabels from './labels'; +import { LightningElement, api } from "lwc"; +import customLabels from "./labels"; export default class DashboardSettingsCard extends LightningElement { @api index; @@ -36,19 +36,19 @@ export default class DashboardSettingsCard extends LightningElement { let mainFilters = JSON.parse(JSON.stringify(this.card.filter.subFilters)); return mainFilters.map((f, i) => { const start = this.getLogicDisplayText(i); - const body = `${f.fieldDisplay} ${this.addEquals(f.operator)} ${f.operatorDisplay} ${ - f.value ?? '' - } ${f.quantity ?? ''} ${f.unitDisplay ?? ''}`; + const body = `${f.fieldDisplay} ${this.addEquals(f.operator)} ${ + f.operatorDisplay + } ${f.value ?? ""} ${f.quantity ?? ""} ${f.unitDisplay ?? ""}`; return { key: f.key, displayText: `${start}${body}` }; }); } get isCustomLogic() { - return this.card.filter.conditionLogic === 'CUSTOM'; + return this.card.filter.conditionLogic === "CUSTOM"; } get conditionLogicText() { - return this.card.filter.conditionLogic === 'AND' + return this.card.filter.conditionLogic === "AND" ? this.LABELS.MobileDashboard_settings_card_display_logic_and : this.LABELS.MobileDashboard_settings_card_display_logic_or; } @@ -67,12 +67,12 @@ export default class DashboardSettingsCard extends LightningElement { getLogicDisplayText(ind) { if (this.isCustomLogic) return `${ind + 1}\u00A0\u00A0\u00A0`; - if (ind === 0) return ''; - else return `${this.conditionLogicText}\u00A0\u00A0\u00A0`; + if (ind === 0) return ""; + return `${this.conditionLogicText}\u00A0\u00A0\u00A0`; } addEquals(operator) { - return operator && ['today', 'next', 'last'].includes(operator) ? '=' : ''; + return operator && ["today", "next", "last"].includes(operator) ? "=" : ""; } get previewSettings() { @@ -82,14 +82,14 @@ export default class DashboardSettingsCard extends LightningElement { subQueriesData.push({ index, count: 1, - ...subFilter, + ...subFilter }); } return { Layout__c: this.card.layout, Title__c: this.card.title, - subQueriesData, + subQueriesData }; } } diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.js-meta.xml b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/dashboardSettingsCard.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/labels.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/labels.js new file mode 100644 index 0000000..0e258cf --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsCard/labels.js @@ -0,0 +1,29 @@ +import MobileDashboard_settings_card_edit_button from "@salesforce/label/c.MobileDashboard_settings_card_edit_button"; +import MobileDashboard_settings_duplicate_button from "@salesforce/label/c.MobileDashboard_settings_duplicate_button"; +import MobileDashboard_settings_delete_button from "@salesforce/label/c.MobileDashboard_settings_delete_button"; +import MobileDashboard_settings_card_arrow_move_up from "@salesforce/label/c.MobileDashboard_settings_card_arrow_move_up"; +import MobileDashboard_settings_card_arrow_move_dn from "@salesforce/label/c.MobileDashboard_settings_card_arrow_move_dn"; +import MobileDashboard_settings_card_arrow_more_options from "@salesforce/label/c.MobileDashboard_settings_card_arrow_more_options"; +import MobileDashboard_card_object_field from "@salesforce/label/c.MobileDashboard_card_object_field"; +import MobileDashboard_card_filter_title from "@salesforce/label/c.MobileDashboard_card_filter_title"; +import MobileDashboard_preview_title from "@salesforce/label/c.MobileDashboard_preview_title"; +import MobileDashboard_preview_title_infobubble from "@salesforce/label/c.MobileDashboard_preview_title_infobubble"; +import MobileDashboard_settings_card_display_logic_and from "@salesforce/label/c.MobileDashboard_settings_card_display_logic_and"; +import MobileDashboard_settings_card_display_logic_or from "@salesforce/label/c.MobileDashboard_settings_card_display_logic_or"; + +const customLabels = { + MobileDashboard_settings_card_edit_button, + MobileDashboard_settings_duplicate_button, + MobileDashboard_settings_delete_button, + MobileDashboard_settings_card_arrow_move_up, + MobileDashboard_settings_card_arrow_move_dn, + MobileDashboard_settings_card_arrow_more_options, + MobileDashboard_card_object_field, + MobileDashboard_card_filter_title, + MobileDashboard_preview_title, + MobileDashboard_preview_title_infobubble, + MobileDashboard_settings_card_display_logic_and, + MobileDashboard_settings_card_display_logic_or +}; + +export default customLabels; diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/__tests__/dashboardSettingsMain.test.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/__tests__/dashboardSettingsMain.test.js new file mode 100644 index 0000000..9bcaa9b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/__tests__/dashboardSettingsMain.test.js @@ -0,0 +1,186 @@ +import { createElement } from "lwc"; +import DashboardSettingsMain from "c/dashboardSettingsMain"; +import { graphql } from "lightning/uiGraphQLApi"; + +jest.mock( + "@salesforce/apex/DashboardSettingsService.getAllObjLabels", + () => { + return { + default: jest.fn(() => ({ + Asset: "Asset", + ServiceAppointment: "Service Appointment" + })) + }; + }, + { virtual: true } +); + +jest.mock( + "@salesforce/apex/DashboardSettingsService.insertNewCard", + () => { + return { + default: jest.fn(() => 1) + }; + }, + { virtual: true } +); + +jest.mock( + "@salesforce/apex/DashboardSettingsService.updateCardsOrder", + () => { + return { + default: jest.fn() + }; + }, + { virtual: true } +); + +let element; +describe("c-dashboard-settings-main", () => { + beforeEach(() => { + element = createElement("c-dashboard-settings-main", { + is: DashboardSettingsMain + }); + + document.body.appendChild(element); + + graphql.emit({ + uiapi: { + query: { + Mobile_Dashboard_Setting__c: { + edges: [ + { + node: { + Id: "a0oRO0000005xCYYAY", + Object_Name__c: { + value: "ServiceAppointment" + }, + Title__c: { + value: "My Upcoming Service Appointments" + }, + Main_Filter__c: { + value: + '[{"key":"hog03n","field":"SchedStartTime","fieldDisplay":"Scheduled Start","fieldType":"DATETIME","operator":"last","value":"","unit":"month","unitDisplay":"months","quantity":"16","label":"","icon":"","color":"#747474","operatorDisplay":"last"}]' + }, + Main_Filter_Logic__c: { + value: "AND" + }, + Custom_Logic__c: { + value: null + }, + Layout__c: { + value: "STACK" + }, + Sub_Filters__c: { + value: + '[{"key":"hhrget","field":"Status","fieldDisplay":"Status","fieldType":"PICKLIST","operator":"eq","operatorDisplay":"=","value":"Scheduled","unit":"","unitDisplay":"","quantity":"","label":"Scheduled","icon":"utility:clock","color":"#747474"},{"key":"le98t2","field":"Status","fieldDisplay":"Status","fieldType":"PICKLIST","operator":"eq","operatorDisplay":"=","value":"Canceled","unit":"","unitDisplay":"","quantity":"","label":"Canceled","icon":"utility:warning","color":"#8C4B02"},{"key":"6ze7fr","field":"Status","fieldDisplay":"Status","fieldType":"PICKLIST","operator":"eq","operatorDisplay":"=","value":"Completed","unit":"","unitDisplay":"","quantity":"","label":"Completed","icon":"utility:success","color":"#2E844A"}]' + }, + Order__c: { + value: 0 + } + } + }, + { + node: { + Id: "a0oRO0000005xHjYAI", + Object_Name__c: { + value: "Asset" + }, + Title__c: { + value: "My Asset" + }, + Main_Filter__c: { + value: "[]" + }, + Main_Filter_Logic__c: { + value: "OR" + }, + Custom_Logic__c: { + value: null + }, + Layout__c: { + value: "SIDE" + }, + Sub_Filters__c: { + value: + '[{"key":"pzlqyw","field":"Name","fieldDisplay":"Asset Name","fieldType":"STRING","operator":"eq","value":"ABC","unit":"","unitDisplay":"","quantity":"","label":"ABC","icon":"","color":"#747474","operatorDisplay":"="},{"key":"bmu42o","field":"Name","fieldDisplay":"Asset Name","fieldType":"STRING","operator":"eq","value":"DEF","unit":"","unitDisplay":"","quantity":"","label":"DEF","icon":"","color":"#747474","operatorDisplay":"="},{"key":"se7sdp","field":"Name","fieldDisplay":"Asset Name","fieldType":"STRING","operator":"like","value":"Asset","unit":"","unitDisplay":"","quantity":"","label":"None","icon":"","color":"#747474","operatorDisplay":"contains"}]' + }, + Order__c: { + value: 1 + } + } + } + ] + } + } + } + }); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("should have 2 cards", () => { + const cards = element.shadowRoot.querySelectorAll( + "c-dashboard-settings-card" + ); + expect(cards).toHaveLength(2); + }); + + it("should switch cards on moveCardUp called for second card", async () => { + const card0 = element.shadowRoot.querySelectorAll( + "c-dashboard-settings-card" + )[0]; + const card1 = element.shadowRoot.querySelectorAll( + "c-dashboard-settings-card" + )[1]; + + element.moveCardUp(1); + return Promise.resolve().then(() => { + expect(card0.index).toBe(1); + expect(card1.index).toBe(0); + }); + }); + + it("should switch cards on moveCardDown called for first card", async () => { + const card0 = element.shadowRoot.querySelectorAll( + "c-dashboard-settings-card" + )[0]; + const card1 = element.shadowRoot.querySelectorAll( + "c-dashboard-settings-card" + )[1]; + + element.moveCardDown(0); + return Promise.resolve().then(() => { + expect(card0.index).toBe(1); + expect(card1.index).toBe(0); + }); + }); + + it("should have 3 cards after duplicating", async () => { + element.duplicateCard(0); + return Promise.resolve().then(async () => { + return Promise.resolve().then(() => { + const cards = element.shadowRoot.querySelectorAll( + "c-dashboard-settings-card" + ); + expect(cards).toHaveLength(3); + }); + }); + }); + + it("should not duplicate if index is invalid", async () => { + element.duplicateCard(-1); + return Promise.resolve().then(async () => { + return Promise.resolve().then(() => { + const cards = element.shadowRoot.querySelectorAll( + "c-dashboard-settings-card" + ); + expect(cards).toHaveLength(2); + }); + }); + }); +}); diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.css b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.css new file mode 100644 index 0000000..8ff0e8a --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.css @@ -0,0 +1,38 @@ +.dashboard-settings-page-main-container { + max-width: 1300px; +} + +c-dashboard-toast-message { + position: fixed; + left: 35%; + z-index: 5; +} + +.header-icon { + margin-right: 12px; +} + +lightning-card { + width: 100%; +} + +.main-card { + padding: 24px; +} + +.settings-description { + margin-bottom: 16px; +} + +.settings-description p { + font-size: 13px; + line-height: 20px; + color: #444444; +} + +.settings-description h1 { + font-size: 16px; + line-height: 24px; + margin-bottom: 8px; + color: #181818; +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.html b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.html new file mode 100644 index 0000000..d4bc663 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.html @@ -0,0 +1,77 @@ + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.js new file mode 100644 index 0000000..dd0fac3 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.js @@ -0,0 +1,288 @@ +import { LightningElement, wire, api } from "lwc"; +import getAllObjects from "@salesforce/apex/DashboardSettingsService.getAllObjects"; +import insertNewCard from "@salesforce/apex/DashboardSettingsService.insertNewCard"; +import updateCard from "@salesforce/apex/DashboardSettingsService.updateCard"; +import deleteCard from "@salesforce/apex/DashboardSettingsService.deleteCard"; +import updateCardsOrder from "@salesforce/apex/DashboardSettingsService.updateCardsOrder"; +import getAllObjLabels from "@salesforce/apex/DashboardSettingsService.getAllObjLabels"; +import { gql, graphql } from "lightning/uiGraphQLApi"; +import EditCardModal from "c/editCardModal"; +import AlertMessage from "c/alertMessage"; +import overrideCSS from "./overrideCSS"; +import customLabels from "./labels"; + +export default class DashboardSettingsMain extends LightningElement { + LABELS = customLabels; + dashboardCards = []; + + EMPTY_CARD = { + key: "", + title: "", + object: { value: "", label: "" }, + filter: { + conditionLogic: "", + subFilters: [], + customLogic: "" + }, + layout: "SIDE", + subFilters: [ + { + key: "", + field: "", + operator: "", + value: "", + color: "#747474", + label: "", + icon: "" + } + ] + }; + + objectsOptions = []; + toastService; + GET_DASHBOARD_SETTINGS_QRY = ""; + + async connectedCallback() { + const myStyle = document.createElement("style"); + // eslint-disable-next-line @lwc/lwc/no-inner-html + myStyle.innerHTML = overrideCSS; + document.head.appendChild(myStyle); + + this.GET_DASHBOARD_SETTINGS_QRY = gql` + ${this.getDashboardQuery()} + `; + + const allObjects = await getAllObjects(); + this.objectsOptions = + allObjects?.sort((f1, f2) => (f1.label < f2.label ? -1 : 1)) ?? []; + } + + renderedCallback() { + this.toastService = this.template.querySelector( + "c-dashboard-toast-message" + ); + } + + getDashboardQuery() { + return `query GetAllDashboardSettings { + uiapi { + query { + Mobile_Dashboard_Setting__c { + edges { + node { + Id, + Object_Name__c { + value + } + Title__c { + value + } + Main_Filter__c { + value + } + Main_Filter_Logic__c { + value + } + Custom_Logic__c { + value + } + Layout__c { + value + } + Sub_Filters__c { + value + } + Order__c { + value + } + } + } + } + } + } + }`; + } + + @wire(graphql, { + query: "$GET_DASHBOARD_SETTINGS_QRY" + }) + GetAllDashboardSettings({ data, errors }) { + if (data) { + const dbDashboardSettings = + data?.uiapi?.query.Mobile_Dashboard_Setting__c?.edges; + this.buildDashboardCards(dbDashboardSettings); + } + if (errors) { + console.log(JSON.stringify(errors)); + } + } + + get loading() { + return !this.objectsOptions?.length; + } + + handleEditCardClick = (index) => { + this.openEditCardModal(true, index); + }; + + handleAddCardClick = () => { + this.openEditCardModal(false); + }; + + @api moveCardUp = (ind) => { + this.moveCardFromTo(ind, ind - 1); + }; + + @api moveCardDown = (ind) => { + this.moveCardFromTo(ind, ind + 1); + }; + + moveCardFromTo = async (from, to) => { + const card = this.dashboardCards[from]; + this.dashboardCards.splice(from, 1); + this.dashboardCards.splice(to, 0, card); + this.dashboardCards = [...this.dashboardCards]; + await updateCardsOrder({ cardsIds: this.dashboardCards.map((c) => c.Id) }); + }; + + @api duplicateCard = async (ind) => { + try { + const card = this.dashboardCards[ind]; + const newCard = { ...card, key: this.generateUniqueID() }; + const Id = await insertNewCard({ + data: this.buildDataForServer(newCard) + }); + this.dashboardCards.splice(ind + 1, 0, { ...newCard, Id }); + this.dashboardCards = [...this.dashboardCards]; + await updateCardsOrder({ + cardsIds: this.dashboardCards.map((c) => c.Id) + }); + } catch (error) { + console.log(JSON.stringify(error)); + this.toastService.showToast( + "error", + this.LABELS.MobileDashboard_settings_error_duplicate_card + ); + } + }; + + deleteCard = async (ind) => { + const toDelete = await AlertMessage.open({ + size: "small", + modalTitle: + this.LABELS.MobileDashboard_settings_delete_card_warning_title, + message: this.LABELS.MobileDashboard_settings_delete_card_warning_body, + discardButtonText: this.LABELS.MobileDashboard_settings_cancel_button, + isDeleteMsg: true + }); + + if (toDelete) { + try { + await deleteCard({ Id: this.dashboardCards[ind].Id }); + this.dashboardCards.splice(ind, 1); + this.dashboardCards = [...this.dashboardCards]; + await updateCardsOrder({ + cardsIds: this.dashboardCards.map((c) => c.Id) + }); + } catch (error) { + console.log(JSON.stringify(error)); + this.toastService.showToast( + "error", + this.LABELS.MobileDashboard_settings_error_delete_card + ); + } + } + }; + + openEditCardModal = async (isEdit, cardIndex) => { + const result = await EditCardModal.open({ + size: "medium", + modalTitle: isEdit + ? this.LABELS.MobileDashboard_settings_edit_card_modal_title + : this.LABELS.MobileDashboard_settings_new_card_modal_title, + objectsOptions: this.objectsOptions, + card: this.dashboardCards[cardIndex] ?? { + ...this.EMPTY_CARD, + key: this.generateUniqueID() + }, + generateUniqueID: this.generateUniqueID + }); + + if (result) { + try { + const data = this.buildDataForServer(result, cardIndex); + if (isEdit) { + await updateCard({ Id: result.Id, data }); + this.dashboardCards[cardIndex] = result; + this.dashboardCards = [...this.dashboardCards]; + } else { + const Id = await insertNewCard({ data }); + this.dashboardCards = [...this.dashboardCards, { Id, ...result }]; + } + } catch (error) { + console.log(JSON.stringify(error)); + this.toastService.showToast( + "error", + isEdit + ? this.LABELS.MobileDashboard_settings_error_save_card + : this.LABELS.MobileDashboard_settings_error_add_card + ); + } + } + }; + + async buildDashboardCards(dbDashboardSettings) { + const objLabels = await this.getAllObjLabels(dbDashboardSettings); + dbDashboardSettings?.forEach((settings) => { + settings = settings.node; + const mainFilter = JSON.parse(settings.Main_Filter__c.value); + const subFilters = JSON.parse(settings.Sub_Filters__c.value); + this.dashboardCards[settings.Order__c.value] = { + Id: settings.Id, + key: this.generateUniqueID(), + title: settings.Title__c.value, + object: { + value: settings.Object_Name__c.value, + label: objLabels[settings.Object_Name__c.value] + }, + filter: { + conditionLogic: settings.Main_Filter_Logic__c.value, + subFilters: mainFilter.map((sf) => ({ + key: this.generateUniqueID(), + ...sf + })), + customLogic: settings.Custom_Logic__c.value + }, + layout: settings.Layout__c.value, + subFilters: subFilters.map((sf) => ({ + key: this.generateUniqueID(), + ...sf + })) + }; + }); + this.dashboardCards = [...this.dashboardCards]; + } + + async getAllObjLabels(dbDashboardSettings) { + const allApiNames = dbDashboardSettings?.map( + (s) => s.node.Object_Name__c.value + ); + const labels = await getAllObjLabels({ apiNames: allApiNames }); + return labels; + } + + buildDataForServer = (data, cardIndex) => ({ + customLogic: data.filter.customLogic, + layout: data.layout, + mainFilterLogic: data.filter.conditionLogic, + mainFilter: JSON.stringify(data.filter.subFilters), + objectName: data.object.value, + index: cardIndex ?? this.dashboardCards.length, + subFilters: JSON.stringify(data.subFilters), + title: data.title + }); + + generateUniqueID() { + return Math.random().toString(36).substring(2, 8); + } +} diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.js-meta.xml b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.js-meta.xml similarity index 91% rename from MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.js-meta.xml rename to projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.js-meta.xml index ef870c9..c50b5fa 100644 --- a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.js-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/dashboardSettingsMain.js-meta.xml @@ -1,4 +1,4 @@ - + 55.0 true @@ -17,4 +17,4 @@ ScreenAction - \ No newline at end of file + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/labels.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/labels.js new file mode 100644 index 0000000..474f67d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/labels.js @@ -0,0 +1,31 @@ +import MobileDashboard_settings_header from "@salesforce/label/c.MobileDashboard_settings_header"; +import MobileDashboard_settings_title from "@salesforce/label/c.MobileDashboard_settings_title"; +import MobileDashboard_settings_description from "@salesforce/label/c.MobileDashboard_settings_description"; +import MobileDashboard_settings_add_card_button from "@salesforce/label/c.MobileDashboard_settings_add_card_button"; +import MobileDashboard_settings_cancel_button from "@salesforce/label/c.MobileDashboard_settings_cancel_button"; +import MobileDashboard_settings_delete_card_warning_title from "@salesforce/label/c.MobileDashboard_settings_delete_card_warning_title"; +import MobileDashboard_settings_new_card_modal_title from "@salesforce/label/c.MobileDashboard_settings_new_card_modal_title"; +import MobileDashboard_settings_delete_card_warning_body from "@salesforce/label/c.MobileDashboard_settings_delete_card_warning_body"; +import MobileDashboard_settings_edit_card_modal_title from "@salesforce/label/c.MobileDashboard_settings_edit_card_modal_title"; +import MobileDashboard_settings_error_add_card from "@salesforce/label/c.MobileDashboard_settings_error_add_card"; +import MobileDashboard_settings_error_save_card from "@salesforce/label/c.MobileDashboard_settings_error_save_card"; +import MobileDashboard_settings_error_delete_card from "@salesforce/label/c.MobileDashboard_settings_error_delete_card"; +import MobileDashboard_settings_error_duplicate_card from "@salesforce/label/c.MobileDashboard_settings_error_duplicate_card"; + +const customLabels = { + MobileDashboard_settings_header, + MobileDashboard_settings_title, + MobileDashboard_settings_description, + MobileDashboard_settings_add_card_button, + MobileDashboard_settings_cancel_button, + MobileDashboard_settings_delete_card_warning_title, + MobileDashboard_settings_new_card_modal_title, + MobileDashboard_settings_delete_card_warning_body, + MobileDashboard_settings_edit_card_modal_title, + MobileDashboard_settings_error_add_card, + MobileDashboard_settings_error_save_card, + MobileDashboard_settings_error_delete_card, + MobileDashboard_settings_error_duplicate_card +}; + +export default customLabels; diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/overrideCSS.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/overrideCSS.js similarity index 100% rename from MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/overrideCSS.js rename to projects/MobileDashboard/force-app/main/default/lwc/dashboardSettingsMain/overrideCSS.js diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/__tests__/dashboardToastMessage.test.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/__tests__/dashboardToastMessage.test.js new file mode 100644 index 0000000..34a9260 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/__tests__/dashboardToastMessage.test.js @@ -0,0 +1,47 @@ +import { createElement } from "lwc"; +import DashboardToastMessage from "c/dashboardToastMessage"; + +let element; +describe("c-dashboard-toast-message", () => { + beforeEach(() => { + element = createElement("c-dashboard-toast-message", { + is: DashboardToastMessage + }); + + document.body.appendChild(element); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("adds and removes a message to DOM", async () => { + jest.useFakeTimers(); + element.showToast("error", "the message"); + return Promise.resolve().then(async () => { + let toasts = element.shadowRoot.querySelectorAll(".slds-notify_toast"); + expect(toasts).toHaveLength(1); + + jest.runAllTimers(); + return Promise.resolve().then(() => { + toasts = element.shadowRoot.querySelectorAll(".slds-notify_toast"); + expect(toasts).toHaveLength(0); + }); + }); + }); + + it("removes the message on close click", async () => { + element.showToast("error", "the message"); + return Promise.resolve().then(async () => { + const close = element.shadowRoot.querySelector("lightning-button-icon"); + close.click(); + return Promise.resolve().then(() => { + const toasts = + element.shadowRoot.querySelectorAll(".slds-notify_toast"); + expect(toasts).toHaveLength(0); + }); + }); + }); +}); diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.html b/projects/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.html new file mode 100644 index 0000000..4bdad03 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.html @@ -0,0 +1,42 @@ + diff --git a/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.js b/projects/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.js similarity index 83% rename from MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.js rename to projects/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.js index 531087f..bfe5b13 100644 --- a/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.js +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.js @@ -1,4 +1,4 @@ -import { LightningElement, api, track } from 'lwc'; +import { LightningElement, api, track } from "lwc"; export default class DashboardToastMessage extends LightningElement { @track toastList = []; @@ -13,12 +13,13 @@ export default class DashboardToastMessage extends LightningElement { message, id: this.toastId, iconName: `utility:${type}`, - headerClass: `slds-notify slds-notify_toast slds-theme_${type}`, + headerClass: `slds-notify slds-notify_toast slds-theme_${type}` }; this.toastId += 1; this.toastList.push(toast); if (!this.sticky) { + // eslint-disable-next-line @lwc/lwc/no-async-operation setTimeout(() => { this.closeModal(); }, this.timeout); @@ -27,7 +28,7 @@ export default class DashboardToastMessage extends LightningElement { closeModal() { const index = this.toastId - 1; - if (index != -1) { + if (index !== -1) { this.toastList.splice(index, 1); this.toastId -= 1; } @@ -35,7 +36,7 @@ export default class DashboardToastMessage extends LightningElement { handleClose(event) { const index = event.target.dataset.index; - if (index != -1) { + if (index !== -1) { this.toastList.splice(index, 1); this.toastId -= 1; } diff --git a/projects/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.js-meta.xml b/projects/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/dashboardToastMessage/dashboardToastMessage.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/__tests__/editCardModal.test.js b/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/__tests__/editCardModal.test.js new file mode 100644 index 0000000..e8b80dd --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/__tests__/editCardModal.test.js @@ -0,0 +1,273 @@ +/* eslint-disable @lwc/lwc/prefer-custom-event */ +import { createElement } from "lwc"; +import EditCardModal from "c/editCardModal"; + +jest.mock( + "@salesforce/apex/DashboardSettingsService.getAllFields", + () => { + return { + default: jest.fn(() => [{ value: "AccountName", label: "Account Name" }]) + }; + }, + { virtual: true } +); + +let element; +let tabset; + +describe("c-edit-card-modal", () => { + beforeEach(() => { + element = createElement("c-edit-card-modal", { + is: EditCardModal + }); + + element.objectsOptions = [ + { label: "Account", value: "Account" }, + { label: "Contact", value: "Contact" } + ]; + element.generateUniqueID = jest.fn(() => "abc"); + element.close = jest.fn(); + element.card = { + index: 1, + title: "card title", + object: { label: "Account", value: "Account" }, + filter: { + conditionLogic: "AND", + subFilters: [ + { + key: "rwn1ft", + fieldDisplay: "Time Sheet End Date", + value: "", + unitDisplay: "days", + quantity: "14", + operatorDisplay: "last" + }, + { + key: "131fda", + fieldDisplay: "Time Sheet Start Date", + value: "", + unitDisplay: "weeks", + quantity: "1", + operatorDisplay: "last" + } + ] + }, + subFilters: [ + { + key: "rwn1fa", + fieldDisplay: "Time Sheet End Date", + value: "", + unitDisplay: "days", + quantity: "14", + operatorDisplay: "last" + }, + { + key: "131fdb", + fieldDisplay: "Time Sheet Start Date", + value: "", + unitDisplay: "weeks", + quantity: "1", + operatorDisplay: "last" + } + ], + layout: "SIDE" + }; + + document.body.appendChild(element); + + tabset = element.shadowRoot.querySelector("lightning-tabset"); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("closes modal on cancel", async () => { + const cancel = element.shadowRoot.querySelectorAll("lightning-button")[0]; + cancel.click(); + return Promise.resolve().then(() => { + expect(element.close).toHaveBeenCalled(); + }); + }); + + it("closes modal on save", async () => { + const title = element.shadowRoot.querySelector(".name-field-input"); + const obj = element.shadowRoot.querySelector(".object-combobox"); + + title.validity = { valid: true }; + obj.validity = { valid: true }; + + const basicFilters = element.shadowRoot.querySelectorAll("c-basic-filter"); + basicFilters.forEach((bf) => { + bf.checkValidation = () => true; + }); + + const subFilters = element.shadowRoot.querySelectorAll("c-sub-filter-card"); + subFilters.forEach((sf) => { + sf.checkValidation = () => true; + }); + + const save = element.shadowRoot.querySelectorAll("lightning-button")[1]; + save.click(); + return Promise.resolve().then(() => { + expect(element.close).toHaveBeenCalled(); + }); + }); + + it("leaves modal open on save with invalid fields", async () => { + const title = element.shadowRoot.querySelector(".name-field-input"); + const obj = element.shadowRoot.querySelector(".object-combobox"); + + title.validity = { valid: false }; + obj.validity = { valid: false }; + + const basicFilters = element.shadowRoot.querySelectorAll("c-basic-filter"); + basicFilters.forEach((bf) => { + bf.checkValidation = () => false; + }); + + const subFilters = element.shadowRoot.querySelectorAll("c-sub-filter-card"); + subFilters.forEach((sf) => { + sf.checkValidation = () => false; + }); + + const save = element.shadowRoot.querySelectorAll("lightning-button")[1]; + save.click(); + return Promise.resolve().then(() => { + expect(element.close).not.toHaveBeenCalled(); + }); + }); + + it("clears main conditions when changing object", async () => { + let conditions = element.shadowRoot.querySelectorAll(".condition"); + expect(conditions).toHaveLength(2); + + const objectCombobox = element.shadowRoot.querySelector(".object-combobox"); + objectCombobox.value = "Contact"; + objectCombobox.dispatchEvent(new Event("change")); + return Promise.resolve().then(() => { + conditions = element.shadowRoot.querySelectorAll(".condition"); + expect(conditions).toHaveLength(0); + }); + }); + + it("empties field options when changing to null object", async () => { + expect(element.fieldsOptions).toHaveLength(1); + + const objectCombobox = element.shadowRoot.querySelector(".object-combobox"); + objectCombobox.value = ""; + objectCombobox.dispatchEvent(new Event("change")); + return Promise.resolve().then(() => { + expect(element.fieldsOptions).toHaveLength(0); + }); + }); + + it("does not clear main conditions when changing condition logic", async () => { + let conditions = element.shadowRoot.querySelectorAll(".condition"); + expect(conditions).toHaveLength(2); + + const conditionCombobox = element.shadowRoot.querySelector( + ".condition-combobox" + ); + conditionCombobox.value = "OR"; + conditionCombobox.dispatchEvent(new Event("change")); + return Promise.resolve().then(() => { + conditions = element.shadowRoot.querySelectorAll(".condition"); + expect(conditions).toHaveLength(2); + }); + }); + + it("adds condition on handleAddConditionClick call", async () => { + let conditions = element.shadowRoot.querySelectorAll(".condition"); + expect(conditions).toHaveLength(2); + + element.handleAddConditionClick(); + return Promise.resolve().then(() => { + conditions = element.shadowRoot.querySelectorAll(".condition"); + expect(conditions).toHaveLength(3); + }); + }); + + it("removes condition when delete clicked", async () => { + let conditions = element.shadowRoot.querySelectorAll(".condition"); + expect(conditions).toHaveLength(2); + + const deleteButton = element.shadowRoot.querySelector( + ".condition lightning-button-icon" + ); + deleteButton.click(); + return Promise.resolve().then(() => { + conditions = element.shadowRoot.querySelectorAll(".condition"); + expect(conditions).toHaveLength(1); + }); + }); + + describe("tests details tab", () => { + beforeEach(() => { + tabset.activeTabValue = "details-tab"; + }); + + it("add sub filter on handleAddSubFilterClick call", async () => { + let subFilters = element.shadowRoot.querySelectorAll("c-sub-filter-card"); + expect(subFilters).toHaveLength(2); + + element.handleAddSubFilterClick(); + return Promise.resolve().then(() => { + subFilters = element.shadowRoot.querySelectorAll("c-sub-filter-card"); + expect(subFilters).toHaveLength(3); + }); + }); + + it("add sub filter on duplicateSubFilter call", async () => { + let subFilters = element.shadowRoot.querySelectorAll("c-sub-filter-card"); + expect(subFilters).toHaveLength(2); + + element.duplicateSubFilter(0); + return Promise.resolve().then(() => { + subFilters = element.shadowRoot.querySelectorAll("c-sub-filter-card"); + expect(subFilters).toHaveLength(3); + }); + }); + }); + + it("reorders sub filters on drag", async () => { + const firstSubFilter = + element.shadowRoot.querySelectorAll("c-sub-filter-card")[0]; + const secondSubFilter = + element.shadowRoot.querySelectorAll("c-sub-filter-card")[1]; + + const eStart = new Event("dragstart"); + const eEnter = new Event("dragenter"); + const eEnd = new Event("dragend"); + const eDrop = new Event("drop"); + secondSubFilter.dispatchEvent(eStart); + firstSubFilter.dispatchEvent(eEnter); + secondSubFilter.dispatchEvent(eEnd); + secondSubFilter.dispatchEvent(eDrop); + + return Promise.resolve().then(() => { + expect(firstSubFilter.index).toBe(1); + expect(secondSubFilter.index).toBe(0); + }); + }); + + it("does not reorder sub filters if entering with a filter to itself", async () => { + const firstSubFilter = + element.shadowRoot.querySelectorAll("c-sub-filter-card")[0]; + + const eStart = new Event("dragstart"); + const eEnter = new Event("dragenter"); + const eEnd = new Event("dragend"); + const eDrop = new Event("drop"); + firstSubFilter.dispatchEvent(eStart); + firstSubFilter.dispatchEvent(eEnter); + firstSubFilter.dispatchEvent(eEnd); + firstSubFilter.dispatchEvent(eDrop); + + return Promise.resolve().then(() => { + expect(firstSubFilter.index).toBe(0); + }); + }); +}); diff --git a/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.css b/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.css new file mode 100644 index 0000000..86f5b35 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.css @@ -0,0 +1,151 @@ +.layout-container { + display: flex; + flex-direction: column; +} + +.layout-comp { + flex: 1; +} + +.not-last { + margin-right: 38px; +} + +.layout-text { + flex: 1; +} + +.layout-img { + flex: 3; +} + +.card-layout-container { + display: flex; +} + +.layout-radio-container { + display: flex; + flex-direction: row; +} + +.layout-radio { + display: flex; + flex-direction: column; + margin-right: 60px; +} + +.sub-filters-container { + display: flex; + flex-direction: column; +} + +lightning-helptext { + margin-left: 8px; +} + +h1 { + font-size: 14px; + line-height: 24px; + font-weight: 700; + color: #181818; + margin-bottom: 16px; +} + +h2 { + font-size: 12px; + line-height: 18px; + font-weight: 700; + color: #444444; + margin-bottom: 16px; +} + +p { + font-size: 13px; + line-height: 20px; + color: #444444; + margin-bottom: 16px; +} + +.bold-p { + font-weight: 700; +} + +.card-data-title { + margin-bottom: 0; +} + +.card-props { + display: flex; + flex-direction: row; + justify-content: space-evenly; + margin-bottom: 16px; +} + +.card-props lightning-input, +.card-props lightning-combobox { + width: 100%; +} + +.card-props lightning-input { + margin-right: 16px; +} + +.obj-filter { + display: flex; + flex-direction: column; + justify-content: space-between; + background-color: #f3f3f3; + border: 1px solid #c9c9c9; + border-radius: 4px; + padding: 12px; +} + +.condition-combobox, +c-basic-filter { + margin-bottom: 12px; +} + +.condition { + display: flex; + flex-direction: row; +} + +.logic-text { + width: 64px; + display: flex; + align-items: end; + justify-content: end; + margin-bottom: 12px; + margin-right: 16px; + font-weight: 700; + font-size: 14px; + line-height: 21px; +} + +c-basic-filter { + flex-grow: 1; +} + +.custom-logic-input { + margin: 12px 0; +} + +c-dashboard-add-button { + margin-top: 12px; +} + +lightning-button-icon { + background-color: white; + align-self: end; + margin-bottom: 12px; +} + +lightning-modal-footer lightning-button { + margin-left: 12px; +} + +.dragged { + border: 1px solid #032d60; + transition: 0.01s; + transform: translateX(-9999px); +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.html b/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.html new file mode 100644 index 0000000..4848b86 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.html @@ -0,0 +1,215 @@ + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.js b/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.js new file mode 100644 index 0000000..9c24eeb --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.js @@ -0,0 +1,363 @@ +/* eslint-disable @lwc/lwc/no-api-reassignments */ +import { api } from "lwc"; +import LightningModal from "lightning/modal"; +import AlertMessage from "c/alertMessage"; +import getAllFields from "@salesforce/apex/DashboardSettingsService.getAllFields"; +import SIDE_EXAMPLE_SVG from "@salesforce/resourceUrl/side_example"; +import STACK_EXAMPLE_SVG from "@salesforce/resourceUrl/stack_example"; +import customLabels from "./labels"; + +export default class EditCardModal extends LightningModal { + @api modalTitle; + @api objectsOptions; + @api card; + @api generateUniqueID; + LABELS = customLabels; + + @api fieldsOptions; + tempCard; + EMPTY_SUB_FILTER = { + key: "", + field: "", + fieldDisplay: "", + fieldType: "", + operator: "", + operatorDisplay: "", + value: "", + unit: "", + unitDisplay: "", + quantity: "", + label: "", + icon: "", + color: "#747474" + }; + + side_svg_url = `${SIDE_EXAMPLE_SVG}#side_example`; + stack_svg_url = `${STACK_EXAMPLE_SVG}#stack_example`; + + connectedCallback() { + this.tempCard = { ...this.card }; + this.refreshFieldsOptions(this.tempCard.object?.value); + } + + renderedCallback() { + this.detectSubFilterDrag(); + } + + handleCancelClick = () => { + this.close(); + }; + + handleSaveClick = () => { + if (this.checkValidation()) { + this.close(this.tempCard); + } + }; + + onTitleChange = (e) => { + this.tempCard.title = e.target.value; + }; + + onObjectComboChange = (e) => { + this.tempCard = { + ...this.tempCard, + object: { + value: e.target.value, + label: e.target.options.find((opt) => opt.value === e.detail?.value) + ?.label + }, + filter: { + ...this.tempCard.filter, + subFilters: [] + }, + subFilters: [this.EMPTY_SUB_FILTER] + }; + + this.refreshFieldsOptions(this.tempCard.object?.value); + }; + + get conditionOptions() { + return [ + { + label: this.LABELS.MobileDashboard_card_modal_details_filter_logic_and, + value: "AND" + }, + { + label: this.LABELS.MobileDashboard_card_modal_details_filter_logic_or, + value: "OR" + }, + { + label: + this.LABELS.MobileDashboard_card_modal_details_filter_logic_custom, + value: "CUSTOM" + } + ]; + } + + onConditionOptionsChange = (e) => { + let newCard = JSON.parse(JSON.stringify(this.tempCard)); + newCard.filter.conditionLogic = e.target.value; + this.tempCard = { ...newCard }; + }; + + onCustomLogicChange = (e) => { + let newCard = JSON.parse(JSON.stringify(this.tempCard)); + newCard.filter.customLogic = e.target.value; + this.tempCard = { ...newCard }; + }; + + onDesignTabSelected = async () => { + this.detectSubFilterDrag(); + }; + + onLayoutRadioChange = (e) => { + let newCard = JSON.parse(JSON.stringify(this.tempCard)); + newCard.layout = e.target.value; + this.tempCard = { ...newCard }; + }; + + @api handleAddConditionClick = () => { + let newCard = JSON.parse(JSON.stringify(this.tempCard)); + newCard.filter.subFilters.push({ + ...this.EMPTY_SUB_FILTER, + key: this.generateUniqueID() + }); + this.tempCard = { ...newCard }; + }; + + @api handleAddSubFilterClick = () => { + let newCard = JSON.parse(JSON.stringify(this.tempCard)); + newCard.subFilters.push({ + ...this.EMPTY_SUB_FILTER, + key: this.generateUniqueID() + }); + this.tempCard = { ...newCard }; + }; + + handleDeleteCondClick = (e) => { + const index = e.target.value; + let newCard = JSON.parse(JSON.stringify(this.tempCard)); + newCard.filter.subFilters.splice(index, 1); + this.tempCard = { ...newCard }; + }; + + updateSubFilter = (index, newVals) => { + let newCard = JSON.parse(JSON.stringify(this.tempCard)); + newCard.subFilters = newCard.subFilters ?? []; + newCard.subFilters[index] = { ...newCard.subFilters[index], ...newVals }; + this.tempCard = { ...newCard }; + }; + + @api duplicateSubFilter = (index) => { + let newCard = JSON.parse(JSON.stringify(this.tempCard)); + newCard.subFilters.splice(index + 1, 0, { + ...newCard.subFilters[index], + key: this.generateUniqueID() + }); + this.tempCard = { ...newCard }; + }; + + @api deleteSubFilter = async (index) => { + const toDelete = await AlertMessage.open({ + size: "small", + modalTitle: + this.LABELS.MobileDashboard_settings_delete_sub_filter_warning_title, + message: + this.LABELS.MobileDashboard_settings_delete_sub_filter_warning_body, + discardButtonText: this.LABELS.MobileDashboard_settings_cancel_button, + isDeleteMsg: true + }); + + if (toDelete) { + let newCard = JSON.parse(JSON.stringify(this.tempCard)); + newCard.subFilters.splice(index, 1); + this.tempCard = { ...newCard }; + } + }; + + updateMainSubFilter = (index, newVals) => { + let newCard = JSON.parse(JSON.stringify(this.tempCard)); + newCard.filter.subFilters = newCard.filter?.subFilters ?? []; + newCard.filter.subFilters[index] = { + ...newCard.filter.subFilters[index], + ...newVals + }; + this.tempCard = { ...newCard }; + }; + + async refreshFieldsOptions(obj) { + if (!obj) { + this.fieldsOptions = []; + return; + } + const allFields = await getAllFields({ obj }); + this.fieldsOptions = allFields.sort((f1, f2) => { + return f1.label < f2.label ? -1 : 1; + }); + } + + get loading() { + return !this.fieldsOptions; + } + + get subFilters() { + return this.tempCard?.subFilters ?? []; + } + + get mainSubFilters() { + let subFilters = this.tempCard?.filter?.subFilters ?? []; + subFilters = subFilters.map((s, i) => ({ + ...s, + displayText: this.getLogicDisplayText(i) + })); + return subFilters; + } + + getLogicDisplayText(ind) { + if (this.isCustomLogic) return ind + 1; + if (ind === 0) return ""; + return this.conditionLogicText; + } + + get isCustomLogic() { + return this.tempCard.filter.conditionLogic === "CUSTOM"; + } + + get conditionLogicText() { + return this.tempCard.filter.conditionLogic === "AND" + ? this.LABELS.MobileDashboard_card_modal_details_and_between_logic + : this.LABELS.MobileDashboard_card_modal_details_or_between_logic; + } + + get isLayoutSide() { + return this.tempCard.layout === "SIDE"; + } + + get isLayoutStack() { + return this.tempCard.layout === "STACK"; + } + + get disableConditionLogic() { + return !this.tempCard.object?.value; + } + + get disableAddCondition() { + return !this.tempCard.object?.value || !this.tempCard.filter.conditionLogic; + } + + detectSubFilterDrag = async () => { + const filters = this.template.querySelectorAll("c-sub-filter-card"); + if (filters.length !== this.tempCard.subFilters.length) { + // eslint-disable-next-line @lwc/lwc/no-async-operation + setTimeout(() => { + this.detectSubFilterDrag(); + }, 500); + } + let dragged = -1; + let dest = -1; + filters.forEach((f) => { + f.ondragstart = (e) => { + dragged = e.target.index; + f.classList.add("dragged"); + }; + + f.ondragenter = (e) => { + for (let filter of filters) { + filter.removeDragDivider(); + } + if (dragged !== e.target.index) { + f.addDragDivider(); + dest = e.target.index; + } else { + dest = -1; + } + }; + + f.ondragend = () => { + for (let filter of filters) { + filter.removeDragDivider(); + } + f.classList.remove("dragged"); + f.disableDrag(); + }; + + f.ondragover = (e) => e.preventDefault(); + + // eslint-disable-next-line no-unused-vars + f.ondrop = (e) => { + f.disableDrag(); + if (dragged > -1 && dest > -1) { + this.reorderSubFilters(dragged, dest); + } + }; + }); + }; + + reorderSubFilters = (oldInd, newInd) => { + if (oldInd < newInd) newInd--; + const filter = this.tempCard.subFilters[oldInd]; + let newCard = JSON.parse(JSON.stringify(this.tempCard)); + newCard.subFilters.splice(oldInd, 1); + newCard.subFilters.splice(newInd, 0, filter); + this.tempCard = { ...newCard }; + }; + + checkValidation() { + let isValid = true; + const tabset = this.template.querySelector("lightning-tabset"); + + // check title, object and custom logic (if shown) + const inputs = []; + inputs.push(this.template.querySelector(".name-field-input")); + inputs.push(this.template.querySelector(".object-combobox")); + + const customLogic = this.template.querySelector(".custom-logic-input"); + if (customLogic) + inputs.push(this.template.querySelector(".custom-logic-input")); + + inputs.forEach((input) => { + if (!input.validity.valid) { + input.focus(); + input.blur(); + input.classList.add("slds-has-error"); + isValid = false; + tabset.activeTabValue = "details-tab"; + } + }); + + // check main basic filters + const basicFilters = this.template.querySelectorAll("c-basic-filter"); + basicFilters.forEach((b) => { + if (!b.checkValidation()) { + isValid = false; + tabset.activeTabValue = "details-tab"; + } + }); + + // check sub filters + const filters = this.template.querySelectorAll("c-sub-filter-card"); + filters.forEach((sub) => { + if (!sub.checkValidation()) { + if (isValid) tabset.activeTabValue = "design-tab"; + isValid = false; + } + }); + + // need to check scenario where we haven't moved to the second tab (selector won't work because they're still hidden), + // and there could be an empty place-holder sub-filter + if ( + JSON.stringify(this.subFilters) === + JSON.stringify([this.EMPTY_SUB_FILTER]) + ) { + isValid = false; + tabset.activeTabValue = "design-tab"; + // eslint-disable-next-line @lwc/lwc/no-async-operation + setTimeout(() => { + const filter = this.template.querySelector("c-sub-filter-card"); + filter.checkValidation(); + }, 0); + } + + return isValid; + } +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.js-meta.xml b/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/editCardModal.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/labels.js b/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/labels.js new file mode 100644 index 0000000..8e587a9 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/editCardModal/labels.js @@ -0,0 +1,61 @@ +import MobileDashboard_card_modal_details_tab_name from "@salesforce/label/c.MobileDashboard_card_modal_details_tab_name"; +import MobileDashboard_card_modal_details_name_field from "@salesforce/label/c.MobileDashboard_card_modal_details_name_field"; +import MobileDashboard_card_object_field from "@salesforce/label/c.MobileDashboard_card_object_field"; +import MobileDashboard_card_filter_title from "@salesforce/label/c.MobileDashboard_card_filter_title"; +import MobileDashboard_card_modal_details_filter_logic_field from "@salesforce/label/c.MobileDashboard_card_modal_details_filter_logic_field"; +import MobileDashboard_settings_select_placeholder from "@salesforce/label/c.MobileDashboard_settings_select_placeholder"; +import MobileDashboard_card_modal_details_filter_logic_and from "@salesforce/label/c.MobileDashboard_card_modal_details_filter_logic_and"; +import MobileDashboard_card_modal_details_filter_logic_or from "@salesforce/label/c.MobileDashboard_card_modal_details_filter_logic_or"; +import MobileDashboard_card_modal_details_filter_logic_custom from "@salesforce/label/c.MobileDashboard_card_modal_details_filter_logic_custom"; +import MobileDashboard_card_modal_details_custom_logic_field from "@salesforce/label/c.MobileDashboard_card_modal_details_custom_logic_field"; +import MobileDashboard_card_modal_details_add_condition_button from "@salesforce/label/c.MobileDashboard_card_modal_details_add_condition_button"; +import MobileDashboard_settings_save_button from "@salesforce/label/c.MobileDashboard_settings_save_button"; +import MobileDashboard_settings_cancel_button from "@salesforce/label/c.MobileDashboard_settings_cancel_button"; +import MobileDashboard_card_modal_design_tab_name from "@salesforce/label/c.MobileDashboard_card_modal_design_tab_name"; +import MobileDashboard_card_modal_design_tab_layout_title from "@salesforce/label/c.MobileDashboard_card_modal_design_tab_layout_title"; +import MobileDashboard_card_modal_design_tab_layout_side_title from "@salesforce/label/c.MobileDashboard_card_modal_design_tab_layout_side_title"; +import MobileDashboard_card_modal_design_tab_layout_side_description from "@salesforce/label/c.MobileDashboard_card_modal_design_tab_layout_side_description"; +import MobileDashboard_card_modal_design_tab_layout_stack_title from "@salesforce/label/c.MobileDashboard_card_modal_design_tab_layout_stack_title"; +import MobileDashboard_card_modal_design_tab_layout_stack_description from "@salesforce/label/c.MobileDashboard_card_modal_design_tab_layout_stack_description"; +import MobileDashboard_card_modal_design_tab_card_data_title from "@salesforce/label/c.MobileDashboard_card_modal_design_tab_card_data_title"; +import MobileDashboard_settings_delete_sub_filter_warning_title from "@salesforce/label/c.MobileDashboard_settings_delete_sub_filter_warning_title"; +import MobileDashboard_settings_delete_sub_filter_warning_body from "@salesforce/label/c.MobileDashboard_settings_delete_sub_filter_warning_body"; +import MobileDashboard_card_modal_design_tab_add_data_button from "@salesforce/label/c.MobileDashboard_card_modal_design_tab_add_data_button"; +import MobileDashboard_card_modal_details_filter_field_infobubble from "@salesforce/label/c.MobileDashboard_card_modal_details_filter_field_infobubble"; +import MobileDashboard_card_modal_details_remove_condition_button from "@salesforce/label/c.MobileDashboard_card_modal_details_remove_condition_button"; +import MobileDashboard_card_modal_details_custom_logic_field_infobubble from "@salesforce/label/c.MobileDashboard_card_modal_details_custom_logic_field_infobubble"; +import MobileDashboard_card_modal_details_and_between_logic from "@salesforce/label/c.MobileDashboard_card_modal_details_and_between_logic"; +import MobileDashboard_card_modal_details_or_between_logic from "@salesforce/label/c.MobileDashboard_card_modal_details_or_between_logic"; + +const customLabels = { + MobileDashboard_card_modal_details_tab_name, + MobileDashboard_card_modal_details_name_field, + MobileDashboard_card_object_field, + MobileDashboard_card_modal_details_filter_field_infobubble, + MobileDashboard_card_filter_title, + MobileDashboard_card_modal_details_filter_logic_field, + MobileDashboard_settings_select_placeholder, + MobileDashboard_card_modal_details_filter_logic_and, + MobileDashboard_card_modal_details_filter_logic_or, + MobileDashboard_card_modal_details_filter_logic_custom, + MobileDashboard_card_modal_details_custom_logic_field, + MobileDashboard_card_modal_details_add_condition_button, + MobileDashboard_settings_save_button, + MobileDashboard_settings_cancel_button, + MobileDashboard_card_modal_design_tab_name, + MobileDashboard_card_modal_design_tab_layout_title, + MobileDashboard_card_modal_design_tab_layout_side_title, + MobileDashboard_card_modal_design_tab_layout_side_description, + MobileDashboard_card_modal_design_tab_layout_stack_title, + MobileDashboard_card_modal_design_tab_layout_stack_description, + MobileDashboard_card_modal_design_tab_card_data_title, + MobileDashboard_settings_delete_sub_filter_warning_title, + MobileDashboard_settings_delete_sub_filter_warning_body, + MobileDashboard_card_modal_design_tab_add_data_button, + MobileDashboard_card_modal_details_remove_condition_button, + MobileDashboard_card_modal_details_custom_logic_field_infobubble, + MobileDashboard_card_modal_details_and_between_logic, + MobileDashboard_card_modal_details_or_between_logic +}; + +export default customLabels; diff --git a/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/__tests__/mainDashboard.test.js b/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/__tests__/mainDashboard.test.js new file mode 100644 index 0000000..8d26fb4 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/__tests__/mainDashboard.test.js @@ -0,0 +1,97 @@ +import { createElement } from "lwc"; +import MainDashboard from "c/mainDashboard"; +import { graphql } from "lightning/uiGraphQLApi"; + +let element; +describe("c-main-dashboard", () => { + beforeEach(() => { + element = createElement("c-main-dashboard", { + is: MainDashboard + }); + + document.body.appendChild(element); + + graphql.emit({ + uiapi: { + query: { + Mobile_Dashboard_Setting__c: { + edges: [ + { + node: { + Id: "a0oRO0000005xCYYAY", + Object_Name__c: { + value: "ServiceAppointment" + }, + Title__c: { + value: "My Upcoming Service Appointments" + }, + Main_Filter__c: { + value: + '[{"key":"hog03n","field":"SchedStartTime","fieldDisplay":"Scheduled Start","fieldType":"DATETIME","operator":"last","value":"","unit":"month","unitDisplay":"months","quantity":"16","label":"","icon":"","color":"#747474","operatorDisplay":"last"}]' + }, + Main_Filter_Logic__c: { + value: "AND" + }, + Custom_Logic__c: { + value: null + }, + Layout__c: { + value: "STACK" + }, + Sub_Filters__c: { + value: + '[{"key":"hhrget","field":"Status","fieldDisplay":"Status","fieldType":"PICKLIST","operator":"eq","operatorDisplay":"=","value":"Scheduled","unit":"","unitDisplay":"","quantity":"","label":"Scheduled","icon":"utility:clock","color":"#747474"},{"key":"le98t2","field":"Status","fieldDisplay":"Status","fieldType":"PICKLIST","operator":"eq","operatorDisplay":"=","value":"Canceled","unit":"","unitDisplay":"","quantity":"","label":"Canceled","icon":"utility:warning","color":"#8C4B02"},{"key":"6ze7fr","field":"Status","fieldDisplay":"Status","fieldType":"PICKLIST","operator":"eq","operatorDisplay":"=","value":"Completed","unit":"","unitDisplay":"","quantity":"","label":"Completed","icon":"utility:success","color":"#2E844A"}]' + }, + Order__c: { + value: 0 + } + } + }, + { + node: { + Id: "a0oRO0000005xHjYAI", + Object_Name__c: { + value: "Asset" + }, + Title__c: { + value: "My Asset" + }, + Main_Filter__c: { + value: "[]" + }, + Main_Filter_Logic__c: { + value: "OR" + }, + Custom_Logic__c: { + value: null + }, + Layout__c: { + value: "SIDE" + }, + Sub_Filters__c: { + value: + '[{"key":"pzlqyw","field":"Name","fieldDisplay":"Asset Name","fieldType":"STRING","operator":"eq","value":"ABC","unit":"","unitDisplay":"","quantity":"","label":"ABC","icon":"","color":"#747474","operatorDisplay":"="},{"key":"bmu42o","field":"Name","fieldDisplay":"Asset Name","fieldType":"STRING","operator":"eq","value":"DEF","unit":"","unitDisplay":"","quantity":"","label":"DEF","icon":"","color":"#747474","operatorDisplay":"="},{"key":"se7sdp","field":"Name","fieldDisplay":"Asset Name","fieldType":"STRING","operator":"like","value":"Asset","unit":"","unitDisplay":"","quantity":"","label":"None","icon":"","color":"#747474","operatorDisplay":"contains"}]' + }, + Order__c: { + value: 1 + } + } + } + ] + } + } + } + }); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("should have 2 summary components", () => { + const cards = element.shadowRoot.querySelectorAll("c-summary-component"); + expect(cards).toHaveLength(2); + }); +}); diff --git a/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.css b/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.css new file mode 100644 index 0000000..4aade33 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.css @@ -0,0 +1,8 @@ +.main-container { + background-color: var(--slds-g-color-neutral-base-90, #e5e5e5); + padding: 16px; + display: flex; + flex-direction: column; + overflow-y: scroll; + width: 100vw; +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.html b/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.html new file mode 100644 index 0000000..9f9e9cb --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.html @@ -0,0 +1,16 @@ + diff --git a/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.js b/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.js similarity index 88% rename from MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.js rename to projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.js index fe82ec7..7e252a4 100644 --- a/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.js +++ b/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.js @@ -1,9 +1,9 @@ -import { LightningElement, wire, api } from 'lwc'; -import { gql, graphql, refreshGraphQL } from 'lightning/uiGraphQLApi'; +import { LightningElement, wire, api } from "lwc"; +import { gql, graphql, refreshGraphQL } from "lightning/uiGraphQLApi"; export default class MainDashboard extends LightningElement { dashboardSettings = []; - GET_DASHBOARD_SETTINGS_QRY = ''; + GET_DASHBOARD_SETTINGS_QRY = ""; queryResult; refreshed = false; @@ -15,13 +15,13 @@ export default class MainDashboard extends LightningElement { } @wire(graphql, { - query: '$GET_DASHBOARD_SETTINGS_QRY', + query: "$GET_DASHBOARD_SETTINGS_QRY" }) GetAllDashboardSettings(result) { this.queryResult = result; const { data, errors } = result; if (data) { - const allSettings = data?.uiapi?.query['Mobile_Dashboard_Setting__c']?.edges; + const allSettings = data?.uiapi?.query.Mobile_Dashboard_Setting__c?.edges; if (allSettings) this.populateDashboardSettings(allSettings); if (!this.refreshed) { this.refreshed = true; diff --git a/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.js-meta.xml b/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.js-meta.xml similarity index 90% rename from MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.js-meta.xml rename to projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.js-meta.xml index 63136e0..af98892 100644 --- a/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.js-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/lwc/mainDashboard/mainDashboard.js-meta.xml @@ -1,4 +1,4 @@ - + 55.0 true @@ -16,4 +16,4 @@ ScreenAction - \ No newline at end of file + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/__tests__/subFilterCard.test.js b/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/__tests__/subFilterCard.test.js new file mode 100644 index 0000000..1c86ac2 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/__tests__/subFilterCard.test.js @@ -0,0 +1,101 @@ +/* eslint-disable @lwc/lwc/prefer-custom-event */ +import { createElement } from "lwc"; +import SubFilterCard from "c/subFilterCard"; + +let element; +describe("c-sub-filter-card", () => { + beforeEach(() => { + element = createElement("c-sub-filter-card", { + is: SubFilterCard + }); + + element.index = 0; + element.objectValue = "Account"; + element.filter = { + key: "xtao8a", + field: "Status", + fieldDisplay: "Status", + fieldType: "PICKLIST", + operator: "eq", + value: "Completed", + label: "Completed", + icon: "utility: like", + color: "#3DBA63" + }; + element.fieldsOptions = [ + { label: "A", value: "a" }, + { label: "B", value: "b" } + ]; + element.layout = "SIDE"; + element.updateSubFilter = jest.fn(); + element.duplicateSubFilter = jest.fn(); + element.deleteSubFilter = jest.fn(); + + document.body.appendChild(element); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("Label and color are correct", () => { + const inputs = element.shadowRoot.querySelectorAll("lightning-input"); + const label = inputs[0]; + const color = inputs[1]; + expect(label.value).toBe("Completed"); + expect(color.value).toBe("#3DBA63"); + }); + + it("should call duplicateSubFilter when duplicate clicked", async () => { + const action = element.shadowRoot.querySelectorAll( + "lightning-menu-item" + )[0]; + action.click(); + return Promise.resolve().then(() => { + expect(element.duplicateSubFilter).toHaveBeenCalled(); + }); + }); + + it("should call deleteSubFilter when delete clicked", async () => { + const action = element.shadowRoot.querySelectorAll( + "lightning-menu-item" + )[1]; + action.click(); + return Promise.resolve().then(() => { + expect(element.deleteSubFilter).toHaveBeenCalled(); + }); + }); + + it("should call updateSubFilter when change label", async () => { + const inputs = element.shadowRoot.querySelectorAll("lightning-input"); + const label = inputs[0]; + label.value = "a"; + label.dispatchEvent(new Event("change")); + return Promise.resolve().then(() => { + expect(element.updateSubFilter).toHaveBeenCalled(); + }); + }); + + it("should call updateSubFilter when change icon", async () => { + const inputs = element.shadowRoot.querySelectorAll("lightning-input"); + const icon = inputs[1]; + icon.value = "utility:error"; + icon.dispatchEvent(new Event("change")); + return Promise.resolve().then(() => { + expect(element.updateSubFilter).toHaveBeenCalled(); + }); + }); + + it("return false from checkValidation when fields are valid", async () => { + const input = element.shadowRoot.querySelector(".label-input"); + input.validity = { valid: false }; + + const basic = element.shadowRoot.querySelector("c-basic-filter"); + basic.checkValidation = () => false; + + const isValid = element.checkValidation(); + expect(isValid).toBeFalsy(); + }); +}); diff --git a/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/labels.js b/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/labels.js new file mode 100644 index 0000000..3df02f2 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/labels.js @@ -0,0 +1,21 @@ +import MobileDashboard_settings_duplicate_button from "@salesforce/label/c.MobileDashboard_settings_duplicate_button"; +import MobileDashboard_settings_delete_button from "@salesforce/label/c.MobileDashboard_settings_delete_button"; +import MobileDashboard_sub_filter_label_field from "@salesforce/label/c.MobileDashboard_sub_filter_label_field"; +import MobileDashboard_sub_filter_color_field from "@salesforce/label/c.MobileDashboard_sub_filter_color_field"; +import MobileDashboard_sub_filter_color_field_infobubble from "@salesforce/label/c.MobileDashboard_sub_filter_color_field_infobubble"; +import MobileDashboard_preview_title from "@salesforce/label/c.MobileDashboard_preview_title"; +import MobileDashboard_preview_title_infobubble from "@salesforce/label/c.MobileDashboard_preview_title_infobubble"; +import MobileDashboard_sub_filter_options from "@salesforce/label/c.MobileDashboard_sub_filter_options"; + +const customLabels = { + MobileDashboard_settings_duplicate_button, + MobileDashboard_settings_delete_button, + MobileDashboard_sub_filter_label_field, + MobileDashboard_sub_filter_color_field, + MobileDashboard_sub_filter_color_field_infobubble, + MobileDashboard_preview_title, + MobileDashboard_preview_title_infobubble, + MobileDashboard_sub_filter_options +}; + +export default customLabels; diff --git a/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.css b/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.css new file mode 100644 index 0000000..3c17738 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.css @@ -0,0 +1,88 @@ +.drag-divider { + margin: 6px 0; + height: 0; + width: 100%; + height: 2px; +} + +.drag-divider-active { + background-color: #1b96ff; +} + +h3 { + color: #444444; + font-weight: 700; + font-size: 13px; + line-height: 20px; +} + +.sub-filter { + display: flex; + flex-direction: row; + justify-content: space-between; + background-color: #f3f3f3; + border: 1px solid #c9c9c9; + border-radius: 4px; + padding: 12px; +} + +.grabber { + cursor: move; + margin-right: 20px; + display: flex; + align-items: center; + flex-shrink: 0; +} + +.row { + display: flex; + flex-direction: row; +} + +.menu { + flex-shrink: 0; +} + +lightning-button-menu { + background: white; +} + +.props-container { + width: calc(50% - 104px); + margin-right: 24px; + display: flex; + flex-direction: column; + justify-content: space-between; + flex: 1; +} + +lightning-input, +lightning-combobox, +c-dashboard-icons-picker { + margin-right: 16px; +} + +c-basic-filter { + flex: 1; +} + +.preview { + margin-right: 24px; + display: flex; + flex-direction: column; + justify-content: start; + flex: 2; +} + +.slds-form-element__label { + line-height: 22px; +} + +lightning-helptext { + margin-left: 8px; +} + +.props-list { + display: flex; + flex-direction: row; +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.html b/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.html new file mode 100644 index 0000000..91c532e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.html @@ -0,0 +1,92 @@ + diff --git a/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.js b/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.js similarity index 77% rename from MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.js rename to projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.js index da167e2..df12af5 100644 --- a/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.js +++ b/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.js @@ -1,5 +1,5 @@ -import { LightningElement, api, wire } from 'lwc'; -import customLabels from './labels'; +import { LightningElement, api } from "lwc"; +import customLabels from "./labels"; export default class SubFilterCard extends LightningElement { @api index; @@ -21,39 +21,41 @@ export default class SubFilterCard extends LightningElement { } renderedCallback() { - this.dragDivider = this.template.querySelector('.drag-divider'); + this.dragDivider = this.template.querySelector(".drag-divider"); } + // eslint-disable-next-line no-unused-vars allowDrag = (e) => { this.canBeDragged = true; }; + // eslint-disable-next-line no-unused-vars @api disableDrag = (e) => { this.canBeDragged = false; }; @api removeDragDivider() { - this.dragDivider.classList.remove('drag-divider-active'); + this.dragDivider.classList.remove("drag-divider-active"); } @api addDragDivider() { - this.dragDivider.classList.add('drag-divider-active'); + this.dragDivider.classList.add("drag-divider-active"); } @api checkValidation() { let isValid = true; // check name - const input = this.template.querySelector('.label-input'); + const input = this.template.querySelector(".label-input"); if (!input.validity.valid) { input.focus(); input.blur(); - input.classList.add('slds-has-error'); + input.classList.add("slds-has-error"); isValid = false; } // check the basic filter - const basicFilter = this.template.querySelector('c-basic-filter'); + const basicFilter = this.template.querySelector("c-basic-filter"); if (!basicFilter.checkValidation()) { isValid = false; } diff --git a/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.js-meta.xml b/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/subFilterCard/subFilterCard.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/__tests__/subFilterSummaryComponent.test.js b/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/__tests__/subFilterSummaryComponent.test.js new file mode 100644 index 0000000..4e07d48 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/__tests__/subFilterSummaryComponent.test.js @@ -0,0 +1,47 @@ +import { createElement } from "lwc"; +import SubFilterSummaryComponent from "c/subFilterSummaryComponent"; + +let element; +describe("c-sub-filter-summary-component", () => { + beforeEach(() => { + element = createElement("c-sub-filter-summary-component", { + is: SubFilterSummaryComponent + }); + + element.counter = 5; + element.icon = "utility:like"; + element.label = "the label"; + element.color = "#123456"; + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("should show correct info", () => { + document.body.appendChild(element); + + const counter = element.shadowRoot.querySelector(".sub-counter"); + const subLabel = element.shadowRoot.querySelector(".sub-label"); + expect(counter.textContent).toBe("5"); + expect(subLabel.textContent).toBe("the label"); + }); + + it("should have side class", () => { + element.layout = "SIDE"; + document.body.appendChild(element); + + const container = element.shadowRoot.querySelector("div"); + expect(container.classList).toContain("side"); + }); + + it("should have stack class", () => { + element.layout = "STACK"; + document.body.appendChild(element); + + const container = element.shadowRoot.querySelector("div"); + expect(container.classList).toContain("stack"); + }); +}); diff --git a/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.css b/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.css new file mode 100644 index 0000000..4c94819 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.css @@ -0,0 +1,49 @@ +.main-container { + background-color: white; + min-width: 95px; + padding: 8px; + border: 2px solid var(--slds-g-color-neutral-base-95, #f3f3f3); + border-radius: 12px; + display: flex; +} + +.placeholder { + height: 24px; +} + +.side { + flex-direction: column; + justify-content: center; + height: 66px; +} + +.stack { + flex-direction: row; + align-items: center; +} + +.sub-counter { + font-size: 20px; + line-height: 24px; +} + +.side .sub-counter { + margin-bottom: 4px; +} + +.stack .sub-counter { + margin-right: 16px; +} + +.sub-label { + display: flex; + flex-direction: row; + align-items: center; + font-weight: 700; + font-size: 12px; + line-height: 18px; +} + +.icon { + margin-right: 4px; +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.html b/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.html new file mode 100644 index 0000000..ad7740e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.html @@ -0,0 +1,24 @@ + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.js b/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.js new file mode 100644 index 0000000..72876a8 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.js @@ -0,0 +1,38 @@ +import { LightningElement, api } from "lwc"; + +export default class SubFilterSummaryComponent extends LightningElement { + @api counter; + @api icon; + @api label; + @api color; + @api layout; + + renderedCallback() { + const text = this.template.querySelector(".sub-label"); + if (text) text.style.color = this.color; + const icon = this.template.querySelector(".icon"); + if (icon) { + icon.setAttribute( + "style", + `--lwc-colorTextIconDefault: ${this.color}; + --sds-c-icon-color-foreground-default: ${this.color}` + ); + } + } + + get noData() { + return !this.label; + } + + get mainContainerClass() { + return `main-container ${this.layout === "SIDE" ? "side" : "stack"}`; + } + + get counterDisplay() { + return this.counter.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); + } + + get displayPlus() { + return this.counter === 2000; + } +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.js-meta.xml b/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/subFilterSummaryComponent/subFilterSummaryComponent.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/BuildGraphQL.js b/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/BuildGraphQL.js new file mode 100644 index 0000000..e0ec4df --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/BuildGraphQL.js @@ -0,0 +1,580 @@ +export class DQM { + static cpx(s = "") { + console.log(`%c${s ?? ""}`, "background:#ffcc33;color:#000;"); + } + static get MaxNumOfTokens() { + return 26; + } //number of chars in ABC. + static get NumOfParsingIterations() { + return 20; + } + static charx(offset = 0) { + return String.fromCharCode("A".charCodeAt(0) + offset); + } + static sanitizex(s = "") { + return (s ?? "") + .replaceAll("and", "&") + .replaceAll("or", "|") + .replaceAll(" ", "") + .toLowerCase(); + } + + static calcDateFromToday(numOfDays) { + //retunrs yyyy-mm-dd + try { + numOfDays = parseInt(numOfDays, 10); + numOfDays = isNaN(numOfDays) ? 0 : numOfDays; + if (numOfDays === "NaN") numOfDays = 0; + const dt = new Date(); + dt.setDate(dt.getDate() + numOfDays); + let ret = dt.toISOString().slice(0, "yyyy-mm-dd".length); + return ret; + } catch (ex) { + let dx = new Date(); + dx.setDate(dx.getDate()); + return dx.toISOString().slice(0, "yyyy-mm-dd".length); + } + } + + static isoDayStart(yyyy_mm_dd) { + //2023-04-05T23:59:59.999Z + return yyyy_mm_dd + "T00:00:00.000Z"; + } + static isoDayEnd(yyyy_mm_dd) { + return yyyy_mm_dd + "T23:59:59.999Z"; + } + + static isValidToken(token = "") { + try { + let tokenx = token.slice(1, token.length - 1); //each token has brackets around it but none inside it + let is_and = tokenx.includes("&"); + let is_or = tokenx.includes("|"); + if (is_and && is_or) return false; + if (!is_and && !is_or) return true; + let op = is_and ? "&" : "|"; + let arx = tokenx.split(op); + if (arx.pop() === "") return false; //happens if op is last char if tokenx or if tokenx is empty + return true; + } catch (ex) { + DQM.cpx("isValidToken() ex: " + ex.message); + return false; + } + } + + static valueFormatter(idx, value, field_type, is_like = false) { + try { + if (typeof value == "undefined" || typeof field_type == "undefined") { + DQM.cpx(`valueFormatter(${idx}) - invalid input 01`); + return ""; + } + + value = typeof value == "string" ? value.trim() : value; + field_type = field_type.trim(); + if (value === undefined || field_type === undefined) { + DQM.cpx( + `valueFormatter(${idx}) - invalid input 02 - value=[${value}] field_type=[${field_type}] ` + ); + return undefined; + } + + field_type = field_type.toLowerCase(); + let is_add_quotes = + [ + "string", + "picklist", + "combobox", + "date", + "datetime", + "phone", + "email", + "url", + "address", + "text" + ].includes(field_type) || is_like; + let valuex = is_like ? `%${value}%` : value; + valuex = is_add_quotes ? `"${valuex}"` : valuex; + if (field_type === "datetime") { + const isoString = new Date(value).toISOString(); + valuex = `{value:"${isoString}"}`; + } else if (field_type === "date") { + valuex = `{value:${valuex}}`; + } + return valuex; + } catch (ex) { + DQM.cpx( + `valueFormatter(${idx}) ex: ${ex.message} value=[${value}] field_type=[${field_type}] ` + ); + return ""; + } + } + + static singleTokenParser(obx) { + try { + const regExp = /\(([^()]+)\)/g; + let tmp = obx.phrase.match(regExp); + if (!tmp || obx.is_done) { + obx.is_done = true; + return; + } + [...tmp].forEach((token) => { + if (obx.counter >= DQM.MaxNumOfTokens) { + //the obx.dic is from A to Z. which should be more than enough. + obx.error_msg = "Invalid expression."; + obx.error_code = "101"; + obx.is_done = true; + return; + } + + if (!DQM.isValidToken(token)) { + obx.error_msg = "Invalid expression."; + obx.error_code = "102"; + obx.is_done = true; + return; + } + + let qry_obj = DQM.gqlConverter(token.slice(1, token.length - 1)); + if (qry_obj.error_msg) { + obx.error_msg = qry_obj.error_msg; + obx.error_code = qry_obj.error_code; + obx.is_done = true; + return; + } + let tag = DQM.charx(obx.counter++); + obx.dic[tag] = qry_obj.qry; + obx.phrase = obx.phrase.replace(token, tag); + }); + } catch (ex) { + DQM.cpx("singleTokenParser() ex: " + ex.message); + obx.error_msg = ex.message; + obx.error_code = "110"; + obx.is_done = true; + } + } + + static gqlConverter(s = "") { + //failure if ret.error_msg is not empty. success otherwise. + let ret = { qry: "", error_msg: "", error_code: "" }; + try { + let is_and = s.includes("&"); + let is_or = s.includes("|"); + if (is_and && is_or) { + ret.error_msg = "invalid expression."; + ret.error_code = "201"; + return ret; + } + if (!is_and && !is_or) { + ret.qry = s; + return ret; + } //nothing to do. no operators in the string. + let op = is_and ? "&" : "|"; + let list = s.replaceAll("&", ",").replaceAll("|", ","); + ret.qry = `{${op}:[${list}]}`; + return ret; + } catch (ex) { + DQM.cpx("gqlConverter() ex: " + ex.message); + ret.error_msg = ex.message; + ret.error_code = "202"; + return ret; + } + } + + static assembleQuery(obx, ret, main_filter) { + try { + // eslint-disable-next-line guard-for-in + for (const propx in obx.dic) { + let arx = obx.dic[propx].match(/[A-Z]/g); + if (!arx) continue; + arx.forEach((tag) => { + obx.dic[propx] = obx.dic[propx].replace(tag, obx.dic[tag]); + }); + } + + let finalx = obx.dic[DQM.charx(obx.counter - 1)]; //the last one + // eslint-disable-next-line no-useless-escape + if (/^[1-9&|(){}\[\],:]*$/.test(finalx) !== true) { + ret.error_msg = "Invalid expression."; + ret.error_code = "301"; + ret.is_success = false; + return; + } + if (/\d{2}/.test(finalx)) { + //there should not be 2 or more digits in a row. elements are 1,2,...9 at most + ret.error_msg = "Invalid expression."; + ret.error_code = "302 (Filter numbers must be from 1 to 9)"; + ret.is_success = false; + return; + } + finalx = finalx.replaceAll("&", "and").replaceAll("|", "or"); + + let all_digits_in_final_phrase = finalx.replace(/\D/g, ""); + let max_allowed_digit = main_filter.length; + for (let i = max_allowed_digit + 1; i <= 9; i++) { + if (all_digits_in_final_phrase.includes(i.toString())) { + ret.error_msg = "Invalid expression."; + ret.error_code = "303 (Filter numbers with no matching filter)"; + ret.is_success = false; + return; + } + } + + //at this point we have a valid gql phrase with numbers that should be replaced with expressions from main_filter + for (let i = 1; i <= max_allowed_digit; i++) { + finalx = finalx.replaceAll(i.toString(), `<>`); + } + + for (let i = 1; i <= max_allowed_digit; i++) { + let filter = main_filter[i - 1]; + + //let valuex = DQM.valueFormatter(filter?.value, filter?.fieldType, filter?.operator?.toLowerCase().trim() == 'like'); + //let expx = `{${filter.field}:{${filter.operator}: ${valuex}}}`; + + finalx = finalx.replaceAll( + `<>`, + DQM.expression_maker(filter) + ); + } + ret.final_phrase = finalx; + ret.is_success = true; + } catch (ex) { + DQM.cpx("assembleQuery() ex: " + ex.message); + ret.error_msg = ex.message; + ret.error_code = "309"; + ret.is_success = false; + } + } + + static initialPhraseValidation(phrase = "") { + try { + let s = DQM.sanitizex(phrase); + if (!s || s.includes("&&") || s.includes("||") || s.includes("()")) + return "031"; + let num_of_left_bracket = s.split("(").length - 1; + let num_of_right_bracket = s.split(")").length - 1; + if (num_of_left_bracket !== num_of_right_bracket) return "032"; + return true; + } catch (ex) { + DQM.cpx("initialPhraseValidation() ex: " + ex.message); + return "033"; + } + } + + static gqlCustomPhraseMaker(phrasex, main_filter) { + let phrase = (phrasex ?? "").toLowerCase(); + let ret = { + original_phrase: phrase, + final_phrase: "", + is_success: false, + error_msg: "", + error_code: "" + }; + try { + let valx = DQM.initialPhraseValidation(phrase); //return value === true if valid, error code otherwise + if (valx !== true) { + ret.error_msg = "Invalid custom expression"; + ret.error_code = valx; + return ret; + } + + let obx = { + counter: 0, + phrase: DQM.sanitizex(phrase), + dic: {}, + is_done: false, + error_msg: "", + error_code: "" + }; + + for (let i = 0; i < DQM.NumOfParsingIterations; i++) { + //20 iterations should be more than enough + DQM.singleTokenParser(obx); + if (obx.is_done || obx.error_msg) break; + } + + if (obx.error_msg) { + ret.error_msg = "Custom: " + obx.error_msg; + ret.error_code = "401"; + return ret; + } + if (!obx.is_done) { + ret.error_msg = "Custom: invalid expression."; + ret.error_code = "402"; + return ret; + } + let latest_qry = DQM.gqlConverter(obx.phrase); + if (latest_qry.error_msg) { + ret.error_msg = "Custom: " + latest_qry.error_msg; + ret.error_code = latest_qry.error_code; + } else { + obx.dic[DQM.charx(obx.counter++)] = latest_qry.qry; + DQM.assembleQuery(obx, ret, main_filter); + } + return ret; + } catch (ex) { + DQM.cpx("gqlCustomPhraseMaker() ex: " + ex.message); + ret.error_msg = ex.message; + ret.error_code = "409"; + return ret; + } + } + + static isValidDataObject(obj) { + //todo: add tests + return !!obj; + } + + static relativeDateFilterMaker_IsoStyle(operator, filter) { + try { + let valuex; + if (operator === "today") { + valuex = DQM.calcDateFromToday(0); + let startx = DQM.isoDayStart(valuex); + let endx = DQM.isoDayEnd(valuex); + let ret = `{and: [ + {${filter.field}: {gte: {value: "${startx}"}}}, + {${filter.field}: {lte: {value: "${endx}"}}} + ]}`; + return ret; + } + + if (operator === "last" || operator === "next") { + valuex = DQM.calcDateFromToday(0); + + if (operator === "last") { + //including today + valuex = DQM.isoDayEnd(valuex); + } else { + //next - including today + valuex = DQM.isoDayStart(valuex); + } + + let opx = operator === "last" ? "lte" : "gte"; + let f1 = `{${filter.field}:{${opx}:{value:"${valuex}"}}}`; + + let dirx = operator === "last" ? -1 : 1; + let num_of_days = + dirx * + filter.quantity * + (filter.unit === "month" ? 30 : 1) * + (filter.unit === "week" ? 7 : 1); + valuex = DQM.calcDateFromToday(num_of_days); + + opx = operator === "last" ? "gte" : "lte"; + if (operator === "last") { + //including today + valuex = DQM.isoDayStart(valuex); + } else { + //next - including today + valuex = DQM.isoDayEnd(valuex); + } + let f2 = `{${filter.field}:{${opx}:{value:"${valuex}"}}}`; + + return `{and: [${f1}, ${f2}]}`; + } + + DQM.cpx("relativeDateFilterMaker_IsoStyle() - not supported yet"); + return null; + } catch (ex) { + DQM.cpx("relativeDateFilterMaker_IsoStyle() - ex: " + ex.message); + return null; + } + } + + static relativeDateFilterMaker(operator, filter) { + try { + let valuex; + + if (filter.fieldType.toLowerCase() === "datetime") { + return DQM.relativeDateFilterMaker_IsoStyle(operator, filter); + } + + if (operator === "today") { + valuex = `"${DQM.calcDateFromToday(0)}"`; + return `{${filter.field}:{eq:{value:${valuex}}}}`; + } + if (operator === "last" || operator === "next") { + valuex = `"${DQM.calcDateFromToday(0)}"`; + let opx = operator === "last" ? "lte" : "gte"; + let f1 = `{${filter.field}:{${opx}:{value:${valuex}}}}`; + + let dirx = operator === "last" ? -1 : 1; + let num_of_days = + dirx * + filter.quantity * + (filter.unit === "month" ? 30 : 1) * + (filter.unit === "week" ? 7 : 1); + valuex = `"${DQM.calcDateFromToday(num_of_days)}"`; + + opx = operator === "last" ? "gte" : "lte"; + let f2 = `{${filter.field}:{${opx}:{value:${valuex}}}}`; + + return `{and: [${f1}, ${f2}]}`; + } + DQM.cpx("relativeDateFilterMaker() - invalid input"); + return null; //should not happen + } catch (ex) { + DQM.cpx("relativeDateFilterMaker() - ex: " + ex.message); + return null; + } + } + + static mainFilterExpressionMaker(obj) { + try { + let omni_main_filter = `{Id: {ne: "000000000000000000"}}`; + let main_filter_logic = + obj?.node?.Main_Filter_Logic__c?.value?.toLowerCase().trim() ?? ""; + let main_filter_array = JSON.parse(obj?.node?.Main_Filter__c?.value); + if ( + !main_filter_logic || + !main_filter_array || + !Array.isArray(main_filter_array) || + main_filter_array.length < 1 || + !["and", "or", "custom"].includes(main_filter_logic) + ) { + return omni_main_filter; + } + + if (main_filter_logic === "custom") { + let phrase = obj?.node?.Custom_Logic__c?.value ?? ""; + let oQry = DQM.gqlCustomPhraseMaker(phrase, main_filter_array); + if (!oQry.is_success) { + DQM.cpx( + `${oQry.error_msg} - custom phrase:[${phrase}] - Error ${oQry.error_code}` + ); + return omni_main_filter; + } + return oQry.final_phrase; + } + + let filters = ""; + // eslint-disable-next-line consistent-return + main_filter_array.forEach((filter) => { + let operator = filter?.operator?.toLowerCase().trim(); + if (!operator) return ""; //should not happen + if (["today", "last", "next"].includes(operator)) { + filters += DQM.relativeDateFilterMaker(operator, filter); + } else { + let valuex = DQM.valueFormatter( + 1, + filter?.value, + filter?.fieldType, + operator === "like" + ); + filters += `{${filter.field}:{${operator}:${valuex}}},`; + } + }); + let main_exp = `{ ${main_filter_logic}: [${filters}] }`; + return main_exp; + } catch (ex) { + DQM.cpx(`mainFilterExpressionMaker() ex: ${ex.message}`); + return ""; + } + } + + static expression_maker(filter) { + try { + let filterx; + if (!filter?.field || !filter?.operator || !filter?.value) return ""; + let operator = filter?.operator?.toLowerCase().trim(); + if (!operator) return []; //should not happen + + if (["today", "last", "next"].includes(operator)) { + filterx = DQM.relativeDateFilterMaker(operator, filter); + } else { + let valuex = DQM.valueFormatter( + 2, + filter?.value, + filter?.fieldType, + operator === "like" + ); + filterx = `{${filter.field}: {${filter.operator}: ${valuex}}}`; + } + return filterx; + } catch (ex) { + DQM.cpx(`expression_maker() ex: ${ex.message}`); + return []; + } + } + + static subFilterExpressionsArrayMaker(obj) { + try { + let sub_filters_arr = JSON.parse(obj?.node?.Sub_Filters__c?.value); + let sub_filter_expressions_array = []; + // eslint-disable-next-line no-unused-vars + sub_filters_arr.forEach((filter, idx) => { + sub_filter_expressions_array.push(DQM.expression_maker(filter)); + }); + return sub_filter_expressions_array; + } catch (ex) { + DQM.cpx(`subFilterExpressionsArrayMaker() ex: ${ex.message}`); + return []; + } + } + + static subQueriesMaker( + obj, + main_filter_exp, + sub_filter_expressions_array, + is_mobile_qry + ) { + try { + let object_name = obj?.node?.Object_Name__c?.value; + if (!object_name) { + DQM.cpx("subQueriesMaker() - invalid object name."); + return ""; + } + let sub_filters_arr = JSON.parse(obj?.node?.Sub_Filters__c?.value); + let sub_qrys = ""; + let mobilex = is_mobile_qry ? '@category(name: "recordQuery")' : ""; + sub_filters_arr.forEach((filter, idx) => { + let wherex = main_filter_exp?.trim() ? `${main_filter_exp}, ` : ""; + let qry = `counter_${idx}: ${object_name}(where: {and: [${wherex}${sub_filter_expressions_array[idx]}] }, first: 2000) ${mobilex} {edges{node{Id}}}`; + sub_qrys += qry; + }); + return sub_qrys; + } catch (ex) { + DQM.cpx(`subQueriesMaker() ex: ${ex.message}`); + return ""; + } + } + + static queryAssembler(object_name, sub_qrys, main_filter_exp, is_mobile_qry) { + try { + let mobilex = is_mobile_qry ? '@category(name: "recordQuery")' : ""; + let wherex = main_filter_exp?.trim() ? `where: ${main_filter_exp}, ` : ""; + let main_qry = `counter_main: ${object_name}(${wherex}first: 2000) ${mobilex} {edges{node{Id}}}`; + let qry = `query ${object_name}{uiapi {query { + ${main_qry} + ${sub_qrys} + }}}`; + return qry; + } catch (ex) { + DQM.cpx(`queryAssembler() ex: ${ex.message}`); + return ""; + } + } + + static gqlQueryMaker(obj) { + try { + if (!DQM.isValidDataObject(obj)) return ""; + let main_filter_exp = DQM.mainFilterExpressionMaker(obj); + let sub_filter_expressions_array = + DQM.subFilterExpressionsArrayMaker(obj); + let sub_qrys = DQM.subQueriesMaker( + obj, + main_filter_exp, + sub_filter_expressions_array, + true /*obj.is_mobile_qry*/ + ); + let final_qry = DQM.queryAssembler( + obj.node.Object_Name__c.value, + sub_qrys, + main_filter_exp, + true /*obj.is_mobile_qry*/ + ); + return final_qry; + } catch (ex) { + DQM.cpx(`gqlQueryMaker() ex: ${ex.message}`); + return ""; + } + } +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/__tests__/summaryComponent.test.js b/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/__tests__/summaryComponent.test.js new file mode 100644 index 0000000..f67561c --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/__tests__/summaryComponent.test.js @@ -0,0 +1,139 @@ +import { createElement } from "lwc"; +import SummaryComponent from "c/summaryComponent"; + +let element; +describe("c-summary-component", () => { + beforeEach(() => { + element = createElement("c-summary-component", { + is: SummaryComponent + }); + }); + + afterEach(() => { + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("should show 2 sub-filter-sum-components", async () => { + element.settings = { + subQueriesData: [ + { + index: 0, + count: 1, + subFilter: { + key: "rwn1fa", + fieldDisplay: "Time Sheet End Date", + value: "", + unitDisplay: "days", + quantity: "14", + operatorDisplay: "last" + } + }, + { + index: 1, + count: 1, + subFilter: { + key: "131fdb", + fieldDisplay: "Time Sheet Start Date", + value: "", + unitDisplay: "weeks", + quantity: "1", + operatorDisplay: "last" + } + } + ] + }; + element.demoMode = "true"; + document.body.appendChild(element); + + return Promise.resolve().then(() => { + const subFilterSummaryComponents = element.shadowRoot.querySelectorAll( + "c-sub-filter-summary-component" + ); + expect(subFilterSummaryComponents).toHaveLength(2); + }); + }); + + it("should show correct title - 1", async () => { + element.settings = { + node: { + Id: "a0oRO0000005xCKYAY", + Object_Name__c: { + value: "ResourceAbsence" + }, + Title__c: { + value: "My Absences" + }, + Main_Filter__c: { + value: + '[{"key":"ken22n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATETIME","operator":"last","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"last"}, {"key":"ken23n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATETIME","operator":"last","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"last"}]' + }, + Main_Filter_Logic__c: { + value: "CUSTOM" + }, + Custom_Logic__c: { + value: "1 AND 2" + }, + Layout__c: { + value: "SIDE" + }, + Sub_Filters__c: { + value: + '[{"key":"7wtchc","field":"FSL__Approved__c","fieldDisplay":"Approved","fieldType":"BOOLEAN","operator":"eq","value":true,"unit":"","unitDisplay":"","quantity":"","label":"Approved","icon":"utility:success","color":"#2E844A","operatorDisplay":"="},{"key":"e7fjv2","field":"FSL__Approved__c","fieldDisplay":"Approved","fieldType":"BOOLEAN","operator":"eq","value":false,"unit":"","unitDisplay":"","quantity":"","label":"Not Approved","icon":"utility:error","color":"#B72020","operatorDisplay":"="}]' + }, + Order__c: { + value: 0 + } + } + }; + element.demoMode = "false"; + document.body.appendChild(element); + + return Promise.resolve().then(() => { + const title = element.shadowRoot.querySelector(".main-container>p"); + expect(title.textContent).toBe("My Absences (0)"); + }); + }); + + it("should show correct title - 2", async () => { + element.settings = { + node: { + Id: "a0oRO0000005xCKYAY", + Object_Name__c: { + value: "ResourceAbsence" + }, + Title__c: { + value: "The Absences" + }, + Main_Filter__c: { + value: + '[{"key":"ken22n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATE","operator":"today","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"last"}, {"key":"ken23n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATETIME","operator":"last","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"last"},{"key":"ken22n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATE","operator":"last","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"last"},{"key":"ken22n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATE","operator":"eq","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"="},{"key":"ken22n","field":"Start","fieldDisplay":"Start Time","fieldType":"DATE","operator":"next","value":"","unit":"month","unitDisplay":"months","quantity":"12","label":"","icon":"","color":"#747474","operatorDisplay":"next"}]' + }, + Main_Filter_Logic__c: { + value: "OR" + }, + Custom_Logic__c: { + value: "" + }, + Layout__c: { + value: "SIDE" + }, + Sub_Filters__c: { + value: + '[{"key":"e7fjv2","field":"FSL__Approved__c","fieldDisplay":"Approved","fieldType":"BOOLEAN","operator":"eq","value":false,"unit":"","unitDisplay":"","quantity":"","label":"Not Approved","icon":"utility:error","color":"#B72020","operatorDisplay":"="}]' + }, + Order__c: { + value: 0 + } + } + }; + element.demoMode = "false"; + document.body.appendChild(element); + + return Promise.resolve().then(() => { + const title = element.shadowRoot.querySelector(".main-container>p"); + expect(title.textContent).toBe("The Absences (0)"); + }); + }); +}); diff --git a/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.css b/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.css new file mode 100644 index 0000000..b437899 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.css @@ -0,0 +1,41 @@ +.main-container { + background-color: var(--slds-g-color-neutral-base-100, white); + margin-bottom: 16px; + border-radius: 12px; +} + +p { + font-size: 16px; + line-height: 22px; + font-weight: 600; + padding: 13px 12px 0px 12px; + color: var(--slds-g-color-neutral-base-10, #181818); +} + +.padding-non-empty-card { + padding-bottom: 8px; +} + +.sub-container { + display: flex; + padding: 0 12px 12px 4px; +} + +.sub-container-side { + flex-direction: row; + flex-wrap: wrap; +} + +.sub-container-stack { + flex-direction: column; +} + +c-sub-filter-summary-component { + flex: 1; + margin-left: 8px; + margin-top: 8px; +} + +.border { + border: 1px solid #c9c9c9; +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.html b/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.html new file mode 100644 index 0000000..51c72df --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.html @@ -0,0 +1,24 @@ + diff --git a/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.js b/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.js new file mode 100644 index 0000000..ad6d414 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.js @@ -0,0 +1,123 @@ +import { LightningElement, api, wire } from "lwc"; +import { gql, graphql, refreshGraphQL } from "lightning/uiGraphQLApi"; +import { DQM } from "./BuildGraphQL"; + +export default class SummaryComponent extends LightningElement { + @api settings; + @api demoMode; + + recordsCount = 0; + subQueriesData = []; + fullQuery = ""; + + queryResult; + refreshed = false; + + renderedCallback() { + if (this.isDemoMode) { + const subCounter = this.settings.subQueriesData.length; + this.recordsCount = subCounter === 0 ? 1 : subCounter; + this.subQueriesData = this.settings.subQueriesData; + } + } + + connectedCallback() { + if (!this.isDemoMode) { + this.fullQuery = this.buildQuery(); + } + } + + @wire(graphql, { + query: "$fullQuery" + }) + GetDbResults(result) { + this.queryResult = result; + const { data, errors } = result; + if (data) { + this.setRecordsAndSubQueries(data); + if (!this.refreshed) { + this.refreshed = true; + this.refreshGraphQL(); + } + } + if (errors) { + console.log(errors); + } + } + + buildQuery() { + return gql` + ${DQM.gqlQueryMaker(this.settings)} + `; + } + + getResults(data, queryName) { + return data?.uiapi?.query[queryName]?.edges?.length ?? 0; + } + + setRecordsAndSubQueries(data) { + this.recordsCount = this.getResults(data, "counter_main"); + for (let [i, subFilter] of this.subFilters.entries()) { + this.subQueriesData[i] = { + count: this.getResults(data, `counter_${i}`), + index: i, + label: subFilter.label, + icon: subFilter.icon, + color: subFilter.color + }; + } + this.subQueriesData = [...this.subQueriesData]; + } + + get subContainerClass() { + return `sub-container ${ + this.layout === "SIDE" ? "sub-container-side" : "sub-container-stack" + }`; + } + + get subFilters() { + return JSON.parse(this.settings?.node?.Sub_Filters__c.value ?? "[]"); + } + + get title() { + return this.isDemoMode + ? this.settings?.Title__c + : this.settings?.node?.Title__c.value; + } + + get layout() { + return this.isDemoMode + ? this.settings?.Layout__c + : this.settings?.node?.Layout__c.value; + } + + get isDemoMode() { + return this.demoMode === "true"; + } + + get recordsCountDisplay() { + return this.recordsCount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); + } + + get displayPlus() { + return this.recordsCount === 2000; + } + + get mainContainerClass() { + return `main-container ${this.isDemoMode ? "border" : ""}`; + } + + get isNonEmptyCard() { + return this.isDemoMode + ? !!this.settings.subQueriesData.length + : !!this.subFilters.length; + } + + get nonEmptyCardTitleClass() { + return this.isNonEmptyCard ? "padding-non-empty-card" : ""; + } + + @api async refreshGraphQL() { + return refreshGraphQL(this.queryResult); + } +} diff --git a/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.js-meta.xml b/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/lwc/summaryComponent/summaryComponent.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..f476bb2 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d191f3d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + ОТСТРАНИ + + + STACK + НАСЛАГВАНЕ + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..2d95bcf --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + И + + + OR + ИЛИ + + + CUSTOM + ПО ИЗБОР + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..e44ae72 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Mobile_Dashboard_Setting__c-bg.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Mobile_Dashboard_Setting__c-bg.objectTranslation-meta.xml similarity index 94% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Mobile_Dashboard_Setting__c-bg.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Mobile_Dashboard_Setting__c-bg.objectTranslation-meta.xml index 8961fa5..83c14f2 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Mobile_Dashboard_Setting__c-bg.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Mobile_Dashboard_Setting__c-bg.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Име на настройка на мобилно табло diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..6b21ea8 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0729a81 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..6104aad --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..17bd857 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-bg/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..b21c41e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..813843b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + VEDLE SEBE + + + STACK + NA SOBĚ + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..503748b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + A + + + OR + NEBO + + + CUSTOM + VLASTNÍ + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..baf8618 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Mobile_Dashboard_Setting__c-cs.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Mobile_Dashboard_Setting__c-cs.objectTranslation-meta.xml similarity index 98% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Mobile_Dashboard_Setting__c-cs.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Mobile_Dashboard_Setting__c-cs.objectTranslation-meta.xml index f79ac49..38f5015 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Mobile_Dashboard_Setting__c-cs.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Mobile_Dashboard_Setting__c-cs.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Název nastavení mobilní palubovky diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..b08681f --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..f125f7d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8bee1ac --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..a4fb739 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-cs/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..17153f5 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d5fd116 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SIDE + + + STACK + STABEL + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..077d82c --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + OG + + + OR + ELLER + + + CUSTOM + TILPASSET + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..bd3fc6b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Mobile_Dashboard_Setting__c-da.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Mobile_Dashboard_Setting__c-da.objectTranslation-meta.xml similarity index 96% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Mobile_Dashboard_Setting__c-da.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Mobile_Dashboard_Setting__c-da.objectTranslation-meta.xml index 3b072ab..da344e1 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Mobile_Dashboard_Setting__c-da.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Mobile_Dashboard_Setting__c-da.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Navn på indstilling for mobildashboard diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..360f5e0 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8706512 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..4a5fc31 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0bbe578 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-da/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d4a33b9 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..c130f94 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SEITE + + + STACK + STAPEL + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0549010 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + UND + + + OR + ODER + + + CUSTOM + BENUTZERDEFINIERT + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..b4554c6 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Mobile_Dashboard_Setting__c-de.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Mobile_Dashboard_Setting__c-de.objectTranslation-meta.xml similarity index 97% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Mobile_Dashboard_Setting__c-de.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Mobile_Dashboard_Setting__c-de.objectTranslation-meta.xml index 665cae1..b9604a7 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Mobile_Dashboard_Setting__c-de.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Mobile_Dashboard_Setting__c-de.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Name der Mobile-Dashboard-Einstellung diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..c88db97 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..a1dc11f --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..9859c00 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0bbe578 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-de/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..9f281f6 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..2845e97 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + ΠΑΡΑΘΕΣΗ + + + STACK + ΣΩΡΕΥΜΕΝΗ + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..ef7ddd6 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + ΠΡΟΣΑΡΜΟΓΗ + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..6fc281e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Mobile_Dashboard_Setting__c-el.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Mobile_Dashboard_Setting__c-el.objectTranslation-meta.xml similarity index 89% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Mobile_Dashboard_Setting__c-el.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Mobile_Dashboard_Setting__c-el.objectTranslation-meta.xml index 1c67540..072513c 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Mobile_Dashboard_Setting__c-el.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Mobile_Dashboard_Setting__c-el.objectTranslation-meta.xml @@ -1,6 +1,7 @@ - + - Όνομα ρύθμισης πίνακα εργαλείων για κινητές συσκευές + Όνομα ρύθμισης πίνακα εργαλείων για κινητές συσκευές Name diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..5e9a678 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..93d4ea6 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..cd4b437 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..2c5d83c --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-el/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..833d0fd --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..296e76e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SIDE + + + STACK + STACK + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d24763d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + CUSTOM + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..ea37995 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Mobile_Dashboard_Setting__c-en_GB.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Mobile_Dashboard_Setting__c-en_GB.objectTranslation-meta.xml similarity index 93% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Mobile_Dashboard_Setting__c-en_GB.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Mobile_Dashboard_Setting__c-en_GB.objectTranslation-meta.xml index daf5223..b2227d0 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Mobile_Dashboard_Setting__c-en_GB.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Mobile_Dashboard_Setting__c-en_GB.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Mobile Dashboard Setting Name diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..ada50ed --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7cfbb32 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d56aacf --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..c7fd19b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-en_GB/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8989d05 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..012f19c --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + LADO + + + STACK + PILA + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..af29d49 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + Y + + + OR + O + + + CUSTOM + PERSONALIZADO + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..47d5d47 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Mobile_Dashboard_Setting__c-es.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Mobile_Dashboard_Setting__c-es.objectTranslation-meta.xml similarity index 93% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Mobile_Dashboard_Setting__c-es.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Mobile_Dashboard_Setting__c-es.objectTranslation-meta.xml index ccaa0e3..1ee157e 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Mobile_Dashboard_Setting__c-es.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Mobile_Dashboard_Setting__c-es.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Nombre de parámetro de panel móvil diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..c8574e7 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8a11a17 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..02fd6c7 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..4facd68 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8989d05 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..012f19c --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + LADO + + + STACK + PILA + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..af29d49 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + Y + + + OR + O + + + CUSTOM + PERSONALIZADO + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..47d5d47 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Mobile_Dashboard_Setting__c-es_MX.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Mobile_Dashboard_Setting__c-es_MX.objectTranslation-meta.xml similarity index 93% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Mobile_Dashboard_Setting__c-es_MX.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Mobile_Dashboard_Setting__c-es_MX.objectTranslation-meta.xml index 0738527..00b6a71 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Mobile_Dashboard_Setting__c-es_MX.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Mobile_Dashboard_Setting__c-es_MX.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Nombre de parámetro de tablero móvil diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..c8574e7 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8a11a17 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..02fd6c7 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..4facd68 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-es_MX/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..f4e97bc --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..01eb07e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + VIEREKKÄIN + + + STACK + PINO + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..f1d8c55 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + JA + + + OR + TAI + + + CUSTOM + MUKAUTETTU + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7b4999c --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Mobile_Dashboard_Setting__c-fi.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Mobile_Dashboard_Setting__c-fi.objectTranslation-meta.xml similarity index 99% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Mobile_Dashboard_Setting__c-fi.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Mobile_Dashboard_Setting__c-fi.objectTranslation-meta.xml index ec06d34..929902b 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Mobile_Dashboard_Setting__c-fi.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Mobile_Dashboard_Setting__c-fi.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Mobiilimittariston asetuksen nimi diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7b8c9dd --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..e66fabb --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8df4afa --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..70e1937 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fi/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..9efebd6 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d0720c9 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + CÔTÉ + + + STACK + EMPILÉ + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..2edbae0 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + PERSONNALISÉE + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7241767 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Mobile_Dashboard_Setting__c-fr.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Mobile_Dashboard_Setting__c-fr.objectTranslation-meta.xml similarity index 94% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Mobile_Dashboard_Setting__c-fr.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Mobile_Dashboard_Setting__c-fr.objectTranslation-meta.xml index 068028f..9e2bfee 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Mobile_Dashboard_Setting__c-fr.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Mobile_Dashboard_Setting__c-fr.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Nom du paramètre du tableau de bord mobile diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..2369e3c --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..04864b5 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..aae89e2 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..5145590 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-fr/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..5371549 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..75d73d1 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + STRANA + + + STACK + GRUPA + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0333640 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + I + + + OR + ILI + + + CUSTOM + PRILAGOĐENO + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..948b87b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Mobile_Dashboard_Setting__c-hr.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Mobile_Dashboard_Setting__c-hr.objectTranslation-meta.xml similarity index 98% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Mobile_Dashboard_Setting__c-hr.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Mobile_Dashboard_Setting__c-hr.objectTranslation-meta.xml index 2ba9517..514279a 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Mobile_Dashboard_Setting__c-hr.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Mobile_Dashboard_Setting__c-hr.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Naziv postavke nadzorne ploče za mobitele diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..786130f --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..e01b871 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..a494dac --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..51cec6d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hr/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..f23c8d2 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..f079ff6 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + EGYMÁS MELLETT + + + STACK + EGYMÁS ALATT + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..80d4eb4 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + ÉS + + + OR + VAGY + + + CUSTOM + EGYÉNI + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..4d336d9 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Mobile_Dashboard_Setting__c-hu.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Mobile_Dashboard_Setting__c-hu.objectTranslation-meta.xml similarity index 99% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Mobile_Dashboard_Setting__c-hu.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Mobile_Dashboard_Setting__c-hu.objectTranslation-meta.xml index 52f542b..c17492d 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Mobile_Dashboard_Setting__c-hu.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Mobile_Dashboard_Setting__c-hu.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Mobilműszerfal-beállításnév diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..a451463 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..83a071e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..c272887 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..ff8da05 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-hu/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..b6fc148 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..04e67ea --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SISI + + + STACK + TUMPUK + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7377ca2 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + UBAHSUAI + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..6381ef0 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Mobile_Dashboard_Setting__c-in.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Mobile_Dashboard_Setting__c-in.objectTranslation-meta.xml similarity index 92% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Mobile_Dashboard_Setting__c-in.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Mobile_Dashboard_Setting__c-in.objectTranslation-meta.xml index b22a82b..e6255a7 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Mobile_Dashboard_Setting__c-in.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Mobile_Dashboard_Setting__c-in.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Nama Pengaturan Dasbor Ponsel diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..ab13fed --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..1de3108 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..a667322 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..6bf205b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-in/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d574468 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d64a452 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + AFFIANCATO + + + STACK + IN PILA + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..e9f3a1a --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + PERSONALIZZATA + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d62d6e7 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Mobile_Dashboard_Setting__c-it.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Mobile_Dashboard_Setting__c-it.objectTranslation-meta.xml similarity index 94% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Mobile_Dashboard_Setting__c-it.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Mobile_Dashboard_Setting__c-it.objectTranslation-meta.xml index 5311c11..9aeaf8f 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Mobile_Dashboard_Setting__c-it.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Mobile_Dashboard_Setting__c-it.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Nome impostazione cruscotto digitale mobile diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..f78f799 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..b1db08d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..43933fc --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..04dd442 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-it/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..6da9caf --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..680c053 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + צד + + + STACK + ערימה + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..293a97f --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + וגם + + + OR + או + + + CUSTOM + מותאם אישית + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..492f2fe --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Mobile_Dashboard_Setting__c-iw.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Mobile_Dashboard_Setting__c-iw.objectTranslation-meta.xml similarity index 96% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Mobile_Dashboard_Setting__c-iw.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Mobile_Dashboard_Setting__c-iw.objectTranslation-meta.xml index 9c69538..824765b 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Mobile_Dashboard_Setting__c-iw.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Mobile_Dashboard_Setting__c-iw.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + שם הגדרת לוח מחוונים בנייד diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..b205ad3 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8d499a2 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..4ee2a8d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..77e8ae7 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-iw/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..5943ea5 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7369ec5 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + 横並び + + + STACK + 積み重ね + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..deb70f9 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + カスタム + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..2b70d2b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Mobile_Dashboard_Setting__c-ja.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Mobile_Dashboard_Setting__c-ja.objectTranslation-meta.xml similarity index 91% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Mobile_Dashboard_Setting__c-ja.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Mobile_Dashboard_Setting__c-ja.objectTranslation-meta.xml index a63a1a2..a27bdb4 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Mobile_Dashboard_Setting__c-ja.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Mobile_Dashboard_Setting__c-ja.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + モバイルダッシュボードの設定名 diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..462fca7 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..b02571e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..75a5265 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..eb5bc7c --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ja/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..e6b419e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..15ce0c2 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SIDE + + + STACK + STACK + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..6d17dae --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + CUSTOM + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..3e6627b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Mobile_Dashboard_Setting__c-ko.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Mobile_Dashboard_Setting__c-ko.objectTranslation-meta.xml similarity index 91% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Mobile_Dashboard_Setting__c-ko.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Mobile_Dashboard_Setting__c-ko.objectTranslation-meta.xml index f872784..5296e12 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Mobile_Dashboard_Setting__c-ko.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Mobile_Dashboard_Setting__c-ko.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + 모바일 대시보드 설정 이름 diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..cb3334a --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..25435ba --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..898ec32 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..bcf4739 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ko/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..fcf5826 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d8146c3 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SIDE (naast elkaar) + + + STACK + STACK (gestapeld) + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..5fe258d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND (en) + + + OR + OR (of) + + + CUSTOM + CUSTOM (aangepast) + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7cf9fdf --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Mobile_Dashboard_Setting__c-nl_NL.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Mobile_Dashboard_Setting__c-nl_NL.objectTranslation-meta.xml similarity index 93% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Mobile_Dashboard_Setting__c-nl_NL.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Mobile_Dashboard_Setting__c-nl_NL.objectTranslation-meta.xml index 9b65781..339b132 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Mobile_Dashboard_Setting__c-nl_NL.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Mobile_Dashboard_Setting__c-nl_NL.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Naam van instelling voor mobiel dashboard diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..bb1cb88 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..ee5254a --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7cfd3b9 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0bbe578 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-nl_NL/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..6eff408 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..bbb9928 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SIDE + + + STACK + STABLE + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..2c35e68 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + TILPASSET + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..bd3fc6b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Mobile_Dashboard_Setting__c-no.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Mobile_Dashboard_Setting__c-no.objectTranslation-meta.xml similarity index 97% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Mobile_Dashboard_Setting__c-no.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Mobile_Dashboard_Setting__c-no.objectTranslation-meta.xml index 410b4f0..9bd5e62 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Mobile_Dashboard_Setting__c-no.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Mobile_Dashboard_Setting__c-no.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Navn på kontrollpanelinnstilling for mobil diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..360f5e0 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..27c1cd7 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..79af6c0 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..b206c74 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-no/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..2e58afe --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..805b1f1 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + OBOK + + + STACK + STOS + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7c60f6d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + ORAZ + + + OR + LUB + + + CUSTOM + NIESTANDARDOWY + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..41434fc --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Mobile_Dashboard_Setting__c-pl.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Mobile_Dashboard_Setting__c-pl.objectTranslation-meta.xml similarity index 94% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Mobile_Dashboard_Setting__c-pl.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Mobile_Dashboard_Setting__c-pl.objectTranslation-meta.xml index f6c46ef..2a9344e 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Mobile_Dashboard_Setting__c-pl.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Mobile_Dashboard_Setting__c-pl.objectTranslation-meta.xml @@ -1,6 +1,7 @@ - + - Nazwa ustawienia pulpitu dla urządzeń przenośnych + Nazwa ustawienia pulpitu dla urządzeń przenośnych Name diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7033ef8 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..307373e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..9afdaee --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7856a53 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pl/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8989d05 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..e3e7adf --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + LADO + + + STACK + PILHA + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..a25f6d1 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + E + + + OR + OU + + + CUSTOM + PERSONALIZADO + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..47d5d47 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Mobile_Dashboard_Setting__c-pt_BR.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Mobile_Dashboard_Setting__c-pt_BR.objectTranslation-meta.xml similarity index 93% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Mobile_Dashboard_Setting__c-pt_BR.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Mobile_Dashboard_Setting__c-pt_BR.objectTranslation-meta.xml index ed6f0ed..c83d9f2 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Mobile_Dashboard_Setting__c-pt_BR.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Mobile_Dashboard_Setting__c-pt_BR.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Nome da configuração do painel do celular diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0e8d989 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..9d490d9 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..02fd6c7 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..4facd68 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_BR/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8989d05 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..f982c8f --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SIDE + + + STACK + STACK + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8893186 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + CUSTOM + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..47d5d47 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Mobile_Dashboard_Setting__c-pt_PT.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Mobile_Dashboard_Setting__c-pt_PT.objectTranslation-meta.xml similarity index 93% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Mobile_Dashboard_Setting__c-pt_PT.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Mobile_Dashboard_Setting__c-pt_PT.objectTranslation-meta.xml index 37d90ca..af4de28 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Mobile_Dashboard_Setting__c-pt_PT.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Mobile_Dashboard_Setting__c-pt_PT.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Nome da definição do painel móvel diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0e8d989 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..6b1d199 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..02fd6c7 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..4facd68 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-pt_PT/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..546a74e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..beb13e7 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SECVENȚIAL + + + STACK + SUPRAPUS + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..de025ff --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + ȘI + + + OR + SAU + + + CUSTOM + PERSONALIZAT + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..63c87c4 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Mobile_Dashboard_Setting__c-ro.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Mobile_Dashboard_Setting__c-ro.objectTranslation-meta.xml similarity index 97% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Mobile_Dashboard_Setting__c-ro.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Mobile_Dashboard_Setting__c-ro.objectTranslation-meta.xml index 7e18563..8d9d159 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Mobile_Dashboard_Setting__c-ro.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Mobile_Dashboard_Setting__c-ro.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Nume setare tablou de bord mobil diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..3327197 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..b1db08d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0697cde --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7acb897 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ro/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0255acf --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0ab8220 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SIDE + + + STACK + STACK + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..9972ab3 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + CUSTOM + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..59e8aed --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Mobile_Dashboard_Setting__c-ru.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Mobile_Dashboard_Setting__c-ru.objectTranslation-meta.xml similarity index 94% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Mobile_Dashboard_Setting__c-ru.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Mobile_Dashboard_Setting__c-ru.objectTranslation-meta.xml index f03c5f4..23488d7 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Mobile_Dashboard_Setting__c-ru.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Mobile_Dashboard_Setting__c-ru.objectTranslation-meta.xml @@ -1,6 +1,7 @@ - + - Название параметра мобильной панели мониторинга + Название параметра мобильной панели мониторинга Name diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d4c5b46 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..020fc00 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..228fd48 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..5dd7cea --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-ru/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d570fd4 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..3312c57 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + VEDĽA SEBA + + + STACK + NAD SEBOU + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d741deb --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + VLASTNÉ + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..5279f4a --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Mobile_Dashboard_Setting__c-sk.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Mobile_Dashboard_Setting__c-sk.objectTranslation-meta.xml similarity index 94% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Mobile_Dashboard_Setting__c-sk.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Mobile_Dashboard_Setting__c-sk.objectTranslation-meta.xml index 6cf9399..cdfe1f9 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Mobile_Dashboard_Setting__c-sk.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Mobile_Dashboard_Setting__c-sk.objectTranslation-meta.xml @@ -1,6 +1,7 @@ - + - Názov nastavenia mobilného ovládacieho panela + Názov nastavenia mobilného ovládacieho panela Name diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..2e6ba76 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..961f4e1 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..230bd6a --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..c2fa702 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sk/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..66884d9 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..ba6483c --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + STRAN + + + STACK + SKLAD + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..318d434 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + IN + + + OR + ALI + + + CUSTOM + PO MERI + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..ac0955c --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Mobile_Dashboard_Setting__c-sl.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Mobile_Dashboard_Setting__c-sl.objectTranslation-meta.xml similarity index 94% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Mobile_Dashboard_Setting__c-sl.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Mobile_Dashboard_Setting__c-sl.objectTranslation-meta.xml index 3b7abb7..6fee7e6 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Mobile_Dashboard_Setting__c-sl.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Mobile_Dashboard_Setting__c-sl.objectTranslation-meta.xml @@ -1,6 +1,7 @@ - + - Ime nastavitve nadzorne plošče za mobilne naprave + Ime nastavitve nadzorne plošče za mobilne naprave Name diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8c4068d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..c9ae0f7 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..769dcc4 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..51cec6d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sl/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..b3a84c0 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8353ba9 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SIDA + + + STACK + STAPEL + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..2b2def8 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + OCH + + + OR + ELLER + + + CUSTOM + EGEN + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..9b600da --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Mobile_Dashboard_Setting__c-sv.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Mobile_Dashboard_Setting__c-sv.objectTranslation-meta.xml similarity index 97% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Mobile_Dashboard_Setting__c-sv.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Mobile_Dashboard_Setting__c-sv.objectTranslation-meta.xml index 4fa17cd..40e2b24 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Mobile_Dashboard_Setting__c-sv.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Mobile_Dashboard_Setting__c-sv.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Inställningsnamn för mobil instrumentpanel diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..bb48412 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..7cfbb32 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..dbecf25 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0bbe578 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-sv/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..93d4fa9 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..97a26ca --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SIDE + + + STACK + STACK + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..a46ab9a --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + CUSTOM + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..4b93952 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Mobile_Dashboard_Setting__c-th.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Mobile_Dashboard_Setting__c-th.objectTranslation-meta.xml similarity index 92% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Mobile_Dashboard_Setting__c-th.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Mobile_Dashboard_Setting__c-th.objectTranslation-meta.xml index 12aeddf..ee39683 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Mobile_Dashboard_Setting__c-th.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Mobile_Dashboard_Setting__c-th.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + ชื่อการตั้งค่าแดชบอร์ด Mobile diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..dfb6536 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..cc24381 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..925bb52 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..f5b60cf --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-th/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..598331c --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..c0ba880 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + YAN YANA + + + STACK + İSTİF + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8339c18 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + VE + + + OR + VEYA + + + CUSTOM + ÖZEL + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..a30f438 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Mobile_Dashboard_Setting__c-tr.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Mobile_Dashboard_Setting__c-tr.objectTranslation-meta.xml similarity index 99% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Mobile_Dashboard_Setting__c-tr.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Mobile_Dashboard_Setting__c-tr.objectTranslation-meta.xml index f20c199..7ed9b89 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Mobile_Dashboard_Setting__c-tr.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Mobile_Dashboard_Setting__c-tr.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Mobil Panel Ayar Adı diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8d4b3f1 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..90d9ea2 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..6e9af1f --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..ddc71b2 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-tr/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..3edd0fb --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..41726c9 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + БІЧНА + + + STACK + СКЛАДЕНА + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0a6325d --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + ТА + + + OR + АБО + + + CUSTOM + НАЛАШТОВАНА + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..cbcd396 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Mobile_Dashboard_Setting__c-uk.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Mobile_Dashboard_Setting__c-uk.objectTranslation-meta.xml similarity index 98% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Mobile_Dashboard_Setting__c-uk.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Mobile_Dashboard_Setting__c-uk.objectTranslation-meta.xml index a9f93ae..654ff14 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Mobile_Dashboard_Setting__c-uk.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Mobile_Dashboard_Setting__c-uk.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Назва параметра мобільної приладної дошки diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..28dba39 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..ccd6345 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..f9d756a --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..5dd7cea --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-uk/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..9157ac5 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8e2d785 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + CẠNH NHAU + + + STACK + XẾP CHỒNG + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0304577 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + TÙY CHỈNH + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..bde6848 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Mobile_Dashboard_Setting__c-vi.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Mobile_Dashboard_Setting__c-vi.objectTranslation-meta.xml similarity index 92% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Mobile_Dashboard_Setting__c-vi.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Mobile_Dashboard_Setting__c-vi.objectTranslation-meta.xml index ccee562..cef3ec8 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Mobile_Dashboard_Setting__c-vi.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Mobile_Dashboard_Setting__c-vi.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + Tên Cài Đặt Bảng Điều Khiển Di Động diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..eb67573 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0c19a3f --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d9cdccb --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0e5a7c9 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-vi/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..4d5f49b --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..81fc912 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + 侧面 + + + STACK + 堆栈 + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..d7ff0c8 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + + + + OR + + + + CUSTOM + 自定义 + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..273cc8f --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Mobile_Dashboard_Setting__c-zh_CN.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Mobile_Dashboard_Setting__c-zh_CN.objectTranslation-meta.xml similarity index 90% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Mobile_Dashboard_Setting__c-zh_CN.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Mobile_Dashboard_Setting__c-zh_CN.objectTranslation-meta.xml index d8aed48..7d6799c 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Mobile_Dashboard_Setting__c-zh_CN.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Mobile_Dashboard_Setting__c-zh_CN.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + 移动仪表板设置名称 diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..fcbcb60 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..53f8c86 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..3ecc45f --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..2839e17 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_CN/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Custom_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Custom_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..8475d72 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Custom_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Custom_Logic__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Layout__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Layout__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..80634ba --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Layout__c.fieldTranslation-meta.xml @@ -0,0 +1,13 @@ + + + Layout__c + + + SIDE + SIDE + + + STACK + STACK + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Main_Filter_Logic__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Main_Filter_Logic__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..a7a07b2 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Main_Filter_Logic__c.fieldTranslation-meta.xml @@ -0,0 +1,17 @@ + + + Main_Filter_Logic__c + + + AND + AND + + + OR + OR + + + CUSTOM + CUSTOM + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Main_Filter__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Main_Filter__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..9bddf49 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Main_Filter__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Main_Filter__c + + diff --git a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Mobile_Dashboard_Setting__c-zh_TW.objectTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Mobile_Dashboard_Setting__c-zh_TW.objectTranslation-meta.xml similarity index 91% rename from MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Mobile_Dashboard_Setting__c-zh_TW.objectTranslation-meta.xml rename to projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Mobile_Dashboard_Setting__c-zh_TW.objectTranslation-meta.xml index f51212d..f58ddae 100644 --- a/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Mobile_Dashboard_Setting__c-zh_TW.objectTranslation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Mobile_Dashboard_Setting__c-zh_TW.objectTranslation-meta.xml @@ -1,4 +1,4 @@ - + 行動顯示面板設定名稱 diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Object_Name__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Object_Name__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..b51b607 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Object_Name__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Object_Name__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Order__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Order__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..b02571e --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Order__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Order__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Sub_Filters__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Sub_Filters__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..0f737f3 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Sub_Filters__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Sub_Filters__c + + diff --git a/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Title__c.fieldTranslation-meta.xml b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Title__c.fieldTranslation-meta.xml new file mode 100644 index 0000000..cc8c359 --- /dev/null +++ b/projects/MobileDashboard/force-app/main/default/objectTranslations/Mobile_Dashboard_Setting__c-zh_TW/Title__c.fieldTranslation-meta.xml @@ -0,0 +1,5 @@ + + + Title__c + + diff --git a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/Mobile_Dashboard_Setting__c.object-meta.xml b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/Mobile_Dashboard_Setting__c.object-meta.xml similarity index 98% rename from MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/Mobile_Dashboard_Setting__c.object-meta.xml rename to projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/Mobile_Dashboard_Setting__c.object-meta.xml index fd1959b..15a6298 100644 --- a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/Mobile_Dashboard_Setting__c.object-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/Mobile_Dashboard_Setting__c.object-meta.xml @@ -1,4 +1,4 @@ - + Accept @@ -159,7 +159,7 @@ Text Mobile Dashboard Settings - + ReadWrite Public diff --git a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Custom_Logic__c.field-meta.xml b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Custom_Logic__c.field-meta.xml similarity index 89% rename from MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Custom_Logic__c.field-meta.xml rename to projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Custom_Logic__c.field-meta.xml index 2240923..2ac42af 100644 --- a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Custom_Logic__c.field-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Custom_Logic__c.field-meta.xml @@ -1,4 +1,4 @@ - + Custom_Logic__c false diff --git a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Layout__c.field-meta.xml b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Layout__c.field-meta.xml similarity index 94% rename from MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Layout__c.field-meta.xml rename to projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Layout__c.field-meta.xml index 9888917..c3d22ee 100644 --- a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Layout__c.field-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Layout__c.field-meta.xml @@ -1,4 +1,4 @@ - + Layout__c false diff --git a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Main_Filter_Logic__c.field-meta.xml b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Main_Filter_Logic__c.field-meta.xml similarity index 95% rename from MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Main_Filter_Logic__c.field-meta.xml rename to projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Main_Filter_Logic__c.field-meta.xml index 9132bf7..08fb2de 100644 --- a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Main_Filter_Logic__c.field-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Main_Filter_Logic__c.field-meta.xml @@ -1,4 +1,4 @@ - + Main_Filter_Logic__c false diff --git a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Main_Filter__c.field-meta.xml b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Main_Filter__c.field-meta.xml similarity index 88% rename from MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Main_Filter__c.field-meta.xml rename to projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Main_Filter__c.field-meta.xml index ec2aa37..cc045e7 100644 --- a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Main_Filter__c.field-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Main_Filter__c.field-meta.xml @@ -1,4 +1,4 @@ - + Main_Filter__c false diff --git a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Object_Name__c.field-meta.xml b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Object_Name__c.field-meta.xml similarity index 89% rename from MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Object_Name__c.field-meta.xml rename to projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Object_Name__c.field-meta.xml index fc0ec04..48e954d 100644 --- a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Object_Name__c.field-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Object_Name__c.field-meta.xml @@ -1,4 +1,4 @@ - + Object_Name__c false diff --git a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Order__c.field-meta.xml b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Order__c.field-meta.xml similarity index 89% rename from MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Order__c.field-meta.xml rename to projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Order__c.field-meta.xml index fd947bc..035f31a 100644 --- a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Order__c.field-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Order__c.field-meta.xml @@ -1,4 +1,4 @@ - + Order__c false diff --git a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Sub_Filters__c.field-meta.xml b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Sub_Filters__c.field-meta.xml similarity index 88% rename from MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Sub_Filters__c.field-meta.xml rename to projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Sub_Filters__c.field-meta.xml index 0a07d53..4a0c174 100644 --- a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Sub_Filters__c.field-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Sub_Filters__c.field-meta.xml @@ -1,4 +1,4 @@ - + Sub_Filters__c false diff --git a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Title__c.field-meta.xml b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Title__c.field-meta.xml similarity index 88% rename from MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Title__c.field-meta.xml rename to projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Title__c.field-meta.xml index 9b5dd0e..ed02956 100644 --- a/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Title__c.field-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/objects/Mobile_Dashboard_Setting__c/fields/Title__c.field-meta.xml @@ -1,4 +1,4 @@ - + Title__c false diff --git a/MobileDashboard/force-app/main/default/staticresources/side_example.resource-meta.xml b/projects/MobileDashboard/force-app/main/default/staticresources/side_example.resource-meta.xml similarity index 100% rename from MobileDashboard/force-app/main/default/staticresources/side_example.resource-meta.xml rename to projects/MobileDashboard/force-app/main/default/staticresources/side_example.resource-meta.xml diff --git a/MobileDashboard/force-app/main/default/staticresources/side_example.svg b/projects/MobileDashboard/force-app/main/default/staticresources/side_example.svg similarity index 100% rename from MobileDashboard/force-app/main/default/staticresources/side_example.svg rename to projects/MobileDashboard/force-app/main/default/staticresources/side_example.svg diff --git a/MobileDashboard/force-app/main/default/staticresources/stack_example.resource-meta.xml b/projects/MobileDashboard/force-app/main/default/staticresources/stack_example.resource-meta.xml similarity index 100% rename from MobileDashboard/force-app/main/default/staticresources/stack_example.resource-meta.xml rename to projects/MobileDashboard/force-app/main/default/staticresources/stack_example.resource-meta.xml diff --git a/MobileDashboard/force-app/main/default/staticresources/stack_example.svg b/projects/MobileDashboard/force-app/main/default/staticresources/stack_example.svg similarity index 100% rename from MobileDashboard/force-app/main/default/staticresources/stack_example.svg rename to projects/MobileDashboard/force-app/main/default/staticresources/stack_example.svg diff --git a/MobileDashboard/force-app/main/default/tabs/Mobile_Dashboard_Settings.tab-meta.xml b/projects/MobileDashboard/force-app/main/default/tabs/Mobile_Dashboard_Settings.tab-meta.xml similarity index 86% rename from MobileDashboard/force-app/main/default/tabs/Mobile_Dashboard_Settings.tab-meta.xml rename to projects/MobileDashboard/force-app/main/default/tabs/Mobile_Dashboard_Settings.tab-meta.xml index ae91cb4..0ec411b 100644 --- a/MobileDashboard/force-app/main/default/tabs/Mobile_Dashboard_Settings.tab-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/tabs/Mobile_Dashboard_Settings.tab-meta.xml @@ -1,4 +1,4 @@ - + dashboardSettingsMain diff --git a/MobileDashboard/force-app/main/default/translations/bg.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/bg.translation-meta.xml similarity index 88% rename from MobileDashboard/force-app/main/default/translations/bg.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/bg.translation-meta.xml index 5a1c6a4..c98e8cf 100644 --- a/MobileDashboard/force-app/main/default/translations/bg.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/bg.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -382,7 +390,8 @@ MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card @@ -390,7 +399,8 @@ MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +416,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/cs.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/cs.translation-meta.xml similarity index 90% rename from MobileDashboard/force-app/main/default/translations/cs.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/cs.translation-meta.xml index 5b8f7c0..46e3657 100644 --- a/MobileDashboard/force-app/main/default/translations/cs.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/cs.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -382,15 +390,18 @@ MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card - + MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +417,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/da.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/da.translation-meta.xml similarity index 92% rename from MobileDashboard/force-app/main/default/translations/da.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/da.translation-meta.xml index ed2a7c6..9fa807a 100644 --- a/MobileDashboard/force-app/main/default/translations/da.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/da.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,7 +141,8 @@ - MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_side_description @@ -145,7 +150,8 @@ - MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_layout_stack_description @@ -170,7 +176,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -406,7 +413,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/de.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/de.translation-meta.xml similarity index 88% rename from MobileDashboard/force-app/main/default/translations/de.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/de.translation-meta.xml index 9ff40eb..48a9309 100644 --- a/MobileDashboard/force-app/main/default/translations/de.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/de.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -374,23 +383,28 @@ MobileDashboard_settings_delete_sub_filter_warning_body - + MobileDashboard_settings_error_add_card - + MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card - + MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +420,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/el.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/el.translation-meta.xml similarity index 83% rename from MobileDashboard/force-app/main/default/translations/el.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/el.translation-meta.xml index 0060227..3341e67 100644 --- a/MobileDashboard/force-app/main/default/translations/el.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/el.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -366,7 +375,8 @@ MobileDashboard_settings_delete_card_warning_body - + MobileDashboard_settings_delete_sub_filter_warning_title @@ -374,23 +384,28 @@ MobileDashboard_settings_delete_sub_filter_warning_body - + MobileDashboard_settings_error_add_card - + MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card - + MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +421,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/en_GB.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/en_GB.translation-meta.xml similarity index 93% rename from MobileDashboard/force-app/main/default/translations/en_GB.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/en_GB.translation-meta.xml index 2e111f6..d161f9c 100644 --- a/MobileDashboard/force-app/main/default/translations/en_GB.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/en_GB.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,7 +141,8 @@ - MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_side_description @@ -145,8 +150,10 @@ - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -406,7 +413,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/es.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/es.translation-meta.xml similarity index 88% rename from MobileDashboard/force-app/main/default/translations/es.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/es.translation-meta.xml index 83c9c83..d2682f3 100644 --- a/MobileDashboard/force-app/main/default/translations/es.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/es.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -374,23 +383,28 @@ MobileDashboard_settings_delete_sub_filter_warning_body - + MobileDashboard_settings_error_add_card - + MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card - + MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +420,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/es_MX.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/es_MX.translation-meta.xml similarity index 88% rename from MobileDashboard/force-app/main/default/translations/es_MX.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/es_MX.translation-meta.xml index c9b3682..a572596 100644 --- a/MobileDashboard/force-app/main/default/translations/es_MX.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/es_MX.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -374,23 +383,28 @@ MobileDashboard_settings_delete_sub_filter_warning_body - + MobileDashboard_settings_error_add_card - + MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card - + MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +420,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/fi.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/fi.translation-meta.xml similarity index 91% rename from MobileDashboard/force-app/main/default/translations/fi.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/fi.translation-meta.xml index 9fec00e..415ef8d 100644 --- a/MobileDashboard/force-app/main/default/translations/fi.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/fi.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -382,7 +391,8 @@ MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card @@ -406,7 +416,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/fr.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/fr.translation-meta.xml similarity index 89% rename from MobileDashboard/force-app/main/default/translations/fr.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/fr.translation-meta.xml index a8ddbfa..693759a 100644 --- a/MobileDashboard/force-app/main/default/translations/fr.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/fr.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -378,19 +387,23 @@ MobileDashboard_settings_error_add_card - + MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card - + MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +419,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/hr.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/hr.translation-meta.xml similarity index 91% rename from MobileDashboard/force-app/main/default/translations/hr.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/hr.translation-meta.xml index 3596621..adc46ee 100644 --- a/MobileDashboard/force-app/main/default/translations/hr.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/hr.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -382,7 +390,8 @@ MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card @@ -390,7 +399,8 @@ MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +416,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/hu.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/hu.translation-meta.xml similarity index 91% rename from MobileDashboard/force-app/main/default/translations/hu.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/hu.translation-meta.xml index eda4af5..cc0452c 100644 --- a/MobileDashboard/force-app/main/default/translations/hu.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/hu.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -406,7 +415,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/in.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/in.translation-meta.xml similarity index 90% rename from MobileDashboard/force-app/main/default/translations/in.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/in.translation-meta.xml index 0e6c455..d700c6e 100644 --- a/MobileDashboard/force-app/main/default/translations/in.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/in.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -374,7 +383,8 @@ MobileDashboard_settings_delete_sub_filter_warning_body - + MobileDashboard_settings_error_add_card @@ -382,7 +392,8 @@ MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card @@ -406,7 +417,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/it.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/it.translation-meta.xml similarity index 90% rename from MobileDashboard/force-app/main/default/translations/it.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/it.translation-meta.xml index 82eaa30..1489f22 100644 --- a/MobileDashboard/force-app/main/default/translations/it.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/it.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -366,7 +375,8 @@ MobileDashboard_settings_delete_card_warning_body - + MobileDashboard_settings_delete_sub_filter_warning_title @@ -374,7 +384,8 @@ MobileDashboard_settings_delete_sub_filter_warning_body - + MobileDashboard_settings_error_add_card @@ -406,7 +417,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/iw.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/iw.translation-meta.xml similarity index 93% rename from MobileDashboard/force-app/main/default/translations/iw.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/iw.translation-meta.xml index 1f2900f..8838b57 100644 --- a/MobileDashboard/force-app/main/default/translations/iw.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/iw.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -121,8 +122,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,7 +140,8 @@ - MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_side_description @@ -145,7 +149,8 @@ - MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_layout_stack_description @@ -406,7 +411,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/ja.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/ja.translation-meta.xml similarity index 89% rename from MobileDashboard/force-app/main/default/translations/ja.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/ja.translation-meta.xml index 8553e3d..dceed4a 100644 --- a/MobileDashboard/force-app/main/default/translations/ja.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/ja.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,7 +141,8 @@ - MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_side_description @@ -145,8 +150,10 @@ - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -378,7 +385,8 @@ MobileDashboard_settings_error_add_card - + MobileDashboard_settings_error_save_card @@ -386,11 +394,13 @@ MobileDashboard_settings_error_delete_card - + MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +416,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/ko.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/ko.translation-meta.xml similarity index 92% rename from MobileDashboard/force-app/main/default/translations/ko.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/ko.translation-meta.xml index f921c1c..3b3042a 100644 --- a/MobileDashboard/force-app/main/default/translations/ko.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/ko.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -121,8 +122,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,7 +140,8 @@ - MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_side_description @@ -145,8 +149,10 @@ - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -382,7 +388,8 @@ MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card @@ -406,7 +413,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/nl_NL.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/nl_NL.translation-meta.xml similarity index 89% rename from MobileDashboard/force-app/main/default/translations/nl_NL.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/nl_NL.translation-meta.xml index 32d91f6..c126d80 100644 --- a/MobileDashboard/force-app/main/default/translations/nl_NL.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/nl_NL.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -378,19 +387,23 @@ MobileDashboard_settings_error_add_card - + MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card - + MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +419,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/no.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/no.translation-meta.xml similarity index 92% rename from MobileDashboard/force-app/main/default/translations/no.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/no.translation-meta.xml index c57cfef..7fa0552 100644 --- a/MobileDashboard/force-app/main/default/translations/no.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/no.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,7 +141,8 @@ - MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_side_description @@ -145,7 +150,8 @@ - MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_layout_stack_description @@ -170,7 +176,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -406,7 +413,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/pl.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/pl.translation-meta.xml similarity index 90% rename from MobileDashboard/force-app/main/default/translations/pl.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/pl.translation-meta.xml index 8fe3aeb..ae47d2f 100644 --- a/MobileDashboard/force-app/main/default/translations/pl.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/pl.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -382,7 +391,8 @@ MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card @@ -390,7 +400,8 @@ MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +417,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/pt_BR.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/pt_BR.translation-meta.xml similarity index 89% rename from MobileDashboard/force-app/main/default/translations/pt_BR.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/pt_BR.translation-meta.xml index 5a206c0..1953207 100644 --- a/MobileDashboard/force-app/main/default/translations/pt_BR.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/pt_BR.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -378,19 +387,23 @@ MobileDashboard_settings_error_add_card - + MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card - + MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +419,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/pt_PT.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/pt_PT.translation-meta.xml similarity index 89% rename from MobileDashboard/force-app/main/default/translations/pt_PT.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/pt_PT.translation-meta.xml index 077aafa..66917cb 100644 --- a/MobileDashboard/force-app/main/default/translations/pt_PT.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/pt_PT.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -378,19 +387,23 @@ MobileDashboard_settings_error_add_card - + MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card - + MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +419,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/ro.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/ro.translation-meta.xml similarity index 88% rename from MobileDashboard/force-app/main/default/translations/ro.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/ro.translation-meta.xml index 0add50d..9b4bd24 100644 --- a/MobileDashboard/force-app/main/default/translations/ro.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/ro.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -374,23 +383,28 @@ MobileDashboard_settings_delete_sub_filter_warning_body - + MobileDashboard_settings_error_add_card - + MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card - + MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +420,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/ru.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/ru.translation-meta.xml similarity index 89% rename from MobileDashboard/force-app/main/default/translations/ru.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/ru.translation-meta.xml index 1f80861..901d17f 100644 --- a/MobileDashboard/force-app/main/default/translations/ru.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/ru.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -406,7 +414,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/sk.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/sk.translation-meta.xml similarity index 91% rename from MobileDashboard/force-app/main/default/translations/sk.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/sk.translation-meta.xml index 255086a..86fc94d 100644 --- a/MobileDashboard/force-app/main/default/translations/sk.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/sk.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -374,7 +383,8 @@ MobileDashboard_settings_delete_sub_filter_warning_body - + MobileDashboard_settings_error_add_card @@ -406,7 +416,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/sl.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/sl.translation-meta.xml similarity index 90% rename from MobileDashboard/force-app/main/default/translations/sl.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/sl.translation-meta.xml index e97019c..83bab47 100644 --- a/MobileDashboard/force-app/main/default/translations/sl.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/sl.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -374,7 +382,8 @@ MobileDashboard_settings_delete_sub_filter_warning_body - + MobileDashboard_settings_error_add_card @@ -382,15 +391,18 @@ MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card - + MobileDashboard_settings_error_duplicate_card - + MobileDashboard_card_object_field @@ -406,7 +418,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/sv.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/sv.translation-meta.xml similarity index 92% rename from MobileDashboard/force-app/main/default/translations/sv.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/sv.translation-meta.xml index acdd510..dff0682 100644 --- a/MobileDashboard/force-app/main/default/translations/sv.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/sv.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -406,7 +414,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/th.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/th.translation-meta.xml similarity index 90% rename from MobileDashboard/force-app/main/default/translations/th.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/th.translation-meta.xml index 0ac5dcd..24bb9f9 100644 --- a/MobileDashboard/force-app/main/default/translations/th.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/th.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -121,8 +122,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,7 +140,8 @@ - MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_side_description @@ -145,7 +149,8 @@ - MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_layout_stack_description @@ -382,7 +387,8 @@ MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card @@ -406,7 +412,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/tr.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/tr.translation-meta.xml similarity index 92% rename from MobileDashboard/force-app/main/default/translations/tr.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/tr.translation-meta.xml index c0b4927..2767f9e 100644 --- a/MobileDashboard/force-app/main/default/translations/tr.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/tr.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,7 +141,8 @@ - MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_side_description @@ -145,7 +150,8 @@ - MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_layout_stack_description @@ -382,7 +388,8 @@ MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card @@ -406,7 +413,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/uk.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/uk.translation-meta.xml similarity index 89% rename from MobileDashboard/force-app/main/default/translations/uk.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/uk.translation-meta.xml index e7ba666..ff69683 100644 --- a/MobileDashboard/force-app/main/default/translations/uk.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/uk.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -406,7 +415,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/vi.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/vi.translation-meta.xml similarity index 89% rename from MobileDashboard/force-app/main/default/translations/vi.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/vi.translation-meta.xml index b2c93cc..fdba850 100644 --- a/MobileDashboard/force-app/main/default/translations/vi.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/vi.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -86,7 +87,8 @@ MobileDashboard_card_modal_details_filter_field_infobubble - + MobileDashboard_card_modal_details_filter_logic_and @@ -121,8 +123,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,16 +141,20 @@ - MobileDashboard_card_modal_design_tab_layout_side_description - + MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_stack_title - MobileDashboard_card_modal_design_tab_layout_stack_description - + MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_card_data_title @@ -170,7 +178,8 @@ MobileDashboard_sub_filter_color_field_infobubble - + MobileDashboard_sub_filter_options @@ -382,7 +391,8 @@ MobileDashboard_settings_error_save_card - + MobileDashboard_settings_error_delete_card @@ -406,7 +416,8 @@ MobileDashboard_preview_title_infobubble - + MobileDashboard_settings_duplicate_button diff --git a/MobileDashboard/force-app/main/default/translations/zh_CN.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/zh_CN.translation-meta.xml similarity index 95% rename from MobileDashboard/force-app/main/default/translations/zh_CN.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/zh_CN.translation-meta.xml index 655433f..7ede5aa 100644 --- a/MobileDashboard/force-app/main/default/translations/zh_CN.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/zh_CN.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -121,8 +122,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,7 +140,8 @@ - MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_side_description @@ -145,7 +149,8 @@ - MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_layout_stack_description diff --git a/MobileDashboard/force-app/main/default/translations/zh_TW.translation-meta.xml b/projects/MobileDashboard/force-app/main/default/translations/zh_TW.translation-meta.xml similarity index 95% rename from MobileDashboard/force-app/main/default/translations/zh_TW.translation-meta.xml rename to projects/MobileDashboard/force-app/main/default/translations/zh_TW.translation-meta.xml index 6241d2f..7404504 100644 --- a/MobileDashboard/force-app/main/default/translations/zh_TW.translation-meta.xml +++ b/projects/MobileDashboard/force-app/main/default/translations/zh_TW.translation-meta.xml @@ -1,4 +1,4 @@ - + MobileDashboard_settings_header @@ -10,7 +10,8 @@ MobileDashboard_settings_description - + MobileDashboard_settings_add_card_button @@ -121,8 +122,10 @@ - MobileDashboard_card_modal_details_custom_logic_field_infobubble - + MobileDashboard_card_modal_details_custom_logic_field_infobubble + MobileDashboard_card_modal_design_tab_name @@ -137,7 +140,8 @@ - MobileDashboard_card_modal_design_tab_layout_side_description + MobileDashboard_card_modal_design_tab_layout_side_description @@ -145,7 +149,8 @@ - MobileDashboard_card_modal_design_tab_layout_stack_description + MobileDashboard_card_modal_design_tab_layout_stack_description diff --git a/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modal.js b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modal.js new file mode 100644 index 0000000..a2eabbe --- /dev/null +++ b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modal.js @@ -0,0 +1,5 @@ +import { LightningElement, api } from "lwc"; + +export default class LightningModal extends LightningElement { + @api close; +} diff --git a/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalBody.html b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalBody.html new file mode 100644 index 0000000..572af9d --- /dev/null +++ b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalBody.html @@ -0,0 +1 @@ + diff --git a/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalBody.js b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalBody.js new file mode 100644 index 0000000..b820da7 --- /dev/null +++ b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalBody.js @@ -0,0 +1,3 @@ +import { LightningElement } from "lwc"; + +export default class ModalBody extends LightningElement {} diff --git a/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalFooter.html b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalFooter.html new file mode 100644 index 0000000..572af9d --- /dev/null +++ b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalFooter.html @@ -0,0 +1 @@ + diff --git a/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalFooter.js b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalFooter.js new file mode 100644 index 0000000..31663a7 --- /dev/null +++ b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalFooter.js @@ -0,0 +1,3 @@ +import { LightningElement } from "lwc"; + +export default class ModalFooter extends LightningElement {} diff --git a/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalHeader.html b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalHeader.html new file mode 100644 index 0000000..572af9d --- /dev/null +++ b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalHeader.html @@ -0,0 +1 @@ + diff --git a/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalHeader.js b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalHeader.js new file mode 100644 index 0000000..4616b71 --- /dev/null +++ b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/modalHeader.js @@ -0,0 +1,5 @@ +import { LightningElement, api } from "lwc"; + +export default class ModalHeader extends LightningElement { + @api label; +} diff --git a/projects/MobileDashboard/force-app/test/jest-mocks/lightning/uiGraphQLApi.js b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/uiGraphQLApi.js new file mode 100644 index 0000000..eb4e350 --- /dev/null +++ b/projects/MobileDashboard/force-app/test/jest-mocks/lightning/uiGraphQLApi.js @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2023, salesforce.com, inc. + * All rights reserved. + * SPDX-License-Identifier: MIT + * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT + */ +import { createTestWireAdapter } from "@salesforce/wire-service-jest-util"; + +export class graphql extends createTestWireAdapter() { + static emit(value, filterFn) { + super.emit({ data: value, errors: undefined }, filterFn); + } + + static emitErrors(errors, filterFn) { + super.emit({ data: undefined, errors }, filterFn); + } + + constructor(dataCallback) { + super(dataCallback); + + graphql.emit({ data: undefined, errors: undefined }); + } +} + +export const gql = jest.fn(); +export const refreshGraphQL = jest.fn(); diff --git a/projects/MobileDashboard/jest.config.js b/projects/MobileDashboard/jest.config.js new file mode 100644 index 0000000..0a5775d --- /dev/null +++ b/projects/MobileDashboard/jest.config.js @@ -0,0 +1,17 @@ +const { jestConfig } = require("@salesforce/sfdx-lwc-jest/config"); + +module.exports = { + ...jestConfig, + modulePathIgnorePatterns: ["/.localdevserver"], + moduleNameMapper: { + "^lightning/modal$": "/force-app/test/jest-mocks/lightning/modal", + "^lightning/modalBody$": + "/force-app/test/jest-mocks/lightning/modalBody", + "^lightning/modalFooter$": + "/force-app/test/jest-mocks/lightning/modalFooter", + "^lightning/modalHeader$": + "/force-app/test/jest-mocks/lightning/modalHeader", + "^lightning/uiGraphQLApi$": + "/force-app/test/jest-mocks/lightning/uiGraphQLApi" + } +}; diff --git a/projects/MobileDashboard/package.json b/projects/MobileDashboard/package.json new file mode 100644 index 0000000..73d5bb2 --- /dev/null +++ b/projects/MobileDashboard/package.json @@ -0,0 +1,29 @@ +{ + "name": "mobile-dashboard", + "private": true, + "version": "1.0.0", + "description": "Mobile Dashboard", + "scripts": { + "lint": "eslint **/lwc/**", + "test": "npm run test:unit", + "test:unit": "sfdx-lwc-jest", + "test:unit:watch": "sfdx-lwc-jest --watch", + "test:unit:debug": "sfdx-lwc-jest --debug", + "test:unit:coverage": "sfdx-lwc-jest --coverage", + "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", + "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"" + }, + "devDependencies": { + "@lwc/eslint-plugin-lwc": "^1.7.0", + "@prettier/plugin-xml": "^3.2.2", + "@salesforce/eslint-config-lwc": "^3.5.2", + "@salesforce/eslint-plugin-aura": "^2.1.0", + "@salesforce/eslint-plugin-lightning": "^1.0.0", + "@salesforce/sfdx-lwc-jest": "^3.1.0", + "eslint": "^8.55.0", + "eslint-plugin-import": "^2.29.0", + "eslint-plugin-jest": "^27.6.0", + "prettier": "^3.1.1", + "prettier-plugin-apex": "^2.0.1" + } +} diff --git a/projects/MobileDashboard/sfdx-project.json b/projects/MobileDashboard/sfdx-project.json new file mode 100644 index 0000000..fb8746a --- /dev/null +++ b/projects/MobileDashboard/sfdx-project.json @@ -0,0 +1,21 @@ +{ + "packageDirectories": [ + { + "path": "force-app", + "package": "Mobile Dashboard for Field Service Mobile", + "versionName": "Summer '24", + "versionNumber": "244.0.0.NEXT", + "default": true, + "versionDescription": "" + } + ], + "name": "Mobile Dashboard for Field Service Mobile", + "namespace": "", + "sfdcLoginUrl": "https://login.salesforce.com/", + "sourceApiVersion": "59.0", + "packageAliases": { + "Mobile Dashboard for Field Service Mobile": "0HoB00000008PtKKAU", + "Mobile Dashboard for Field Service Mobile@1.0.0-2": "04tB0000000h4nQIAQ", + "Mobile Dashboard for Field Service Mobile@1.1.0-1": "04tB0000000h4wAIAQ" + } +} diff --git a/ServiceDocumentSamples/.eslintignore b/projects/NameAndSignatureCapture/.eslintignore similarity index 100% rename from ServiceDocumentSamples/.eslintignore rename to projects/NameAndSignatureCapture/.eslintignore diff --git a/NameAndSignatureCapture/.forceignore b/projects/NameAndSignatureCapture/.forceignore similarity index 100% rename from NameAndSignatureCapture/.forceignore rename to projects/NameAndSignatureCapture/.forceignore diff --git a/NameAndSignatureCapture/.gitignore b/projects/NameAndSignatureCapture/.gitignore similarity index 100% rename from NameAndSignatureCapture/.gitignore rename to projects/NameAndSignatureCapture/.gitignore diff --git a/projects/NameAndSignatureCapture/.prettierignore b/projects/NameAndSignatureCapture/.prettierignore new file mode 100755 index 0000000..26253eb --- /dev/null +++ b/projects/NameAndSignatureCapture/.prettierignore @@ -0,0 +1,12 @@ +# List files or directories below to ignore them when running prettier +# More information: https://prettier.io/docs/en/ignore.html +# + +**/staticresources/** +.localdevserver +.sfdx +.vscode + +coverage/ + +**/*.js-meta.xml \ No newline at end of file diff --git a/projects/NameAndSignatureCapture/.prettierrc b/projects/NameAndSignatureCapture/.prettierrc new file mode 100755 index 0000000..03da7ba --- /dev/null +++ b/projects/NameAndSignatureCapture/.prettierrc @@ -0,0 +1,14 @@ +{ + "trailingComma": "none", + "plugins": ["@prettier/plugin-xml", "prettier-plugin-apex"], + "overrides": [ + { + "files": "**/lwc/**/*.html", + "options": { "parser": "lwc" } + }, + { + "files": "*.{cmp,page,component}", + "options": { "parser": "html" } + } + ] +} diff --git a/NameAndSignatureCapture/README.md b/projects/NameAndSignatureCapture/README.md similarity index 100% rename from NameAndSignatureCapture/README.md rename to projects/NameAndSignatureCapture/README.md diff --git a/NameAndSignatureCapture/config/project-scratch-def.json b/projects/NameAndSignatureCapture/config/project-scratch-def.json similarity index 100% rename from NameAndSignatureCapture/config/project-scratch-def.json rename to projects/NameAndSignatureCapture/config/project-scratch-def.json diff --git a/projects/NameAndSignatureCapture/force-app/main/default/lwc/.eslintrc.json b/projects/NameAndSignatureCapture/force-app/main/default/lwc/.eslintrc.json new file mode 100644 index 0000000..a82e76d --- /dev/null +++ b/projects/NameAndSignatureCapture/force-app/main/default/lwc/.eslintrc.json @@ -0,0 +1,14 @@ +{ + "extends": ["@salesforce/eslint-config-lwc/recommended"], + "overrides": [ + { + "files": ["*.test.js"], + "rules": { + "@lwc/lwc/no-unexpected-wire-adapter-usages": "off" + }, + "env": { + "node": true + } + } + ] +} diff --git a/NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.css b/projects/NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.css similarity index 100% rename from NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.css rename to projects/NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.css diff --git a/NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.html b/projects/NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.html similarity index 100% rename from NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.html rename to projects/NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.html diff --git a/NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.js b/projects/NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.js similarity index 100% rename from NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.js rename to projects/NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.js diff --git a/NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.js-meta.xml b/projects/NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.js-meta.xml similarity index 100% rename from NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.js-meta.xml rename to projects/NameAndSignatureCapture/force-app/main/default/lwc/signatureDemo/signatureDemo.js-meta.xml diff --git a/NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.css b/projects/NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.css similarity index 100% rename from NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.css rename to projects/NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.css diff --git a/NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.html b/projects/NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.html similarity index 100% rename from NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.html rename to projects/NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.html diff --git a/NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.js b/projects/NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.js similarity index 100% rename from NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.js rename to projects/NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.js diff --git a/NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.js-meta.xml b/projects/NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.js-meta.xml similarity index 100% rename from NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.js-meta.xml rename to projects/NameAndSignatureCapture/force-app/main/default/lwc/signaturePad/signaturePad.js-meta.xml diff --git a/RescheduleAppointments/jest.config.js b/projects/NameAndSignatureCapture/jest.config.js similarity index 100% rename from RescheduleAppointments/jest.config.js rename to projects/NameAndSignatureCapture/jest.config.js diff --git a/projects/NameAndSignatureCapture/package.json b/projects/NameAndSignatureCapture/package.json new file mode 100644 index 0000000..71d142d --- /dev/null +++ b/projects/NameAndSignatureCapture/package.json @@ -0,0 +1,24 @@ +{ + "name": "name-and-signature-capture", + "private": true, + "version": "1.0.0", + "description": "Name and Signature Capture", + "scripts": { + "lint": "eslint **/lwc/**", + "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", + "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"" + }, + "devDependencies": { + "@lwc/eslint-plugin-lwc": "^1.7.0", + "@prettier/plugin-xml": "^3.2.2", + "@salesforce/eslint-config-lwc": "^3.5.2", + "@salesforce/eslint-plugin-aura": "^2.1.0", + "@salesforce/eslint-plugin-lightning": "^1.0.0", + "@salesforce/sfdx-lwc-jest": "^3.1.0", + "eslint": "^8.55.0", + "eslint-plugin-import": "^2.29.0", + "eslint-plugin-jest": "^27.6.0", + "prettier": "^3.1.1", + "prettier-plugin-apex": "^2.0.1" + } +} diff --git a/projects/NameAndSignatureCapture/sfdx-project.json b/projects/NameAndSignatureCapture/sfdx-project.json new file mode 100644 index 0000000..3c961e3 --- /dev/null +++ b/projects/NameAndSignatureCapture/sfdx-project.json @@ -0,0 +1,12 @@ +{ + "packageDirectories": [ + { + "path": "force-app", + "default": true + } + ], + "name": "NameAndSignatureCapture", + "namespace": "", + "sfdcLoginUrl": "https://login.salesforce.com", + "sourceApiVersion": "59.0" +} diff --git a/projects/RescheduleAppointments/.eslintignore b/projects/RescheduleAppointments/.eslintignore new file mode 100644 index 0000000..5f7b681 --- /dev/null +++ b/projects/RescheduleAppointments/.eslintignore @@ -0,0 +1,16 @@ +**/lwc/**/*.css +**/lwc/**/*.html +**/lwc/**/*.json +**/lwc/**/*.svg +**/lwc/**/*.xml +**/aura/**/*.auradoc +**/aura/**/*.cmp +**/aura/**/*.css +**/aura/**/*.design +**/aura/**/*.evt +**/aura/**/*.json +**/aura/**/*.svg +**/aura/**/*.tokens +**/aura/**/*.xml +**/aura/**/*.app +.sfdx diff --git a/RescheduleAppointments/.forceignore b/projects/RescheduleAppointments/.forceignore similarity index 100% rename from RescheduleAppointments/.forceignore rename to projects/RescheduleAppointments/.forceignore diff --git a/RescheduleAppointments/.gitignore b/projects/RescheduleAppointments/.gitignore similarity index 100% rename from RescheduleAppointments/.gitignore rename to projects/RescheduleAppointments/.gitignore diff --git a/projects/RescheduleAppointments/.prettierignore b/projects/RescheduleAppointments/.prettierignore new file mode 100755 index 0000000..26253eb --- /dev/null +++ b/projects/RescheduleAppointments/.prettierignore @@ -0,0 +1,12 @@ +# List files or directories below to ignore them when running prettier +# More information: https://prettier.io/docs/en/ignore.html +# + +**/staticresources/** +.localdevserver +.sfdx +.vscode + +coverage/ + +**/*.js-meta.xml \ No newline at end of file diff --git a/projects/RescheduleAppointments/.prettierrc b/projects/RescheduleAppointments/.prettierrc new file mode 100755 index 0000000..03da7ba --- /dev/null +++ b/projects/RescheduleAppointments/.prettierrc @@ -0,0 +1,14 @@ +{ + "trailingComma": "none", + "plugins": ["@prettier/plugin-xml", "prettier-plugin-apex"], + "overrides": [ + { + "files": "**/lwc/**/*.html", + "options": { "parser": "lwc" } + }, + { + "files": "*.{cmp,page,component}", + "options": { "parser": "html" } + } + ] +} diff --git a/RescheduleAppointments/README.md b/projects/RescheduleAppointments/README.md similarity index 100% rename from RescheduleAppointments/README.md rename to projects/RescheduleAppointments/README.md diff --git a/RescheduleAppointments/force-app/main/default/classes/AppointmentController.cls b/projects/RescheduleAppointments/force-app/main/default/classes/AppointmentController.cls similarity index 100% rename from RescheduleAppointments/force-app/main/default/classes/AppointmentController.cls rename to projects/RescheduleAppointments/force-app/main/default/classes/AppointmentController.cls diff --git a/RescheduleAppointments/force-app/main/default/classes/AppointmentController.cls-meta.xml b/projects/RescheduleAppointments/force-app/main/default/classes/AppointmentController.cls-meta.xml similarity index 77% rename from RescheduleAppointments/force-app/main/default/classes/AppointmentController.cls-meta.xml rename to projects/RescheduleAppointments/force-app/main/default/classes/AppointmentController.cls-meta.xml index d75b058..482559c 100644 --- a/RescheduleAppointments/force-app/main/default/classes/AppointmentController.cls-meta.xml +++ b/projects/RescheduleAppointments/force-app/main/default/classes/AppointmentController.cls-meta.xml @@ -1,4 +1,4 @@ - + 51.0 Active diff --git a/RescheduleAppointments/force-app/main/default/customLabels/customLabels.labels-meta.xml b/projects/RescheduleAppointments/force-app/main/default/customLabels/customLabels.labels-meta.xml similarity index 81% rename from RescheduleAppointments/force-app/main/default/customLabels/customLabels.labels-meta.xml rename to projects/RescheduleAppointments/force-app/main/default/customLabels/customLabels.labels-meta.xml index d73a74c..1033998 100644 --- a/RescheduleAppointments/force-app/main/default/customLabels/customLabels.labels-meta.xml +++ b/projects/RescheduleAppointments/force-app/main/default/customLabels/customLabels.labels-meta.xml @@ -1,4 +1,4 @@ - + @@ -227,7 +227,8 @@ en_US true RescheduleAppoinment - Reschedule Appointment landing page title + Reschedule Appointment landing page title Reschedule Appoinyment @@ -235,7 +236,8 @@ en_US true RescheduleAppoinment - Reschedule Appoinyment compact info title + Reschedule Appoinyment compact info title Current Appointment @@ -247,35 +249,43 @@ Reschedule Appointment? - Reschedule_Appointment_accept_new_appointment_button + Reschedule_Appointment_accept_new_appointment_button en_US true RescheduleAppoinment - Accept new Appointment - button text + Accept new Appointment - button text Reschedule - Reschedule_Appointment_toastMessage_appointment_reschedule + Reschedule_Appointment_toastMessage_appointment_reschedule en_US true RescheduleAppoinment - Toast message when appointment gets rescheduled + Toast message when appointment gets rescheduled Appointment was rescheduled. - Reschedule_Appointment_same_appointment_selected_warning + Reschedule_Appointment_same_appointment_selected_warning en_US true RescheduleAppoinment - Reschedule appointment - Same slot selected warning + Reschedule appointment - Same slot selected warning Slot already booked. Please select another slot. - Reschedule_Appointment_toastMessage_reschedule_appointment_fail_message + Reschedule_Appointment_toastMessage_reschedule_appointment_fail_message en_US true RescheduleAppoinment - Toast message reschedule appointment fails to get update + Toast message reschedule appointment fails to get update We couldn’t reschedule the appointment. Try again later. @@ -283,11 +293,13 @@ en_US true RescheduleAppoinment - confirmation page failure message when booking fails + confirmation page failure message when booking fails It’s not you, it’s us. Please start over. - Reschedule_Appointment_no_available_appointments_msg + Reschedule_Appointment_no_available_appointments_msg en_US true RescheduleAppoinment @@ -299,7 +311,8 @@ en_US true RescheduleAppoinment - Show today text followed by date in time slot header + Show today text followed by date in time slot header Today @@ -311,27 +324,33 @@ Appointment was canceled. - Reschedule_Appointment_toastMessage_cancel_appointment_fail_message + Reschedule_Appointment_toastMessage_cancel_appointment_fail_message en_US true RescheduleAppoinment - Toast message cancel appointment fails to get update + Toast message cancel appointment fails to get update We couldn’t cancel the appointment. Try again later. - Reschedule_Appointment_toastMessage_appointment_confirmed + Reschedule_Appointment_toastMessage_appointment_confirmed en_US true RescheduleAppoinment - Toast message when appointment gets confirmed + Toast message when appointment gets confirmed Appointment was confirmed. - Reschedule_Appointment_toastMessage_confirm_appointment_fail_message + Reschedule_Appointment_toastMessage_confirm_appointment_fail_message en_US true RescheduleAppoinment - Toast message confirm appointment fails to get update + Toast message confirm appointment fails to get update We couldn’t confirm the appointment. Try again later. @@ -351,7 +370,8 @@ Next - Reschedule_Appointment_select_an_available_appointment_time + Reschedule_Appointment_select_an_available_appointment_time en_US true RescheduleAppoinment @@ -359,7 +379,8 @@ Select an available appointment time - Reschedule_Appointment_select_new_date_to_reschedule + Reschedule_Appointment_select_new_date_to_reschedule en_US true RescheduleAppoinment @@ -375,7 +396,8 @@ CURRENT APPOINTMENT - Reschedule_Appointment_confirmation_service_requested + Reschedule_Appointment_confirmation_service_requested en_US true RescheduleAppoinment @@ -391,7 +413,8 @@ Assigned to You ({0}) - Reschedule_Appointment_assigned_to_any_available_worker + Reschedule_Appointment_assigned_to_any_available_worker en_US true RescheduleAppoinment @@ -415,35 +438,43 @@ Recommended Appointments - Reschedule_Appointment_cant_select_Mobile_Worker_excluded + Reschedule_Appointment_cant_select_Mobile_Worker_excluded en_US true RescheduleAppoinment - Title for assign to mobile worker radio resource is excluded - You can’t select a mobile worker for this appointment. Ask your admin for help. + Title for assign to mobile worker radio resource is excluded + You can’t select a mobile worker for this appointment. Ask your admin for help. Reschedule_Appointment_Mobile_Worker_radio_title en_US true RescheduleAppoinment - Title for assign to mobile worker radio + Title for assign to mobile worker radio Mobile Worker - Reschedule_Appointment_Mobile_Worker_radio_assignToMe_lable + Reschedule_Appointment_Mobile_Worker_radio_assignToMe_lable en_US true RescheduleAppoinment - Label mobile worker radio assign to me option with tech name + Label mobile worker radio assign to me option with tech name You - Reschedule_Appointment_Mobile_Worker_radio_assignToAnyAvailable_lable + Reschedule_Appointment_Mobile_Worker_radio_assignToAnyAvailable_lable en_US true RescheduleAppoinment - Label mobile worker radio assign to any available technitian + Label mobile worker radio assign to any available technitian Any available worker @@ -459,31 +490,38 @@ en_US true RescheduleAppoinment - Label for show results button on full page calendar + Label for show results button on full page calendar OK - Reschedule_Appointment_empty_state_select_any_available_worker + Reschedule_Appointment_empty_state_select_any_available_worker en_US true RescheduleAppoinment - If no appointments available and the MW can select any available worker - Change the worker or date and try again. If you still can’t find any appointments, contact your admin for help. + If no appointments available and the MW can select any available worker + Change the worker or date and try again. If you still can’t find any appointments, contact your admin for help. Reschedule_Appointment_empty_state_change_the_dates en_US true RescheduleAppoinment - If no appointments available and the MW can't select any available worker - Change the date and try again. If you can’t find any appointments, contact your admin for help. + If no appointments available and the MW can't select any available worker + Change the date and try again. If you can’t find any appointments, contact your admin for help. Reschedule_Appointment_view_more_button en_US true RescheduleAppoinment - Label for view more appointments button + Label for view more appointments button View More @@ -491,7 +529,8 @@ en_US true RescheduleAppoinment - Reschedule Appointment Bottom sheet success + Reschedule Appointment Bottom sheet success The appointment was rescheduled. @@ -499,7 +538,8 @@ en_US true RescheduleAppoinment - Title for Reschedule Appointment Bottom sheet failure + Title for Reschedule Appointment Bottom sheet failure We couldn’t reschedule the appointment. @@ -507,8 +547,9 @@ en_US true RescheduleAppoinment - Content Reschedule Appointment Bottom sheet failure + Content Reschedule Appointment Bottom sheet failure Select a different time slot, or try again later. - \ No newline at end of file + diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/.eslintrc.json b/projects/RescheduleAppointments/force-app/main/default/lwc/.eslintrc.json new file mode 100644 index 0000000..a82e76d --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/.eslintrc.json @@ -0,0 +1,14 @@ +{ + "extends": ["@salesforce/eslint-config-lwc/recommended"], + "overrides": [ + { + "files": ["*.test.js"], + "rules": { + "@lwc/lwc/no-unexpected-wire-adapter-usages": "off" + }, + "env": { + "node": true + } + } + ] +} diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/labels.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/labels.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/labels.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/labels.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.css b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.css new file mode 100644 index 0000000..9381f1b --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.css @@ -0,0 +1,190 @@ +.calendar-nav-header { + margin-top: 10px; + padding-top: 12px; + padding-bottom: 12px; + align-items: center; +} +.selectedDay { + border-radius: 50%; + color: #ffff; + height: 32px; + width: 32px; + background-color: #0d7fa8 !important; +} +.unselectedDay { + color: rgb(43, 40, 38); + height: 32px; + width: 32px; +} +.blockDate { + color: rgb(201, 199, 197); + height: 32px; + width: 32px; +} +.currentDay { + color: rgba(1, 1, 1, 1); + border-radius: 50%; + height: 32px; + width: 32px; + border: 1px solid rgba(1, 1, 1, 1) !important; +} +.currentDayBlocked { + color: rgb(201, 199, 197); + border-radius: 50%; + height: 32px; + width: 32px; + border: 1px solid rgba(159, 170, 181, 0.5) !important; + background-color: #eeeeee !important; +} +.btn { + border: none; + cursor: pointer; + display: inline-block; + border: none; + background-color: inherit; + padding: 0px; + margin-top: 6px; + height: 32px; + width: 32px; +} +.monthButton { + height: 24px; + font-size: 18px; + font-weight: 500; + letter-spacing: 0.38px; + line-height: 24px; + display: flex; + align-items: center; + --slds-c-button-text-color: #0d7fa8; +} +.full-calendar-month-button { + height: 21px; + font-size: 18px; + font-weight: 500; + line-height: 21px; + display: flex; + align-items: center; + margin: 16px; +} +tr { + text-align: center; +} +td { + text-align: center; + box-sizing: initial; + color: rgb(0, 112, 210); + height: 44px; + font-size: 16px; + font-weight: normal; + letter-spacing: -0.38px; +} +th { + text-align: center; + box-sizing: initial; + color: rgb(112, 110, 107); + font-size: 13px; + font-weight: normal; + letter-spacing: -0.08px; + line-height: 18px; + width: 44px; +} +.table { + font-size: medium; + vertical-align: middle; +} +*:focus { + outline: none; +} +.rightButton { + margin-left: 0px; + margin-right: 0px; + padding-left: 0px; + padding-right: 0px; + position: relative; + color: rgb(106, 106, 106); +} +.leftButton { + margin-left: 0px; + margin-right: 8px; + padding-left: 0px; + padding-right: 0px; + position: relative; + color: rgb(106, 106, 106); +} +.slds-popover { + z-index: 9000; +} + +.modal { + position: fixed; + top: auto; + bottom: 0px; + left: 0px; + height: 99%; + overflow-y: auto; +} +.breakLine { + margin: 0; + margin: 0 -16px 5px -16px; + padding-bottom: 16px; +} +.full-calendar-close-btn { + cursor: pointer; +} +.select-a-date-title { + font-weight: 500; + font-size: 18px; + line-height: 21px; +} +.modal-footer { + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: center; + padding: 16px; + gap: 16px; + height: 80px; + border-radius: 0px; + flex: none; + order: 3; + align-self: stretch; + flex-grow: 0; + border-top: 1px solid rgba(159, 170, 181, 0.5); + position: fixed; + bottom: 0; + left: 0; + right: 0; + background-color: white; + z-index: 100; + padding-bottom: 24px; +} +.confirmBtn { + width: 100%; + left: 50%; + -ms-transform: translate(-50%, 0%); + transform: translate(-50%, 0%); + height: 50px; + font-size: 16px; + border-radius: 12px; + background-color: #0d7fa8; + font-weight: 500; +} +.dialogContainer { + padding-bottom: 80px; + height: 99vh; +} +@media screen and (orientation: landscape) { + .slds-modal__container { + height: 130vh !important; + } +} + +.changecolor { + --lwc-colorTextIconDefault: #0d7fa8; + fill: #0d7fa8; + --sds-c-icon-color-foreground-default: #0d7fa8; +} + +.scrollableweek { + overflow-y: auto; +} diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.html b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.html new file mode 100644 index 0000000..e3033cd --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.html @@ -0,0 +1,321 @@ + diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js-meta.xml b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCalendar/mobileAppointmentBookingCalendar.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/__tests__/mobileAppointmentBookingCompactAppointmentInfo.test.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/__tests__/mobileAppointmentBookingCompactAppointmentInfo.test.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/__tests__/mobileAppointmentBookingCompactAppointmentInfo.test.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/__tests__/mobileAppointmentBookingCompactAppointmentInfo.test.js diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/labels.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/labels.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/labels.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/labels.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.css b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.css new file mode 100644 index 0000000..d553821 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.css @@ -0,0 +1,50 @@ +.container { + background-color: white; + padding: 16px; +} +.title { + font-size: 18px; + line-height: 21px; + font-weight: 500; + color: rgb(0, 0, 0); + margin-bottom: 13px; +} + +.separator { + height: 1px; + background-color: rgba(159, 170, 181, 0.5); + margin: 0 -16px 16px -16px; +} + +.info { + font-size: 16px; + line-height: 22px; + color: rgba(68, 68, 68, 1); + border: 1px solid rgba(159, 170, 181, 0.5); + border-radius: 12px; + padding: 16px; +} + +.info-emph { + font-size: 16px; + line-height: 22px; + font-weight: 500; + margin-bottom: 4px; + color: rgba(0, 0, 0, 1); +} + +.info-date { + font-size: 16px; + line-height: 22px; + font-weight: 400; + margin-bottom: 4px; + color: rgba(0, 0, 0, 1); +} + +.secondary-title { + font-size: 16px; + line-height: 22px; + font-weight: 400; + margin-bottom: 4px; + color: #444444; +} diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.html b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.html similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.html rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.html diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js-meta.xml b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingCompactAppointmentInfo/mobileAppointmentBookingCompactAppointmentInfo.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/labels.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/labels.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/labels.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/labels.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.css b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.css new file mode 100644 index 0000000..c2c7452 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.css @@ -0,0 +1,20 @@ +.page-header { + display: flex; +} +.landing-container { + background-color: rgba(238, 238, 238, 1); +} + +.landing-section { + margin-bottom: 10px; +} + +.test { + background-color: blue; + height: 300px; +} + +.spinner-container { + height: 100vh; + background-color: rgba(255, 255, 255, 0.7); +} diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.html b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.html similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.html rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.html diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js new file mode 100644 index 0000000..8a35bd3 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js @@ -0,0 +1,1277 @@ +/* eslint-disable @lwc/lwc/no-dupe-class-members */ +/* eslint-disable @lwc/lwc/no-api-reassignments */ +import { LightningElement, api, track, wire } from "lwc"; +import getServiceAppointment from "@salesforce/apex/AppointmentController.getServiceAppointment"; +import getSlotsByAssignmentMethod from "@salesforce/apex/AppointmentController.getSlotsByAssignmentMethod"; +import getSchedulingPolicyId from "@salesforce/apex/AppointmentController.getSchedulingPolicyId"; +import getOperatingHoursId from "@salesforce/apex/AppointmentController.getOperatingHoursId"; +import updateSA from "@salesforce/apex/AppointmentController.updateSA"; +import scheduleSA from "@salesforce/apex/AppointmentController.scheduleSA"; +import updateSASlot from "@salesforce/apex/AppointmentController.updateSASlot"; +import cloneWorkOrder from "@salesforce/apex/AppointmentController.cloneWorkOrder"; +import deleteClonedAppointmentData from "@salesforce/apex/AppointmentController.deleteClonedAppointmentData"; +import isUserExcludedResource from "@salesforce/apex/AppointmentController.isUserExcludedResource"; +import convertTimeToOtherTimeZone from "@salesforce/apex/AppointmentController.convertTimeToOtherTimeZone"; +import assignCurrentUserAsRequiredResource from "@salesforce/apex/AppointmentController.assignCurrentUserAsRequiredResource"; +import customLabels from "./labels"; +import { convertDateUTCtoLocal } from "c/mobileAppointmentBookingUtils"; +import getUserName from "@salesforce/apex/AppointmentController.getUserName"; +import { getRecord, notifyRecordUpdateAvailable } from "lightning/uiRecordApi"; +import ARRIVAL_WINDOW_START_FIELD from "@salesforce/schema/ServiceAppointment.ArrivalWindowStartTime"; +import ARRIVAL_WINDOW_END_FIELD from "@salesforce/schema/ServiceAppointment.ArrivalWindowEndTime"; +import PARENT_RECORD_FIELD from "@salesforce/schema/ServiceAppointment.ParentRecordId"; + +const fields = [ + ARRIVAL_WINDOW_START_FIELD, + ARRIVAL_WINDOW_END_FIELD, + PARENT_RECORD_FIELD +]; + +const assignmentMethod = { + ASSIGN_TO_ME: "assignToMe", + ASSIGN_TO_ANY_AVIALABLE: "assignToAnyAvailable" +}; + +export default class MobileAppointmentBookingLanding extends LightningElement { + LABELS = customLabels; + title = this.LABELS.Reschedule_Appointment_page_title; + @api serviceAppointmentId; + previousServiceAppointmentId; + @track currentAppointmentData; + @api appointmentFields; + @api schedulingHorizonValue; + @api schedulingPolicyId; + @api showExactArrivalTime; + @api maxDaysToGetAppointmentSlots; + selectedHorizonUnit; + @api operatingHoursId; + @track selectedDate; + @api recommendedScore; + @api userId; + dummySAid; + dummyWO; + getSlotQueryRunning = false; + clonedWorkOrdersArr = []; + CustomerFirstName; + CustomerLastName; + CustomerPhone; + ServiceAppointmentStatus; + CustomerAddress; + WorkTypeName; + ArrivalWindowStartTime; + ArrivalWindowEndTime; + SchedStartTime; + SchedEndTime; + ServiceAppointmentDueDate; + ServiceAppointmentDescription; + ServiceResourceId; + ServiceResourceRole; + ServiceResourceName; + serviceAppointmentObject; + @api timeSlotObject; + @track isSlots = true; + @track showCalenderInFullScreen = false; + headlineDate; + headlineTime; + selectedSlotStart; + selectedSlotEnd; + showDataSpinner = false; + inFlowMode = false; + newAppointmentDate; + newAppointmentTime; + _maxValidCalendarDate; + _minValidCalendarDate; + @api nonAvailableDateArray = []; + @api noOfDaysBeforeAfterWeek = 2; + @api worktypeDisplayname; + @track compactInfoObj = {}; + + show_confirmBtnLayout = false; + + @api get serviceappointmentobject() { + return this.serviceAppointmentObject; + } + set serviceappointmentobject(value) { + if (value) { + this.serviceAppointmentObject = value; + this.customerFirstName = value.CustomerFirstName; + this.customerLastName = value.CustomerLastName; + this.CustomerPhone = value.CustomerPhone; + this.ServiceAppointmentStatus = value.ServiceAppointmentStatus; + this.CustomerAddress = value.CustomerAddress; + this.WorkTypeName = value.WorkTypeName; + this.ArrivalWindowStartTime = value.ArrivalWindowStartTime; + this.ArrivalWindowEndTime = value.ArrivalWindowEndTime; + this.SchedStartTime = value.SchedStartTime; + this.SchedEndTime = value.SchedEndTime; + this.ServiceAppointmentDescription = value.ServiceAppointmentDescription; + this.ServiceAppointmentDueDate = value.DueDate; + } + this.getHeadlineDate(); + } + + @api get serviceresourceobj() { + return this.serviceAppointmentObject; + } + set serviceresourceobj(value) { + if (value) { + this.ServiceResourceId = value.ServiceResourceId; + this.serviceResourceRole = value.ServiceResourceRole; + this.ServiceResourceName = value.ServiceResourceName; + } + } + + @api get schedulepolicy() { + return this.schedulePolicyId; + } + set schedulepolicy(value) { + if (value) { + this.schedulePolicyId = value; + } + } + + @api get timeslotobject() { + return this.timeSlotObject; + } + set timeslotobject(value) { + this.showDataSpinner = false; + if (value) { + this.timeSlotObject = value; + } + } + + @api get showdataspinner() { + return this.showDataSpinner; + } + set showdataspinner(value) { + this.showDataSpinner = value; + } + + @api get maxvaliddate() { + return this.maxValidCalendarDate; + } + + set maxvaliddate(value) { + if (value) { + this.maxValidCalendarDate = value; + } + } + + @api get minValidCalendarDate() { + return this._minValidCalendarDate; + } + + set minValidCalendarDate(value) { + this._minValidCalendarDate = value; + } + + @api get shownoofdaysbeforeafterweek() { + return this.noOfDaysBeforeAfterWeek; + } + set shownoofdaysbeforeafterweek(value) { + if (value) { + this.noOfDaysBeforeAfterWeek = value; + } + } + + @api get showexactarrivaltime() { + return this.showExactArrivalTime; + } + set showexactarrivaltime(value) { + this.showExactArrivalTime = value; + } + + @api get inflowmode() { + return this.inFlowMode; + } + set inflowmode(value) { + this.inFlowMode = value; + } + + @api get worktypename() { + return this.WorkTypeName; + } + set worktypename(value) { + this.WorkTypeName = value; + } + @api get maxValidCalendarDate() { + return this._maxValidCalendarDate; + } + + set maxValidCalendarDate(value) { + this._maxValidCalendarDate = value; + } + + @api + get currentAssignmentMethod() { + return this._currentAssignmentMethod; + } + + set currentAssignmentMethod(value) { + this._currentAssignmentMethod = value; + this.getUserNameForAssignTo(); + } + + set schedulingHorizonUnit(value) { + this.selectedHorizonUnit = value; + } + @api get schedulingHorizonUnit() { + return this.selectedHorizonUnit; + } + + @api enableAssignToMe; + @api enableAssignToEveryAvailable; + @api isExcluded; + showMobileWorkerChoice = false; + + serviceTerritoryTimeZone; + currentSAstatus; + OriginalArrivalStartDate = null; + OriginalArrivalEndDate = null; + dateArrayForQuery = []; + dateArrayForQueryCurrentMobileWorkwerSlots = []; + dateArrayForQueryAllMobilesWorkerSlots = []; + @track timeSlotDateWise; + timeSlotWiseTemp = []; + + @api schedulingPolicy; + @api operatingHours; + @api assignToName; + + ARRIVAL_TIME_TEXT = "Exact Appointment Times"; + ARRIVAL_WINDOW_TEXT = "Arrival Windows"; + + BTN_CANCEL_PRESSED = "Cancelled"; + BTN_CONFIRMED_PRESSED = "Confirmed"; + BTN_RESHEDULED_PRESSED = "Rescheduled"; + + SCHEDULING_UNIT_DAY = "Days"; + SCHEDULING_UNIT_WEEK = "Weeks"; + SCHEDULING_UNIT_MONTH = "Months"; + + constructor() { + super(); + this.template.addEventListener( + "onassignmentmethodchanged", + this.handleCurrentAssignmentMethodChange + ); + this.isExcluded = false; + } + + connectedCallback() { + this._previousServiceAppointmentId = this.serviceAppointmentId; + this.dataLoaded = false; + this.prepareInitialDataAndAssignmentData(); + //Get scheduling policy id and operating hours id + this.getIdFromName(); + } + + renderedCallback() { + if (this._previousServiceAppointmentId !== this.serviceAppointmentId) { + console.log( + "getting new Service appointment:" + + this.serviceAppointmentId + + ", previous: " + + this._previousServiceAppointmentId + ); + this.dataLoaded = false; + this.prepareInitialDataAndAssignmentData(); + } + } + + // Wire a record + @wire(getRecord, { recordId: "$serviceAppointmentId", fields: fields }) + record; + + calcAssignmentMethod() { + if (this.enableAssignToMe && this.enableAssignToEveryAvailable) { + if (this.isExcluded) { + //Admin enabled both options but Current User is excluded from this Work Order + this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ANY_AVIALABLE; + this.isCleanupRequired = false; + } else { + this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ME; + this.isCleanupRequired = true; + } + + this.showMobileWorkerChoice = true; + } else if (!this.enableAssignToMe) { + this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ANY_AVIALABLE; + this.isCleanupRequired = false; + this.showMobileWorkerChoice = false; + } else { + this.currentAssignmentMethod = assignmentMethod.ASSIGN_TO_ME; + this.isCleanupRequired = false; + this.showMobileWorkerChoice = false; + } + } + + getInitData() { + this.lockScrolling(); + this.dataLoaded = false; + getServiceAppointment({ serviceAppointmentId: this.serviceAppointmentId }) + .then((data) => { + this.allowScrolling(); + console.log( + "getInitData Service appointment received::: " + JSON.stringify(data) + ); + if (data.error) { + this.dataLoaded = false; + this.error = data.error; + console.log("Error in getInitData::: " + JSON.stringify(data.error)); + } else { + this.currentAppointmentData = JSON.parse(JSON.stringify(data)); + this.updateCompactInfoObj( + this.currentAppointmentData.WorkTypeName, + convertDateUTCtoLocal( + this.currentAppointmentData.ArrivalWindowStartTime + ), + convertDateUTCtoLocal( + this.currentAppointmentData.ArrivalWindowEndTime + ), + this.currentAppointmentData.AppointmentNumber + ); + this.handleDataOnServiceAppointmentRecieved(data); + } + }) + .catch((e) => { + this.allowScrolling(); + this.dataLoaded = false; + console.log("Error in getInitData::: " + JSON.stringify(e)); + }); + } + + handleDataOnServiceAppointmentRecieved(data) { + this.error = undefined; + this.serviceTerritoryTimeZone = data.ServiceTerritoryTimeZone; + this.currentSAstatus = data.ServiceAppointmentStatus; + + if (data.ArrivalWindowEndTime && data.ArrivalWindowEndTime !== "null") { + this.OriginalArrivalEndDate = convertDateUTCtoLocal( + data.ArrivalWindowEndTime + ); + } + if (data.ArrivalWindowStartTime && data.ArrivalWindowStartTime !== "null") { + this.OriginalArrivalStartDate = convertDateUTCtoLocal( + data.ArrivalWindowStartTime + ); + } + + this.OriginalEarliestStartDate = convertDateUTCtoLocal( + data.EarliestStartTime + ); + this.checkServiceAppointmentStatus(this.currentSAstatus); + this.serviceAppointmentDueDate = convertDateUTCtoLocal(data.DueDate); + this.maxValidCalendarDate = this.calculateMaxValidHorizonDate(); + + if (data.EarliestStartTime) { + this.minValidCalendarDate = convertDateUTCtoLocal( + data.EarliestStartTime.toString() + ); + } else { + this.minValidCalendarDate = this.getDateWithoutTime(new Date()); + } + + this.dataLoaded = true; + } + + createSAObject(data) { + let appointmentFields = {}; + // eslint-disable-next-line no-unused-expressions + data.fields && + Object.keys(data.fields).forEach((appointmentField) => { + appointmentFields[appointmentField] = { + name: appointmentField, + value: + data.fields[appointmentField] && data.fields[appointmentField].value + }; + }); + + console.log("createSAObject::: " + JSON.stringify(appointmentFields)); + return appointmentFields; + } + + checkServiceAppointmentStatus(currentSAStatus) { + console.log( + "checkServiceAppointmentStatus => Current: " + + currentSAStatus + + " ; confirmed: " + + this.confirmStatusId + + " ; rescheduled: " + + this.rescheduleStatusId + + " ; canceled : " + + this.cancelStatusId + ); + + if (currentSAStatus === this.cancelStatusId) { + this.showCancelScreen(true); + } else if (currentSAStatus === this.confirmStatusId) { + this.isAppointmentConfirmed = true; + } else { + this.isAppointmentConfirmed = false; + } + if (!this.allowToConfirmAppt) { + this.isAppointmentConfirmed = true; + } + } + + showCancelScreen(value) { + this.show_cancelScreen = value; + this.show_RescheduleAppointmentScreen = !value; + this.show_ConfirmAppointmentScreen = !value; + } + + showConfirmScreen(value) { + this.show_cancelScreen = !value; + this.show_RescheduleAppointmentScreen = !value; + this.show_ConfirmAppointmentScreen = value; + } + showRescheduleScreen(value) { + this.show_cancelScreen = !value; + this.show_RescheduleAppointmentScreen = value; + this.show_ConfirmAppointmentScreen = !value; + } + + calculateMaxValidHorizonDate() { + var currentDate; + var targetDate; + if (this.schedulingHorizonValue && this.selectedHorizonUnit) { + currentDate = new Date(); + let schedulingHorizonValueToNumber = parseInt( + this.schedulingHorizonValue, + 10 + ); + switch (this.selectedHorizonUnit) { + case this.SCHEDULING_UNIT_WEEK: + targetDate = new Date( + currentDate.setDate( + currentDate.getDate() + schedulingHorizonValueToNumber * 7 + ) + ); + break; + case this.SCHEDULING_UNIT_MONTH: + targetDate = new Date( + currentDate.setMonth( + currentDate.getMonth() + schedulingHorizonValueToNumber + ) + ); + break; + default: //this.SCHEDULING_UNIT_DAY + targetDate = new Date( + currentDate.setDate( + currentDate.getDate() + schedulingHorizonValueToNumber + ) + ); + } + + console.log("Scheduling horizon unit : new date is : " + targetDate); + + if (this.serviceAppointmentDueDate < targetDate) + return this.serviceAppointmentDueDate; + return targetDate; + } + return this.serviceAppointmentDueDate; + } + + getDateWithoutTime(date) { + var d; + if (typeof val === "string") { + d = new Date(date.replace(/-/g, "/")); // replace method is use to support time in safari + } else { + d = new Date(date); + } + d.setHours(0, 0, 0, 0); + return d; + } + + onDateSelected(event) { + this.selectedDate = event.detail.date; + console.log("Selected date in main class : " + this.selectedDate); + } + + getFirstDayOfWeek(date, index) { + var newDate; + var start = index >= 0 ? index : 0; + var d = new Date(date); + var day = d.getDay(); + var diff = d.getDate() - day + (start > day ? start - 7 : start); + d.setDate(diff); + console.log("First day of week is : " + d.getDate()); + newDate = new Date( + d.setDate(d.getDate() - this.noOfDaysBeforeAfterWeek) + ).setHours(0, 0, 0, 0); + return newDate; + } + + getLastDayOfWeek(date, index) { + var newDate; + var start = index >= 0 ? index : 0; + var d = new Date(date); + var day = d.getDay(); + var diff = d.getDate() - day + (start > day ? start - 1 : 6 + start); + d.setDate(diff); + newDate = new Date( + d.setDate(d.getDate() + this.noOfDaysBeforeAfterWeek) + ).setHours(0, 0, 0, 0); + return newDate; + } + + isInArray(value) { + let currentDateArray = []; + + if (this.currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { + currentDateArray = this.dateArrayForQueryCurrentMobileWorkwerSlots; + } else { + currentDateArray = this.dateArrayForQueryAllMobilesWorkerSlots; + } + + for (let i = 0; i < currentDateArray.length; i++) { + if (value.getTime() === currentDateArray[i].getTime()) { + return true; + } + } + return false; + } + + revertSA() { + updateSA({ + serviceAppointmentId: this.serviceAppointmentId, + earliestStartDate: this.OriginalEarliestStartDate, + arrivalStartDate: this.OriginalArrivalStartDate, + arrivalEndDate: this.OriginalArrivalEndDate + }) + .then((data) => { + if (data.success) { + console.log("Service appointment reverted successfully"); + } else console.log("Error while reverting the service appointment"); + }) + .catch((error) => { + console.log("Error while reverting the service appointment " + error); + }); + } + + getLastSlotFromTheArray(slotArray) { + var timeSlot; + var lastdate; + if (slotArray.length > 0) { + timeSlot = slotArray[slotArray.length - 1].split("#"); + lastdate = this.getDateWithoutTime( + Date.parse(timeSlot[0].replace(/-/g, "/")) + ); + console.log("Last Date from the slots is : " + lastdate); + } + return lastdate; + } + + addDatesToCashArray(start, end) { + var currentDate = start; + var addingDate; + var tempDate; + let currentDateArray = []; + + if (this.currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { + currentDateArray = this.dateArrayForQueryCurrentMobileWorkwerSlots; + } else { + currentDateArray = this.dateArrayForQueryAllMobilesWorkerSlots; + } + + while (currentDate <= end) { + addingDate = new Date(currentDate); + currentDateArray.push(addingDate); + tempDate = currentDate.setDate(currentDate.getDate() + 1); + currentDate = new Date(tempDate); + } + + currentDateArray = Array.from(new Set(currentDateArray)); + } + + removeDatesFromCashArray() { + if (this.currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { + this.dateArrayForQueryCurrentMobileWorkwerSlots = []; + } else { + this.dateArrayForQueryAllMobilesWorkerSlots = []; + } + } + + showAlertWithError(errorMessage) { + // eslint-disable-next-line no-alert + alert(errorMessage); + } + + handleGetSlotQueryForSelectedDate(event) { + var firstDateOfWeek; + event.stopPropagation(); + event.preventDefault(); + firstDateOfWeek = this.getFirstDayOfWeek(event.detail.selectedDate); + if (this.dataLoaded) { + this.lockScrolling(); + console.log("handleGetSlotQueryForSelectedDate", firstDateOfWeek); + this.handleGetSlotQueryForSelectedDateRange(firstDateOfWeek); + } + } + + handleGetSlotQueryForSelectedDateRange(selectedDate) { + var firstDateOfWeek; + var lastDateOfWeek; + var loopdate; + this.lockScrolling(); + console.log("handleGetSlotQueryForSelectedDateRange", selectedDate); + firstDateOfWeek = selectedDate; + if (firstDateOfWeek <= new Date()) { + firstDateOfWeek = new Date(); + } + console.log("handleGetSlotQueryForSelectedDateRange", selectedDate); + lastDateOfWeek = this.getLastDayOfWeek(firstDateOfWeek, 0); + if (lastDateOfWeek > this.maxValidCalendarDate) { + lastDateOfWeek = this.maxValidCalendarDate; + } + console.log( + "First and Last date of the week : " + + firstDateOfWeek + + " " + + lastDateOfWeek + ); + + loopdate = new Date(firstDateOfWeek); + loopdate = new Date(this.getDateWithoutTime(loopdate)); + + console.log("Date in the Array is : " + loopdate); + console.log( + "this.dateArrayForQuery.indexOf(loopdate) + : " + + loopdate + + " and " + + this.isInArray(loopdate) + ); + + if (!this.isInArray(loopdate)) { + console.log("Address is : " + this.street); + //If the date is not added in cache, run the below code to add it and get fresh slots + this.addDatesToCashArray(new Date(loopdate), new Date(loopdate)); + + console.log( + "getSlot As Per StartDate : " + + loopdate + + " Minvalid Calendar date : " + + this.minValidCalendarDate + ); + if (loopdate < this.minValidCalendarDate) { + loopdate = new Date(this.minValidCalendarDate.getTime()); + } + + if (loopdate >= this.minValidCalendarDate) { + console.log("Run appointment query for date " + loopdate); + + // IF THE DATE IS AFTER ARRIVAL WINDOW START DATE + console.log("clone sa method called"); + cloneWorkOrder({ + originalSaId: this.serviceAppointmentId, + startPermitDate: loopdate, + selectedHorizonValue: this.schedulingHorizonValue, + dummySA: this.dummySAid, + dummyWO: this.dummyWO + }) + .then((saData) => { + if (saData.dummyServiceAppointmentId) { + this.lockScrolling(); + this.dummySAid = saData.dummyServiceAppointmentId; + this.dummyWO = saData.dummyWorkOrderId; + console.log( + "clone sa method finished::: sa:" + + saData.dummyServiceAppointmentId + ); + + this.sleep(3000).then(() => { + var lcaletime = + Intl.DateTimeFormat().resolvedOptions().timeZone; + assignCurrentUserAsRequiredResource({ + serviceAppointmentId: this.dummySAid, + currentAssignmentMethod: this.currentAssignmentMethod + }) + .then((dataAfterResourceAssignment) => { + if (dataAfterResourceAssignment.error) { + this.deleteDummySa(this.dummySAid); + } else { + getSlotsByAssignmentMethod({ + serviceAppointmentId: this.dummySAid, + operatingHoursId: this.operatingHoursId, + schedulingPolicyId: this.schedulingPolicyId, + arrivalWindowFlag: this.showExactArrivalTime, + localetimezone: lcaletime + }) + .then((data) => { + console.log( + "getSlotsByAssignmentMethod allowScrolling::::" + ); + this.allowScrolling(); + console.log( + "Time zone of the sa is : " + data.timeZone + ); + this.timeZoneOfDummySA = data.timeZone; + + if (data.error) { + console.log( + "Error in getting slots : " + data.error + ); + this.showAlertWithError( + this.LABELS + .Reschedule_Appointment_confirmation_failure_message + ); + this.timeSlotDateWise = []; + this.deleteDummySa( + saData.dummyServiceAppointmentId + ); + } else { + this.timeSlotWiseTemp = data.timeSlotList; + this.timeSlotDateWise = this.timeSlotWiseTemp; + + let tempDate = loopdate.setDate( + loopdate.getDate() + + this.maxDaysToGetAppointmentSlots + ); + loopdate = new Date(tempDate); + console.log( + "New Loop date is : " + + loopdate + + " and last day of week is : " + + lastDateOfWeek + ); + if (loopdate <= lastDateOfWeek) { + this.handleGetSlotQueryForSelectedDateRange( + loopdate + ); + } else { + this.deleteDummySa( + saData.dummyServiceAppointmentId + ); + } + } + }) + .catch((error) => { + this.deleteDummySa(saData.dummyServiceAppointmentId); + console.log( + "Error while executing FSL API :", + +error + ); + this.timeSlotDateWise = []; + this.allowScrolling(); + }); + } + }) + .catch((error) => { + console.log( + "Error While assigning current user as required resource: " + + error + ); + this.allowScrolling(); + }); + }); + } else if (saData.error) { + console.log("Errror while creating dummy SA :", +saData.error); + this.timeSlotDateWise = []; + this.allowScrolling(); + } + }) + .catch((error) => { + // delete SA/WO incase transaction fails + this.deleteDummySa(this.dummyServiceAppointmentId); + console.log("Errror while creating dummy SA :", +error); + this.timeSlotDateWise = []; + this.allowScrolling(); + }); + } else { + // IF THE DATE IS BEFORE ARRIVAL WINDOW START DATE + console.log("Loop date is less than minimum valid date"); + + let tempDate = loopdate.setDate( + loopdate.getDate() + this.maxDaysToGetAppointmentSlots + ); + loopdate = new Date(tempDate); + if (loopdate <= lastDateOfWeek) { + this.handleGetSlotQueryForSelectedDateRange(loopdate); + } else { + this.timeSlotDateWise = this.timeSlotWiseTemp; + } + } + } else { + // If the date are already cache, take the slot from it and run the query for next date; + let tempDate = loopdate.setDate( + loopdate.getDate() + this.maxDaysToGetAppointmentSlots + ); + loopdate = new Date(tempDate); + + if (loopdate <= lastDateOfWeek) { + this.handleGetSlotQueryForSelectedDateRange(loopdate); + } else { + this.timeSlotDateWise = []; + this.allowScrolling(); + } + } + } + + sleep(ms) { + // eslint-disable-next-line @lwc/lwc/no-async-operation + return new Promise((resolve) => setTimeout(resolve, ms)); + } + + onServiceAppointmentUpdate = (event) => { + let selectedSlotStart = event.detail.selectedSlotStart; + let selectedSlotEnd = event.detail.selectedSlotEnd; + + // in case of no Service Territory, skip apex class + if (this.serviceTerritoryTimeZone) { + /** + * CONVERT THE TIME FROM LOCALE TO SERVER + */ + convertTimeToOtherTimeZone({ + date1: selectedSlotStart, + date2: selectedSlotEnd, + targetTimezone: this.serviceTerritoryTimeZone, + sourceTimezone: Intl.DateTimeFormat().resolvedOptions().timeZone + }) + .then((data) => { + console.log("Date converted from apex is : " + new Date(data.date1)); + console.log("Date converted from apex is : " + new Date(data.date2)); + selectedSlotStart = new Date(data.date1); + selectedSlotEnd = new Date(data.date2); + this.UpdateServiceAppointmentFunction(event); + }) + .catch((error) => { + console.log("error is : " + error); + }); + } else { + this.UpdateServiceAppointmentFunction(event); + } + }; + + UpdateServiceAppointmentFunction = (event) => { + let selectedSlotStart = event.detail.selectedSlotStart; + let selectedSlotEnd = event.detail.selectedSlotEnd; + let ArrivalWindowStartTime = event.detail.ArrivalWindowStartTime; + + if ( + this.isValidDate(selectedSlotStart) && + this.isValidDate(selectedSlotEnd) + ) { + if (!ArrivalWindowStartTime || ArrivalWindowStartTime === "null") { + ArrivalWindowStartTime = "1970-01-01 09:00:00"; //Overwrites null ArrivalWindowStart field + } + if ( + selectedSlotStart.getTime() !== + convertDateUTCtoLocal(ArrivalWindowStartTime).getTime() + ) { + this.showSpinnerInChildClass = true; + console.log("this.selectedSlotStart=" + selectedSlotStart); + console.log("this.selectedSlotEnd=" + selectedSlotEnd); + updateSASlot({ + serviceAppointmentId: this.serviceAppointmentId, + arrivalWindowStartTime: selectedSlotStart, + arrivalWindowEndTime: selectedSlotEnd + }) + .then((data) => { + if (data.error) { + this.template + .querySelector( + "c-mobile-appointment-booking-scheduling-container" + ) + .handleSchedulingResponse(false); + } else { + // If the transaction Success, run the FSL schedule service + assignCurrentUserAsRequiredResource({ + serviceAppointmentId: this.serviceAppointmentId, + currentAssignmentMethod: this.currentAssignmentMethod + }) + .then((requiresResourceAssignmentResults) => { + if (requiresResourceAssignmentResults.error) { + console.log("error"); + } else { + scheduleSA({ + serviceAppointmentId: this.serviceAppointmentId, + schedulingPolicyId: this.schedulingPolicyId, + userId: this.userId + }) + .then((scheduleData) => { + if (scheduleData.error) { + console.log( + "Error while executing FSL API : " + + " " + + JSON.stringify(scheduleData.error) + ); + this.template + .querySelector( + "c-mobile-appointment-booking-scheduling-container" + ) + .handleSchedulingResponse(false); + } else { + console.log( + "Service appointment Scheduled : " + + JSON.stringify(scheduleData) + ); + this.isAppointmentConfirmed = true; + // Update Data After successfull booking + this.updateCompactInfoAfterReschedule( + selectedSlotStart, + selectedSlotEnd + ); + this.template + .querySelector( + "c-mobile-appointment-booking-scheduling-container" + ) + .handleSchedulingResponse(true); + + notifyRecordUpdateAvailable([ + { recordId: this.serviceAppointmentId } + ]); + } + }) + .catch((error) => { + this.revertSA(); + console.log( + "Error while executing FSL API : " + + " " + + JSON.stringify(error) + ); + this.template + .querySelector( + "c-mobile-appointment-booking-scheduling-container" + ) + .handleSchedulingResponse(false); + }); + } + }) + .catch((error) => { + this.revertSA(); + console.log( + "Error while executing FSL API : " + + " " + + JSON.stringify(error) + ); + this.template + .querySelector( + "c-mobile-appointment-booking-scheduling-container" + ) + .handleSchedulingResponse(false); + }); + } + }) + .catch((error) => { + console.log( + this.LABELS + .Reschedule_Appointment_toastMessage_reschedule_appointment_fail_message + + " " + + error + ); + this.template + .querySelector( + "c-mobile-appointment-booking-scheduling-container" + ) + .handleSchedulingResponse(false); + }); + } else { + this.template + .querySelector("c-mobile-appointment-booking-scheduling-container") + .handleSchedulingResponse(false); + } + } else { + console.log("Invalid date time "); + this.template + .querySelector("c-mobile-appointment-booking-scheduling-container") + .handleSchedulingResponse(false); + } + }; + + isValidDate(d) { + return d instanceof Date && !isNaN(d); + } + + onWeekChangeEvent(event) { + this.selectedDate = event.detail.date; + console.log("On week change called"); + this.template + .querySelector("c-mobile-appointment-booking-slots-container") + .onWeekUpdated(this.selectedDate); + this.runApexQueryToChangeEarlistStartDate(this.selectedDate); + } + + onSlotSelection(event) { + event.stopPropagation(); + event.preventDefault(); + this.selectedSlotStart = event.detail.startDate; + this.selectedSlotEnd = event.detail.endDate; + this.setNewAppointmentSelectedText( + event.detail.startDate, + event.detail.endDate + ); + } + + onCustomEventCalled(event) { + event.preventDefault(); + switch (event.detail.name) { + case "trigergetslotapi": { + this.runApexQueryToChangeEarlistStartDate(event.detail.value); + break; + } + case "updateNonAvailableDates": { + this.nonAvailableDateArray = event.detail.value; + console.log( + "Array of the date not available : " + + this.nonAvailableDateArray.length + ); + break; + } + default: { + break; + } + } + } + + getHeadlineDate() { + const dateOptions = { weekday: "long", month: "long", day: "numeric" }; + var startDate; + var endDate; + var dateLong; + var time; + if (this.ArrivalWindowStartTime === "null" || this.showExactArrivalTime) { + startDate = convertDateUTCtoLocal(this.SchedStartTime); + endDate = convertDateUTCtoLocal(this.SchedEndTime); + } else { + startDate = this.ArrivalWindowStartTime; + endDate = convertDateUTCtoLocal(this.ArrivalWindowEndTime); + } + if (startDate && endDate) { + dateLong = startDate.toLocaleDateString(undefined, dateOptions); + time = + this.getFormattedTimeFromDate(startDate) + + " - " + + this.getFormattedTimeFromDate(endDate); + if (this.showExactArrivalTime) { + time = this.getFormattedTimeFromDate(startDate); + } + this.headlineDate = dateLong; + this.headlineTime = time; + } + } + + getFormattedTimeFromDate(date) { + // method to format the time digits + var tempDate = new Date(date); + var hours = tempDate.getHours(); + var minutes = tempDate.getMinutes(); + var ampm = hours >= 12 ? "PM" : "AM"; + hours = hours % 12; + hours = hours ? hours : 12; // the hour '0' should be '12' + hours = hours < 10 ? "0" + hours : hours; + minutes = minutes < 10 ? "0" + minutes : minutes; + return hours + ":" + minutes + " " + ampm; + } + + runApexQueryToChangeEarlistStartDate(selectedDate) { + const customEvent = new CustomEvent("getslotexecuted", { + detail: { selectedDate: selectedDate } + }); + this.dispatchEvent(customEvent); + } + + /** + * SAVE ALL VALUES AFTER SELECTING THE SLOT + */ + position; + setNewAppointmentSelectedText(start, end) { + const dateOptions = { weekday: "long", month: "long", day: "numeric" }; + var dateLong = start.toLocaleDateString(undefined, dateOptions); + var time = + this.getFormattedTimeFromDate(start) + + " - " + + this.getFormattedTimeFromDate(end); + if (this.showExactArrivalTime) { + time = this.getFormattedTimeFromDate(start); + } + this.newAppointmentDate = dateLong; + this.newAppointmentTime = time; + this.show_confirmBtnLayout = true; + // lock scrolling + document.body.style.overflow = "hidden"; + } + + handleConfirmBtnClose() { + this.show_confirmBtnLayout = false; + // allow scrolling + document.body.style.overflow = "auto"; + } + + handleCurrentAssignmentMethodChange = (event) => { + this.lockScrolling(); + const updatedValue = event.detail.assignmentMethod; + const selectedDate = event.detail.selecteddate; + + this.currentAssignmentMethod = assignmentMethod[updatedValue]; + + //dispatch get Slots + let firstDateOfWeek = this.getFirstDayOfWeek(selectedDate); + + this.template + .querySelector("c-mobile-appointment-booking-scheduling-container") + .clearSlotsAfterAssignmentMethodChange(this.currentAssignmentMethod); + //clone and get slots + + console.log( + "Calling handleGetSlotQueryForSelectedDateRange after assignment method change::: existing dummy- " + + this.dummySAid + ); + this.handleGetSlotQueryForSelectedDateRange(firstDateOfWeek); + }; + + deleteDummySa(dummySaId) { + console.log( + "deleteDummySa begins ::: Dummy Service Appointment: " + dummySaId + ); + this.lockScrolling(); + deleteClonedAppointmentData({ clonedServiceAppointmentId: dummySaId }) + .then((data) => { + this.allowScrolling(); + if (data) { + console.log( + "deleteClonedAppointmentData response ::::" + + JSON.stringify(data, null, 2) + ); + this.dummySAid = null; + this.dummyWO = null; + } + }) + .catch((error) => { + this.allowScrolling(); + console.log( + "There was a problem deleting the SA" + JSON.stringify(error) + ); + }); + } + + prepareInitialDataAndAssignmentData() { + isUserExcludedResource({ + userId: this.userId, + serviceAppointmentId: this.serviceAppointmentId + }) + .then((data) => { + if (data.success) { + console.log( + "isUserExcludedResource response received userIsExcluded::: " + + data.success + ); + this.isExcluded = data.success; + } else { + console.log("Error in isUserExcludedResource ::: "); + this.isExcluded = false; + } + }) + .catch((e) => { + this.isExcluded = false; + console.log("Error in isUserExcludedResource ::: " + JSON.stringify(e)); + }) + .finally(() => { + this.calcAssignmentMethod(); + this.getInitData(); + this.selectedDate = new Date(); + }); + } + + allowScrolling() { + document.body.style.overflow = "auto"; + this.showDataSpinner = false; + } + lockScrolling() { + document.body.style.overflow = "hidden"; + this.showDataSpinner = true; + } + + getIdFromName() { + if (this.schedulingPolicy) { + getSchedulingPolicyId({ schedulingPolicyName: this.schedulingPolicy }) + .then((data) => { + this.schedulingPolicyId = data; + }) + .catch((e) => { + console.log("Error in getSchedulingPolicyId: " + JSON.stringify(e)); + }); + } else { + console.log( + "schedulingPolicy is undefined, getSchedulingPolicyId not called" + ); + } + + if (this.operatingHours) { + getOperatingHoursId({ operatingHoursName: this.operatingHours }) + .then((data) => { + this.operatingHoursId = data; + }) + .catch((e) => { + console.log("Error in getOperatingHoursId: " + JSON.stringify(e)); + }); + } else { + console.log( + "operatingHours is undefined, getOperatingHoursId not called" + ); + } + } + + getUserNameForAssignTo() { + getUserName({ userId: this.userId }) + .then((data) => { + if (data.error) { + console.log("error in getUserName: " + JSON.stringify(data.error)); + } else { + this.userName = data; + this.error = undefined; + console.log("UserName from getUserName :" + data); + this.setAssigNameByAssignMethod(); + } + }) + .catch((error) => { + console.log("error in getUserName: " + JSON.stringify(error)); + }); + } + + setAssigNameByAssignMethod() { + if (this._currentAssignmentMethod) { + if (this._currentAssignmentMethod === assignmentMethod.ASSIGN_TO_ME) { + this.assignToName = + this.LABELS.Reschedule_Appointment_assigned_to_you.replace( + "{0}", + this.userName + ); + } else { + this.assignToName = + this.LABELS.Reschedule_Appointment_assigned_to_any_available_worker; + } + } + } + + updateCompactInfoAfterReschedule(selectedSlotStart, selectedSlotEnd) { + this.updateCompactInfoObj( + this.currentAppointmentData.WorkTypeName, + selectedSlotStart, + selectedSlotEnd, + this.currentAppointmentData.AppointmentNumber + ); + } + + updateCompactInfoObj(workTypeName, startDate, endDate, appointmentNumber) { + let compactInfo = {}; + + if (this.showExactArrivalTime) { + compactInfo = { + workTypeName, + startDate, + endDate: null, + appointmentNumber + }; + } else { + compactInfo = { + workTypeName, + startDate, + endDate, + appointmentNumber + }; + } + + this.compactInfoObj = JSON.parse(JSON.stringify(compactInfo)); + } +} diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js-meta.xml b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js-meta.xml new file mode 100644 index 0000000..3b3867f --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingLanding/mobileAppointmentBookingLanding.js-meta.xml @@ -0,0 +1,13 @@ + + + 55.0 + false + + lightning__RecordAction + + + + ScreenAction + + + diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/labels.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/labels.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/labels.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/labels.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.css b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.css new file mode 100644 index 0000000..b44b791 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.css @@ -0,0 +1,170 @@ +.main-container { + padding: 16px; +} + +.modal-container { + width: 100%; + min-height: 320px; + background: white; + border-top-left-radius: 8px; + border-top-right-radius: 8px; +} + +.spinner-container { + position: inherit; +} + +.confirmBtn { + width: 100%; + left: 50%; + -ms-transform: translate(-50%, 0%); + transform: translate(-50%, 0%); + height: 50px; + font-size: 16px; + border-radius: 12px; + background-color: #0d7fa8; + font-weight: 500; +} + +.confirmBtn:active { + opacity: 25%; +} + +.confirmBtn:hover { + opacity: 25%; +} + +.confirmBtn:focus { + opacity: 25%; +} + +.acceptNewAptTitle { + font-weight: 500; + font-size: 18px; + line-height: 21px; + display: flex; + align-items: center; + text-align: center; + flex-direction: column; +} +.acceptNewAptClose { + margin-top: 2px; + cursor: pointer; +} +.modal { + position: fixed; + top: auto; + bottom: 0px; + left: 0px; +} + +svg[class*="slds-button__icon_left"] { + padding-bottom: 2px !important; +} + +.modal-footer { + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: center; + padding: 0 16px; + gap: 16px; + border-radius: 0px; + flex: none; + order: 3; + align-self: stretch; + flex-grow: 0; + height: 80px; +} + +.modal-title-container { + border-bottom: 1px solid rgba(159, 170, 181, 0.5); + box-sizing: border-box; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + padding: 0px; + isolation: isolate; + height: 48px; + padding: 16px; +} + +.info { + font-size: 16px; + line-height: 22px; + color: rgba(68, 68, 68, 1); + border: 1px solid rgba(159, 170, 181, 0.5); + border-radius: 12px; + padding: 16px; + margin: 16px; +} + +.info-emph { + font-size: 16px; + line-height: 22px; + font-weight: 500; + margin-bottom: 4px; + color: rgba(0, 0, 0, 1); +} + +.info-date { + font-size: 16px; + line-height: 22px; + font-weight: 400; + margin-bottom: 4px; + color: rgba(0, 0, 0, 1); +} + +.secondary-title { + font-size: 16px; + line-height: 22px; + font-weight: 400; + margin-bottom: 4px; + color: #444444; +} + +.scheduling-results-container { + display: flex; + flex-direction: column; + align-items: center; + padding: 43px 0; +} + +.scheduling-results-title { + margin-top: 16px; + font-size: 16px; + line-height: 22px; + font-weight: 500; +} + +.scheduling-results-info { + font-size: 16px; + line-height: 22px; + color: rgba(0, 0, 0, 1); +} + +.schedule-results-header-icon-container { + display: flex; + justify-content: center; + margin-bottom: 16px; +} + +.schedule-results-header-icon-title { + margin-left: 8px; + font-size: 16px; + line-height: 22px; + font-weight: 500; +} + +.hide { + visibility: hidden; +} + +.top-space { + margin-top: 16px; +} + +.button:active { + opacity: 25%; +} diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.html b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.html new file mode 100644 index 0000000..3390d53 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.html @@ -0,0 +1,148 @@ + diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js-meta.xml b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js-meta.xml new file mode 100644 index 0000000..9b08a91 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingRescheduleAppointment/mobileAppointmentBookingRescheduleAppointment.js-meta.xml @@ -0,0 +1,5 @@ + + + 56.0 + false + diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/__test__/mobileAppointmentBookingResourceAssignment.test.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/__test__/mobileAppointmentBookingResourceAssignment.test.js new file mode 100644 index 0000000..d064dd1 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/__test__/mobileAppointmentBookingResourceAssignment.test.js @@ -0,0 +1,60 @@ +import { createElement } from "lwc"; +import MobileAppointmentBookingResourceAssignment from "c/mobileAppointmentBookingResourceAssignment"; + +describe("c-mobile-appointment-booking-resource-assignment", () => { + afterEach(() => { + // The jsdom instance is shared across test cases in a single file so reset the DOM + while (document.body.firstChild) { + document.body.removeChild(document.body.firstChild); + } + }); + + it("Displays the correct message when user is excluded", () => { + const EXPECTED_EXCLUDED_MSG = + "c.Reschedule_Appointment_cant_select_Mobile_Worker_excluded"; + // Create initial element + const element = createElement( + "c-mobile-appointment-booking-resource-assignment", + { + is: MobileAppointmentBookingResourceAssignment + } + ); + + element.isExcluded = true; + element.showMobileWorkerChoice = true; + + document.body.appendChild(element); + + return Promise.resolve().then(() => { + const excludedMsgElement = element.shadowRoot.querySelector( + ".mobile-worker-content" + ); + + expect(excludedMsgElement.textContent).toBe(EXPECTED_EXCLUDED_MSG); + }); + }); + + it("Displays lightning radio button with current assignment method", () => { + const EXPECTED_VALUE = "ASSIGN_TO_ME"; + // Create initial element + const element = createElement( + "c-mobile-appointment-booking-resource-assignment", + { + is: MobileAppointmentBookingResourceAssignment + } + ); + + element.isExcluded = false; + element.showMobileWorkerChoice = true; + + document.body.appendChild(element); + + return Promise.resolve().then(() => { + const resourceAssignment = element.shadowRoot.querySelector( + "lightning-radio-group" + ); + + expect(resourceAssignment.value).toBe(EXPECTED_VALUE); + }); + }); +}); diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/labels.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/labels.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/labels.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/labels.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.css b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.css new file mode 100644 index 0000000..f9f72c1 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.css @@ -0,0 +1,24 @@ +.container { + background-color: white; + margin: 10px 0; + padding: 13px 16px 0 16px; +} +.title { + font-size: 18px; + line-height: 21px; + font-weight: 500; + color: rgb(0, 0, 0); + margin-bottom: 13px; +} + +.mobile-worker-content { + padding-top: 16px; + font-size: 16px; + line-height: 22px; +} + +.separator { + height: 1px; + background-color: rgba(159, 170, 181, 0.5); + margin: 0 -16px; +} diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.html b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.html new file mode 100644 index 0000000..b434f0f --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.html @@ -0,0 +1,24 @@ + diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js-meta.xml b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingResourceAssignment/mobileAppointmentBookingResourceAssignment.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/labels.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/labels.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/labels.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/labels.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.css b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.css new file mode 100644 index 0000000..f24ab44 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.css @@ -0,0 +1,197 @@ +.headline { + color: rgb(0, 0, 0); + font-size: 28px; + letter-spacing: 0.36px; + margin-bottom: 24px; + font-family: var(--lwc-fontFamily); +} +.divHeadline { + color: rgb(106, 106, 106); + font-size: 14px; + letter-spacing: 0.1px; + font-family: var(--lwc-fontFamily); +} +.headlineDate { + font-size: 16px; + font-weight: 400; + line-height: 22px; + color: #000000; + flex: none; + order: 1; + flex-grow: 0; +} +.divInfo { + margin: 16px; + border: 1px solid rgba(159, 170, 181, 0.5); + border-radius: 12px; + padding: 16px; +} +h2 { + color: rgb(0, 0, 0); + font-size: 16px; +} + +p { + color: rgb(106, 106, 106); + font-size: 14px; + letter-spacing: 0.18px; +} +.backButton { + margin-bottom: 7px; + margin-left: 0px; + font-size: 16px; +} +.confirmBtnLayout { + position: fixed; + left: 1%; + bottom: 0%; + width: 100%; + background-color: rgb(250, 246, 246); + padding-top: 5px; + padding-left: 5px; + padding-right: 10px; +} +.confirmBtn { + width: 100%; + left: 50%; + -ms-transform: translate(-50%, 0%); + transform: translate(-50%, 0%); + height: 50px; + font-size: 16px; + border-radius: 12px; + background-color: #0d7fa8; + font-weight: 500; +} +.calendarView { + position: -webkit-sticky; + position: sticky; + top: 0; + background-color: white; + z-index: 100; + padding: 0 16px; +} +.acceptNewAptTitle { + font-weight: 500; + font-size: 18px; + line-height: 21px; + display: flex; + align-items: center; + text-align: center; + flex-direction: column; +} +.acceptNewAptClose { + --lwc-colorTextIconDefault: #0d7fa8; + margin-top: 2px; + --sds-c-icon-color-foreground-default: #0d7fa8; +} +.modal { + position: fixed; + top: auto; + bottom: 0px; + left: 0px; +} +.WorkTypeName { + height: 19px; + color: rgb(0, 0, 0); + font-size: 16px; + font-weight: normal; + letter-spacing: 0.21px; +} +.spinnerHolder { + position: relative; + display: inline-block; + width: 80px; + height: 80px; + text-align: center; +} +.slds-spinner { + position: fixed; +} +.slds-spinner_container { + position: fixed; +} + +svg[class*="slds-button__icon_left"] { + padding-bottom: 2px !important; +} + +.modal-footer { + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: center; + padding: 0 16px 16px 16px; + gap: 16px; + height: 80px; + border-radius: 0px; + flex: none; + order: 3; + align-self: stretch; + flex-grow: 0; +} +.secondary-info { + font-weight: 400; + font-size: 16px; + line-height: 22px; + color: #444444; + flex: none; + order: 2; + flex-grow: 0; + margin-top: 8px; +} +.modal-title-container { + border-bottom: 1px solid rgba(159, 170, 181, 0.5); + box-sizing: border-box; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + padding: 0px; + isolation: isolate; + height: 48px; + padding: 16px; +} +.head-line-work-type-name { + font-weight: 500; + font-size: 18px; + line-height: 21px; + color: #000000; + flex: none; + order: 0; + flex-grow: 0; + margin-bottom: 8px; +} + +.info { + font-size: 16px; + line-height: 22px; + color: rgba(68, 68, 68, 1); + border: 1px solid rgba(159, 170, 181, 0.5); + border-radius: 12px; + padding: 16px; + margin: 16px; +} + +.info-emph { + font-size: 16px; + line-height: 22px; + font-weight: 500; + margin-bottom: 4px; + color: rgba(0, 0, 0, 1); +} + +.info-date { + font-size: 16px; + line-height: 22px; + font-weight: 400; + margin-bottom: 4px; + color: rgba(0, 0, 0, 1); +} + +.appointment-number { + font-size: 16px; + line-height: 22px; + font-weight: 400; + margin-bottom: 4px; + color: #444444; +} diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.html b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.html new file mode 100644 index 0000000..5b4e9fa --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.html @@ -0,0 +1,50 @@ + diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js-meta.xml b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSchedulingContainer/mobileAppointmentBookingSchedulingContainer.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.html b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.html new file mode 100644 index 0000000..056fe5d --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.html @@ -0,0 +1,17 @@ + diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.js diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.js-meta.xml b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.js-meta.xml similarity index 93% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.js-meta.xml rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.js-meta.xml index da5dc77..59e36be 100644 --- a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.js-meta.xml +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/mobileAppointmentBookingSettingsContainer.js-meta.xml @@ -1,4 +1,4 @@ - + 55.0 true diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/overrideCSS.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/overrideCSS.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/overrideCSS.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSettingsContainer/overrideCSS.js diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/labels.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/labels.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/labels.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/labels.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.css b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.css new file mode 100644 index 0000000..e370449 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.css @@ -0,0 +1,113 @@ +.header { + color: rgb(0, 0, 0); + font-size: 16px; + font-weight: 500; + letter-spacing: -0.38px; + margin-top: 24px; + margin-bottom: 8px; +} +.timeslotButton { + width: 100%; + left: 50%; + -ms-transform: translate(-50%, 0%); + transform: translate(-50%, 0%); + height: 48px; + font-size: 16px; + border-radius: 12px; + border-color: #0d7fa8; + font-weight: 500; + color: #0d7fa8; + line-height: 22px; + display: flex; + align-items: center; + text-align: center; + margin: 8px 0; +} + +.timeslotButton:active { + opacity: 25%; +} +.timeslotButton:hover { + opacity: 25%; +} +.timeslotButton:focus { + opacity: 25%; +} + +.time-slot-btn-wrapper { + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: center; + padding-top: 8px; + gap: 16px; +} +.noSlotLabel { + height: 18px; + color: #706e6b; + font-size: 15px; + font-weight: normal; + letter-spacing: -0.36px; +} +.headerBold { + color: rgb(0, 0, 0); + font-size: 16px; + font-weight: 700; + letter-spacing: -0.38px; +} +.slots-container { + background-color: white; + padding: 0 16px 16px 16px; +} +.page-title { + color: rgb(0, 0, 0); + font-size: 18px; + font-weight: 500; + letter-spacing: -0.38px; + margin-top: 10px; + margin-bottom: 4px; + padding-top: 10px; + padding-bottom: 10px; +} + +.separator { + height: 1px; + background-color: rgba(159, 170, 181, 0.5); + margin: 0 -16px; +} + +.section { + background-color: rgba(238, 238, 238, 1); + height: 10px; + margin: 16px -16px 0 -16px; +} + +.active-slot { + opacity: 25%; +} + +.grey-action-icon { + margin-bottom: 16px; + --sds-c-icon-color-background: #eeeeee; +} + +.empty-slots-container { + background-color: white; + display: flex; + flex-direction: column; + align-items: center; + padding: 40px 16px; + margin-top: 10px; +} + +.empty-slos-title { + font-size: 16px; + line-height: 22px; + font-weight: 500; +} +.empty-slos-body { + font-size: 16px; + line-height: 22px; + margin-top: 16px; + text-align: center; +} diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.html b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.html new file mode 100644 index 0000000..2a50e19 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.html @@ -0,0 +1,106 @@ + diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js-meta.xml b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingSlotsContainer/mobileAppointmentBookingSlotsContainer.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/constants b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/constants similarity index 100% rename from FollowUpAppointment/force-app/main/default/lwc/mobileAppointmentBookingUtils/constants rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/constants diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/constantsLabels.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/constantsLabels.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/constantsLabels.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/constantsLabels.js diff --git a/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/formatHelpers.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/formatHelpers.js similarity index 100% rename from RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/formatHelpers.js rename to projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/formatHelpers.js diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js new file mode 100644 index 0000000..bbaa709 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js @@ -0,0 +1 @@ +export * from "./formatHelpers"; diff --git a/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js-meta.xml b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js-meta.xml new file mode 100644 index 0000000..e013881 --- /dev/null +++ b/projects/RescheduleAppointments/force-app/main/default/lwc/mobileAppointmentBookingUtils/mobileAppointmentBookingUtils.js-meta.xml @@ -0,0 +1,5 @@ + + + 55.0 + false + diff --git a/ServiceDocumentSamples/jest.config.js b/projects/RescheduleAppointments/jest.config.js similarity index 100% rename from ServiceDocumentSamples/jest.config.js rename to projects/RescheduleAppointments/jest.config.js diff --git a/projects/RescheduleAppointments/package.json b/projects/RescheduleAppointments/package.json new file mode 100644 index 0000000..e921824 --- /dev/null +++ b/projects/RescheduleAppointments/package.json @@ -0,0 +1,29 @@ +{ + "name": "reschdule-appointments", + "private": true, + "version": "1.0.0", + "description": "Reschedule Appointments", + "scripts": { + "lint": "eslint **/lwc/**", + "test": "npm run test:unit", + "test:unit": "sfdx-lwc-jest", + "test:unit:watch": "sfdx-lwc-jest --watch", + "test:unit:debug": "sfdx-lwc-jest --debug", + "test:unit:coverage": "sfdx-lwc-jest --coverage", + "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", + "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"" + }, + "devDependencies": { + "@lwc/eslint-plugin-lwc": "^1.7.0", + "@prettier/plugin-xml": "^3.2.2", + "@salesforce/eslint-config-lwc": "^3.5.2", + "@salesforce/eslint-plugin-aura": "^2.1.0", + "@salesforce/eslint-plugin-lightning": "^1.0.0", + "@salesforce/sfdx-lwc-jest": "^3.1.0", + "eslint": "^8.55.0", + "eslint-plugin-import": "^2.29.0", + "eslint-plugin-jest": "^27.6.0", + "prettier": "^3.1.1", + "prettier-plugin-apex": "^2.0.1" + } +} diff --git a/projects/RescheduleAppointments/sfdx-project.json b/projects/RescheduleAppointments/sfdx-project.json new file mode 100644 index 0000000..3e366fe --- /dev/null +++ b/projects/RescheduleAppointments/sfdx-project.json @@ -0,0 +1,12 @@ +{ + "packageDirectories": [ + { + "path": "force-app", + "default": true + } + ], + "name": "RescheduleAppointments", + "namespace": "", + "sfdcLoginUrl": "https://login.salesforce.com", + "sourceApiVersion": "59.0" +} diff --git a/projects/ServiceDocumentSamples/.eslintignore b/projects/ServiceDocumentSamples/.eslintignore new file mode 100644 index 0000000..5f7b681 --- /dev/null +++ b/projects/ServiceDocumentSamples/.eslintignore @@ -0,0 +1,16 @@ +**/lwc/**/*.css +**/lwc/**/*.html +**/lwc/**/*.json +**/lwc/**/*.svg +**/lwc/**/*.xml +**/aura/**/*.auradoc +**/aura/**/*.cmp +**/aura/**/*.css +**/aura/**/*.design +**/aura/**/*.evt +**/aura/**/*.json +**/aura/**/*.svg +**/aura/**/*.tokens +**/aura/**/*.xml +**/aura/**/*.app +.sfdx diff --git a/ServiceDocumentSamples/.forceignore b/projects/ServiceDocumentSamples/.forceignore similarity index 100% rename from ServiceDocumentSamples/.forceignore rename to projects/ServiceDocumentSamples/.forceignore diff --git a/ServiceDocumentSamples/.gitignore b/projects/ServiceDocumentSamples/.gitignore similarity index 100% rename from ServiceDocumentSamples/.gitignore rename to projects/ServiceDocumentSamples/.gitignore diff --git a/projects/ServiceDocumentSamples/.prettierignore b/projects/ServiceDocumentSamples/.prettierignore new file mode 100755 index 0000000..26253eb --- /dev/null +++ b/projects/ServiceDocumentSamples/.prettierignore @@ -0,0 +1,12 @@ +# List files or directories below to ignore them when running prettier +# More information: https://prettier.io/docs/en/ignore.html +# + +**/staticresources/** +.localdevserver +.sfdx +.vscode + +coverage/ + +**/*.js-meta.xml \ No newline at end of file diff --git a/projects/ServiceDocumentSamples/.prettierrc b/projects/ServiceDocumentSamples/.prettierrc new file mode 100755 index 0000000..03da7ba --- /dev/null +++ b/projects/ServiceDocumentSamples/.prettierrc @@ -0,0 +1,14 @@ +{ + "trailingComma": "none", + "plugins": ["@prettier/plugin-xml", "prettier-plugin-apex"], + "overrides": [ + { + "files": "**/lwc/**/*.html", + "options": { "parser": "lwc" } + }, + { + "files": "*.{cmp,page,component}", + "options": { "parser": "html" } + } + ] +} diff --git a/ServiceDocumentSamples/README.md b/projects/ServiceDocumentSamples/README.md similarity index 100% rename from ServiceDocumentSamples/README.md rename to projects/ServiceDocumentSamples/README.md diff --git a/ServiceDocumentSamples/config/project-scratch-def.json b/projects/ServiceDocumentSamples/config/project-scratch-def.json similarity index 100% rename from ServiceDocumentSamples/config/project-scratch-def.json rename to projects/ServiceDocumentSamples/config/project-scratch-def.json diff --git a/HelloWorld/force-app/main/default/aura/.eslintrc.json b/projects/ServiceDocumentSamples/force-app/main/default/aura/.eslintrc.json similarity index 100% rename from HelloWorld/force-app/main/default/aura/.eslintrc.json rename to projects/ServiceDocumentSamples/force-app/main/default/aura/.eslintrc.json diff --git a/ServiceDocumentSamples/force-app/main/default/classes/FireCreateServiceDocumentInvocableAction.cls b/projects/ServiceDocumentSamples/force-app/main/default/classes/FireCreateServiceDocumentInvocableAction.cls similarity index 100% rename from ServiceDocumentSamples/force-app/main/default/classes/FireCreateServiceDocumentInvocableAction.cls rename to projects/ServiceDocumentSamples/force-app/main/default/classes/FireCreateServiceDocumentInvocableAction.cls diff --git a/ServiceDocumentSamples/force-app/main/default/classes/FireCreateServiceDocumentInvocableAction.cls-meta.xml b/projects/ServiceDocumentSamples/force-app/main/default/classes/FireCreateServiceDocumentInvocableAction.cls-meta.xml similarity index 100% rename from ServiceDocumentSamples/force-app/main/default/classes/FireCreateServiceDocumentInvocableAction.cls-meta.xml rename to projects/ServiceDocumentSamples/force-app/main/default/classes/FireCreateServiceDocumentInvocableAction.cls-meta.xml diff --git a/projects/ServiceDocumentSamples/force-app/main/default/lwc/.eslintrc.json b/projects/ServiceDocumentSamples/force-app/main/default/lwc/.eslintrc.json new file mode 100644 index 0000000..a82e76d --- /dev/null +++ b/projects/ServiceDocumentSamples/force-app/main/default/lwc/.eslintrc.json @@ -0,0 +1,14 @@ +{ + "extends": ["@salesforce/eslint-config-lwc/recommended"], + "overrides": [ + { + "files": ["*.test.js"], + "rules": { + "@lwc/lwc/no-unexpected-wire-adapter-usages": "off" + }, + "env": { + "node": true + } + } + ] +} diff --git a/ServiceDocumentSamples/force-app/main/default/lwc/mediumHeaderText/mediumHeaderText.html b/projects/ServiceDocumentSamples/force-app/main/default/lwc/mediumHeaderText/mediumHeaderText.html similarity index 100% rename from ServiceDocumentSamples/force-app/main/default/lwc/mediumHeaderText/mediumHeaderText.html rename to projects/ServiceDocumentSamples/force-app/main/default/lwc/mediumHeaderText/mediumHeaderText.html diff --git a/ServiceDocumentSamples/force-app/main/default/lwc/mediumHeaderText/mediumHeaderText.js b/projects/ServiceDocumentSamples/force-app/main/default/lwc/mediumHeaderText/mediumHeaderText.js similarity index 100% rename from ServiceDocumentSamples/force-app/main/default/lwc/mediumHeaderText/mediumHeaderText.js rename to projects/ServiceDocumentSamples/force-app/main/default/lwc/mediumHeaderText/mediumHeaderText.js diff --git a/ServiceDocumentSamples/force-app/main/default/lwc/mediumHeaderText/mediumHeaderText.js-meta.xml b/projects/ServiceDocumentSamples/force-app/main/default/lwc/mediumHeaderText/mediumHeaderText.js-meta.xml similarity index 100% rename from ServiceDocumentSamples/force-app/main/default/lwc/mediumHeaderText/mediumHeaderText.js-meta.xml rename to projects/ServiceDocumentSamples/force-app/main/default/lwc/mediumHeaderText/mediumHeaderText.js-meta.xml diff --git a/ServiceDocumentSamples/force-app/main/default/lwc/staticImage/staticImage.html b/projects/ServiceDocumentSamples/force-app/main/default/lwc/staticImage/staticImage.html similarity index 100% rename from ServiceDocumentSamples/force-app/main/default/lwc/staticImage/staticImage.html rename to projects/ServiceDocumentSamples/force-app/main/default/lwc/staticImage/staticImage.html diff --git a/ServiceDocumentSamples/force-app/main/default/lwc/staticImage/staticImage.js b/projects/ServiceDocumentSamples/force-app/main/default/lwc/staticImage/staticImage.js similarity index 100% rename from ServiceDocumentSamples/force-app/main/default/lwc/staticImage/staticImage.js rename to projects/ServiceDocumentSamples/force-app/main/default/lwc/staticImage/staticImage.js diff --git a/ServiceDocumentSamples/force-app/main/default/lwc/staticImage/staticImage.js-meta.xml b/projects/ServiceDocumentSamples/force-app/main/default/lwc/staticImage/staticImage.js-meta.xml similarity index 100% rename from ServiceDocumentSamples/force-app/main/default/lwc/staticImage/staticImage.js-meta.xml rename to projects/ServiceDocumentSamples/force-app/main/default/lwc/staticImage/staticImage.js-meta.xml diff --git a/ServiceDocumentSamples/force-app/main/default/triggers/ServiceDocumentCreation.trigger b/projects/ServiceDocumentSamples/force-app/main/default/triggers/ServiceDocumentCreation.trigger similarity index 100% rename from ServiceDocumentSamples/force-app/main/default/triggers/ServiceDocumentCreation.trigger rename to projects/ServiceDocumentSamples/force-app/main/default/triggers/ServiceDocumentCreation.trigger diff --git a/ServiceDocumentSamples/force-app/main/default/triggers/ServiceDocumentCreation.trigger-meta.xml b/projects/ServiceDocumentSamples/force-app/main/default/triggers/ServiceDocumentCreation.trigger-meta.xml similarity index 100% rename from ServiceDocumentSamples/force-app/main/default/triggers/ServiceDocumentCreation.trigger-meta.xml rename to projects/ServiceDocumentSamples/force-app/main/default/triggers/ServiceDocumentCreation.trigger-meta.xml diff --git a/projects/ServiceDocumentSamples/jest.config.js b/projects/ServiceDocumentSamples/jest.config.js new file mode 100644 index 0000000..410b3d5 --- /dev/null +++ b/projects/ServiceDocumentSamples/jest.config.js @@ -0,0 +1,6 @@ +const { jestConfig } = require("@salesforce/sfdx-lwc-jest/config"); + +module.exports = { + ...jestConfig, + modulePathIgnorePatterns: ["/.localdevserver"] +}; diff --git a/projects/ServiceDocumentSamples/package.json b/projects/ServiceDocumentSamples/package.json new file mode 100644 index 0000000..100b5fd --- /dev/null +++ b/projects/ServiceDocumentSamples/package.json @@ -0,0 +1,24 @@ +{ + "name": "service-document-sample", + "private": true, + "version": "1.0.0", + "description": "Service Document Sample", + "scripts": { + "lint": "eslint **/lwc/**", + "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"", + "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,js,json,md,page,trigger,xml,yaml,yml}\"" + }, + "devDependencies": { + "@lwc/eslint-plugin-lwc": "^1.7.0", + "@prettier/plugin-xml": "^3.2.2", + "@salesforce/eslint-config-lwc": "^3.5.2", + "@salesforce/eslint-plugin-aura": "^2.1.0", + "@salesforce/eslint-plugin-lightning": "^1.0.0", + "@salesforce/sfdx-lwc-jest": "^3.1.0", + "eslint": "^8.55.0", + "eslint-plugin-import": "^2.29.0", + "eslint-plugin-jest": "^27.6.0", + "prettier": "^3.1.1", + "prettier-plugin-apex": "^2.0.1" + } +} diff --git a/ServiceDocumentSamples/sfdx-project.json b/projects/ServiceDocumentSamples/sfdx-project.json similarity index 100% rename from ServiceDocumentSamples/sfdx-project.json rename to projects/ServiceDocumentSamples/sfdx-project.json diff --git a/UploadAndAnnotateImages/.eslintignore b/projects/UploadAndAnnotateImages/.eslintignore similarity index 100% rename from UploadAndAnnotateImages/.eslintignore rename to projects/UploadAndAnnotateImages/.eslintignore diff --git a/UploadAndAnnotateImages/.forceignore b/projects/UploadAndAnnotateImages/.forceignore similarity index 100% rename from UploadAndAnnotateImages/.forceignore rename to projects/UploadAndAnnotateImages/.forceignore diff --git a/UploadAndAnnotateImages/.gitignore b/projects/UploadAndAnnotateImages/.gitignore similarity index 100% rename from UploadAndAnnotateImages/.gitignore rename to projects/UploadAndAnnotateImages/.gitignore diff --git a/projects/UploadAndAnnotateImages/.prettierignore b/projects/UploadAndAnnotateImages/.prettierignore new file mode 100755 index 0000000..26253eb --- /dev/null +++ b/projects/UploadAndAnnotateImages/.prettierignore @@ -0,0 +1,12 @@ +# List files or directories below to ignore them when running prettier +# More information: https://prettier.io/docs/en/ignore.html +# + +**/staticresources/** +.localdevserver +.sfdx +.vscode + +coverage/ + +**/*.js-meta.xml \ No newline at end of file diff --git a/projects/UploadAndAnnotateImages/.prettierrc b/projects/UploadAndAnnotateImages/.prettierrc new file mode 100755 index 0000000..03da7ba --- /dev/null +++ b/projects/UploadAndAnnotateImages/.prettierrc @@ -0,0 +1,14 @@ +{ + "trailingComma": "none", + "plugins": ["@prettier/plugin-xml", "prettier-plugin-apex"], + "overrides": [ + { + "files": "**/lwc/**/*.html", + "options": { "parser": "lwc" } + }, + { + "files": "*.{cmp,page,component}", + "options": { "parser": "html" } + } + ] +} diff --git a/UploadAndAnnotateImages/README.md b/projects/UploadAndAnnotateImages/README.md similarity index 100% rename from UploadAndAnnotateImages/README.md rename to projects/UploadAndAnnotateImages/README.md diff --git a/UploadAndAnnotateImages/config/project-scratch-def.json b/projects/UploadAndAnnotateImages/config/project-scratch-def.json similarity index 100% rename from UploadAndAnnotateImages/config/project-scratch-def.json rename to projects/UploadAndAnnotateImages/config/project-scratch-def.json diff --git a/projects/UploadAndAnnotateImages/force-app/main/default/lwc/.eslintrc.json b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/.eslintrc.json new file mode 100644 index 0000000..a82e76d --- /dev/null +++ b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/.eslintrc.json @@ -0,0 +1,14 @@ +{ + "extends": ["@salesforce/eslint-config-lwc/recommended"], + "overrides": [ + { + "files": ["*.test.js"], + "rules": { + "@lwc/lwc/no-unexpected-wire-adapter-usages": "off" + }, + "env": { + "node": true + } + } + ] +} diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/__tests__/colorsPicker.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/__tests__/colorsPicker.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/__tests__/colorsPicker.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/__tests__/colorsPicker.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.css b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.css similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.css rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.css diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/colorsPicker/colorsPicker.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/__tests__/darkInput.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/__tests__/darkInput.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/__tests__/darkInput.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/__tests__/darkInput.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.css b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.css similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.css rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.css diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/darkInput/darkInput.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/__tests__/imageAnnotate.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/__tests__/imageAnnotate.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/__tests__/imageAnnotate.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/__tests__/imageAnnotate.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.css b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.css similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.css rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.css diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageAnnotate/imageAnnotate.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/__tests__/imageCapture.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/__tests__/imageCapture.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/__tests__/imageCapture.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/__tests__/imageCapture.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/imageCapture.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/imageCapture.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/imageCapture.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/imageCapture.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/imageCapture.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/imageCapture.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/imageCapture.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/imageCapture.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/imageCapture.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/imageCapture.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/imageCapture.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCapture/imageCapture.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/__tests__/imageCropper.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/__tests__/imageCropper.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/__tests__/imageCropper.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/__tests__/imageCropper.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.css b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.css similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.css rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.css diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageCropper/imageCropper.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/__tests__/imageInfoEditor.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/__tests__/imageInfoEditor.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/__tests__/imageInfoEditor.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/__tests__/imageInfoEditor.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.css b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.css similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.css rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.css diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoEditor/imageInfoEditor.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/__tests__/imageInfoViewer.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/__tests__/imageInfoViewer.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/__tests__/imageInfoViewer.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/__tests__/imageInfoViewer.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.css b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.css similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.css rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.css diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageInfoViewer/imageInfoViewer.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/__tests__/imagePainter.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/__tests__/imagePainter.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/__tests__/imagePainter.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/__tests__/imagePainter.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.css b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.css similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.css rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.css diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imagePainter/imagePainter.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/__tests__/imageSelector.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/__tests__/imageSelector.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/__tests__/imageSelector.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/__tests__/imageSelector.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.css b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.css similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.css rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.css diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageSelector/imageSelector.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/__tests__/imageTextEditor.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/__tests__/imageTextEditor.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/__tests__/imageTextEditor.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/__tests__/imageTextEditor.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.css b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.css similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.css rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.css diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/imageTextEditor/imageTextEditor.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/__tests__/infoEditorPrompt.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/__tests__/infoEditorPrompt.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/__tests__/infoEditorPrompt.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/__tests__/infoEditorPrompt.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.css b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.css similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.css rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.css diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/infoEditorPrompt/infoEditorPrompt.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/__tests__/loadingSpinner.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/__tests__/loadingSpinner.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/__tests__/loadingSpinner.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/__tests__/loadingSpinner.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.css b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.css similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.css rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.css diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/loadingSpinner/loadingSpinner.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/__tests__/toastMessage.test.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/__tests__/toastMessage.test.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/__tests__/toastMessage.test.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/__tests__/toastMessage.test.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.css b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.css similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.css rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.css diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.html b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.html similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.html rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.html diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/toastMessage/toastMessage.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/utilsImageCapture/cropper.esm.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/utilsImageCapture/cropper.esm.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/utilsImageCapture/cropper.esm.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/utilsImageCapture/cropper.esm.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/utilsImageCapture/utilsImageCapture.js b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/utilsImageCapture/utilsImageCapture.js similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/utilsImageCapture/utilsImageCapture.js rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/utilsImageCapture/utilsImageCapture.js diff --git a/UploadAndAnnotateImages/force-app/main/default/lwc/utilsImageCapture/utilsImageCapture.js-meta.xml b/projects/UploadAndAnnotateImages/force-app/main/default/lwc/utilsImageCapture/utilsImageCapture.js-meta.xml similarity index 100% rename from UploadAndAnnotateImages/force-app/main/default/lwc/utilsImageCapture/utilsImageCapture.js-meta.xml rename to projects/UploadAndAnnotateImages/force-app/main/default/lwc/utilsImageCapture/utilsImageCapture.js-meta.xml diff --git a/UploadAndAnnotateImages/force-app/test/jest-mocks/mediaUtils/mediaUtils.js b/projects/UploadAndAnnotateImages/force-app/test/jest-mocks/mediaUtils/mediaUtils.js similarity index 100% rename from UploadAndAnnotateImages/force-app/test/jest-mocks/mediaUtils/mediaUtils.js rename to projects/UploadAndAnnotateImages/force-app/test/jest-mocks/mediaUtils/mediaUtils.js diff --git a/UploadAndAnnotateImages/jest.config.js b/projects/UploadAndAnnotateImages/jest.config.js similarity index 100% rename from UploadAndAnnotateImages/jest.config.js rename to projects/UploadAndAnnotateImages/jest.config.js diff --git a/projects/UploadAndAnnotateImages/package.json b/projects/UploadAndAnnotateImages/package.json new file mode 100644 index 0000000..b18867e --- /dev/null +++ b/projects/UploadAndAnnotateImages/package.json @@ -0,0 +1,30 @@ +{ + "name": "upload-and-annotate-images", + "private": true, + "version": "1.0.0", + "description": "Upload and Annotate Images", + "scripts": { + "lint": "eslint **/lwc/**", + "test": "npm run test:unit", + "test:unit": "sfdx-lwc-jest", + "test:unit:watch": "sfdx-lwc-jest --watch", + "test:unit:debug": "sfdx-lwc-jest --debug", + "test:unit:coverage": "sfdx-lwc-jest --coverage", + "prettier": "prettier --write \"**/*.{cls,cmp,component,css,html,json,md,page,trigger,xml,yaml,yml}\"", + "prettier:verify": "prettier --list-different \"**/*.{cls,cmp,component,css,html,json,md,page,trigger,xml,yaml,yml}\"" + }, + "devDependencies": { + "@lwc/eslint-plugin-lwc": "^1.7.0", + "@prettier/plugin-xml": "^3.2.2", + "@salesforce/eslint-config-lwc": "^3.5.2", + "@salesforce/eslint-plugin-aura": "^2.1.0", + "@salesforce/eslint-plugin-lightning": "^1.0.0", + "@salesforce/sfdx-lwc-jest": "^3.1.0", + "eslint": "^8.55.0", + "eslint-plugin-import": "^2.29.0", + "eslint-plugin-jest": "^27.6.0", + "prettier": "^3.1.1", + "prettier-plugin-apex": "^2.0.1", + "jest-canvas-mock": "^2.5.2" + } +} diff --git a/projects/UploadAndAnnotateImages/sfdx-project.json b/projects/UploadAndAnnotateImages/sfdx-project.json new file mode 100644 index 0000000..1f04e40 --- /dev/null +++ b/projects/UploadAndAnnotateImages/sfdx-project.json @@ -0,0 +1,12 @@ +{ + "packageDirectories": [ + { + "path": "force-app", + "default": true + } + ], + "name": "UploadAndAnnotateImages", + "namespace": "", + "sfdcLoginUrl": "https://login.salesforce.com", + "sourceApiVersion": "59.0" +} diff --git a/yarn.lock b/yarn.lock index f392ede..2a42ba1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,486 +2,7334 @@ # yarn lockfile v1 -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: - type-fest "^0.21.3" + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== -ansi-styles@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== +"@babel/core@7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.3.tgz#5ec09c8803b91f51cc887dedc2654a35852849c9" + integrity sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew== dependencies: - color-convert "^2.0.1" + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.2" + "@babel/parser" "^7.23.3" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.3" + "@babel/types" "^7.23.3" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" -ansi-styles@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.3": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.6.tgz#8be77cd77c55baadcc1eae1c33df90ab6d2151d4" + integrity sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.6" + "@babel/parser" "^7.23.6" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.6" + "@babel/types" "^7.23.6" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +"@babel/core@~7.22.8": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.20.tgz#e3d0eed84c049e2a2ae0a64d27b6a37edec385b7" + integrity sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.22.15" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.22.20" + "@babel/helpers" "^7.22.15" + "@babel/parser" "^7.22.16" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.22.20" + "@babel/types" "^7.22.19" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +"@babel/eslint-parser@~7.22.7": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz#263f059c476e29ca4972481a17b8b660cb025a34" + integrity sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg== dependencies: - fill-range "^7.0.1" + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.1" -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== +"@babel/generator@7.21.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.4.tgz#64a94b7448989f421f919d5239ef553b37bb26bc" + integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA== + dependencies: + "@babel/types" "^7.21.4" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== +"@babel/generator@^7.22.15", "@babel/generator@^7.23.3", "@babel/generator@^7.23.6", "@babel/generator@^7.7.2": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== dependencies: - restore-cursor "^3.1.0" + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" + "@babel/types" "^7.22.5" -cli-truncate@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" - integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== +"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== dependencies: - slice-ansi "^5.0.0" - string-width "^5.0.0" + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.6.tgz#b04d915ce92ce363666f816a884cdcfc9be04953" + integrity sha512-cBXU1vZni/CpGF29iTu4YRbOZt3Wat6zCoMDxRF1MayiEc4URxOj31tT65HUM0CRpMowA3HCJaAOVOUnMf96cw== dependencies: - color-name "~1.1.4" + "@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/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== -colorette@^2.0.19: - version "2.0.19" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" -commander@^9.4.1: - version "9.5.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" - integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" -cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" + "@babel/types" "^7.23.0" -debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== +"@babel/helper-module-imports@7.22.15", "@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== dependencies: - ms "2.1.2" + "@babel/types" "^7.22.15" -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== +"@babel/helper-module-transforms@^7.22.20", "@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== -execa@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" - integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== +"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^3.0.1" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +"@babel/helper-replace-supers@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== dependencies: - to-regex-range "^5.0.1" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" -get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" -human-signals@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" - integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" -husky@^8.0.2: - version "8.0.3" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" - integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== -is-fullwidth-code-point@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" - integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== +"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== +"@babel/helpers@^7.22.15", "@babel/helpers@^7.23.2", "@babel/helpers@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.6.tgz#d03af2ee5fb34691eec0cda90f5ecbb4d4da145a" + integrity sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.6" + "@babel/types" "^7.23.6" -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" -lilconfig@2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" - integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.22.16", "@babel/parser@^7.23.3", "@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== -lint-staged@^13.1.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.1.0.tgz#d4c61aec939e789e489fa51987ec5207b50fd37e" - integrity sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ== +"@babel/plugin-proposal-async-generator-functions@7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== dependencies: - cli-truncate "^3.1.0" - colorette "^2.0.19" - commander "^9.4.1" - debug "^4.3.4" - execa "^6.1.0" - lilconfig "2.0.6" - listr2 "^5.0.5" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-inspect "^1.12.2" - pidtree "^0.6.0" - string-argv "^0.3.1" - yaml "^2.1.3" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/plugin-syntax-async-generators" "^7.8.4" -listr2@^5.0.5: - version "5.0.6" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.6.tgz#3c61153383869ffaad08a8908d63edfde481dff8" - integrity sha512-u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag== +"@babel/plugin-proposal-class-properties@7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== dependencies: - cli-truncate "^2.1.0" - colorette "^2.0.19" - log-update "^4.0.0" - p-map "^4.0.0" - rfdc "^1.3.0" - rxjs "^7.5.7" - through "^2.3.8" - wrap-ansi "^7.0.0" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== +"@babel/plugin-proposal-dynamic-import@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== +"@babel/plugin-proposal-object-rest-spread@7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.20.7" -micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: - braces "^3.0.2" - picomatch "^2.3.1" + "@babel/helper-plugin-utils" "^7.8.0" -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +"@babel/plugin-syntax-decorators@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz#a1d351d6c25bfdcf2e16f99b039101bc0ffcb0ca" + integrity sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" -npm-run-path@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: - path-key "^4.0.0" + "@babel/helper-plugin-utils" "^7.10.4" -object-inspect@^1.12.2: - version "1.12.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== +"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== dependencies: - mimic-fn "^2.1.0" + "@babel/helper-plugin-utils" "^7.22.5" -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== +"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: - mimic-fn "^4.0.0" + "@babel/helper-plugin-utils" "^7.10.4" -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: - aggregate-error "^3.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +"@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" -pidtree@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" - integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" -prettier@^2.8.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.2.tgz#c4ea1b5b454d7c4b59966db2e06ed7eec5dfd160" - integrity sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw== +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== +"@babel/plugin-syntax-typescript@^7.23.3", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" + "@babel/helper-plugin-utils" "^7.22.5" -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== +"@babel/plugin-transform-async-to-generator@7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" -rxjs@^7.5.7: - version "7.8.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" - integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== +"@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== dependencies: - tslib "^2.1.0" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== +"@babel/plugin-transform-parameters@^7.20.7": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== dependencies: - shebang-regex "^3.0.0" + "@babel/helper-plugin-utils" "^7.22.5" -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +"@babel/plugin-transform-typescript@^7.23.3": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" + integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.23.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.23.3" -signal-exit@^3.0.2, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +"@babel/preset-typescript@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" + integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-typescript" "^7.23.3" -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== +"@babel/template@^7.22.15", "@babel/template@^7.3.3": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== +"@babel/traverse@^7.22.20", "@babel/traverse@^7.23.3", "@babel/traverse@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5" + integrity sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ== dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@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.6" + "@babel/types" "^7.23.6" + debug "^4.3.1" + globals "^11.1.0" -slice-ansi@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" - integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.4", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.23.6", "@babel/types@^7.3.3": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" + integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== dependencies: - ansi-styles "^6.0.0" - is-fullwidth-code-point "^4.0.0" + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" -string-argv@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" + eslint-visitor-keys "^3.3.0" -string-width@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== +"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== +"@eslint/js@8.55.0": + version "8.55.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.55.0.tgz#b721d52060f369aa259cf97392403cb9ce892ec6" + integrity sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA== + +"@gar/promisify@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + +"@hapi/hoek@^9.0.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.0.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== dependencies: - ansi-regex "^5.0.1" + "@hapi/hoek" "^9.0.0" -strip-ansi@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== +"@humanwhocodes/config-array@^0.11.13": + version "0.11.13" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" + integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== dependencies: - ansi-regex "^6.0.1" + "@humanwhocodes/object-schema" "^2.0.1" + debug "^4.1.1" + minimatch "^3.0.5" -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== +"@humanwhocodes/object-schema@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" + integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== +"@hutson/parse-repository-url@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" + integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== dependencies: - is-number "^7.0.0" + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" -tslib@^2.1.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" - integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + 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" -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + 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" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + 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.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + 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.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.20" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" + integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@lerna/create@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@lerna/create/-/create-8.0.0.tgz#fc12ac308d27b6b16304e0b2d11b8efaa93d524f" + integrity sha512-mCeEhjFDRwPY7J4uxCjqdzPwPFBUGlkdlQjBidaX5XaoQcxR2hAAvgHZKfVGkUUEZKfyPcWwKzen4KydNB2G7A== + dependencies: + "@npmcli/run-script" "6.0.2" + "@nx/devkit" ">=17.1.2 < 18" + "@octokit/plugin-enterprise-rest" "6.0.1" + "@octokit/rest" "19.0.11" + byte-size "8.1.1" + chalk "4.1.0" + clone-deep "4.0.1" + cmd-shim "6.0.1" + columnify "1.6.0" + conventional-changelog-core "5.0.1" + conventional-recommended-bump "7.0.1" + cosmiconfig "^8.2.0" + dedent "0.7.0" + execa "5.0.0" + fs-extra "^11.1.1" + get-stream "6.0.0" + git-url-parse "13.1.0" + glob-parent "5.1.2" + globby "11.1.0" + graceful-fs "4.2.11" + has-unicode "2.0.1" + ini "^1.3.8" + init-package-json "5.0.0" + inquirer "^8.2.4" + is-ci "3.0.1" + is-stream "2.0.0" + js-yaml "4.1.0" + libnpmpublish "7.3.0" + load-json-file "6.2.0" + lodash "^4.17.21" + make-dir "4.0.0" + minimatch "3.0.5" + multimatch "5.0.0" + node-fetch "2.6.7" + npm-package-arg "8.1.1" + npm-packlist "5.1.1" + npm-registry-fetch "^14.0.5" + npmlog "^6.0.2" + nx ">=17.1.2 < 18" + p-map "4.0.0" + p-map-series "2.1.0" + p-queue "6.6.2" + p-reduce "^2.1.0" + pacote "^15.2.0" + pify "5.0.0" + read-cmd-shim "4.0.0" + read-package-json "6.0.4" + resolve-from "5.0.0" + rimraf "^4.4.1" + semver "^7.3.4" + signal-exit "3.0.7" + slash "^3.0.0" + ssri "^9.0.1" + strong-log-transformer "2.1.0" + tar "6.1.11" + temp-dir "1.0.0" + upath "2.0.1" + uuid "^9.0.0" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "5.0.0" + write-file-atomic "5.0.1" + write-pkg "4.0.0" + yargs "17.7.2" + yargs-parser "21.1.1" + +"@locker/babel-plugin-transform-unforgeables@0.20.0": + version "0.20.0" + resolved "https://registry.yarnpkg.com/@locker/babel-plugin-transform-unforgeables/-/babel-plugin-transform-unforgeables-0.20.0.tgz#d4c5a280ce0abe1c77ccd8c356e48ecf7b836fa1" + integrity sha512-7bz3Zw/y+3n0zISjOwhVXF7j1DmEqFBVFup5Y27E3VyCOVNu6EVH4WWyYV2gjGPfhN7CkljIOZuk5ouiujIcrw== + dependencies: + "@babel/generator" "7.21.4" + match-json "1.3.5" + +"@lwc/babel-plugin-component@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@lwc/babel-plugin-component/-/babel-plugin-component-5.0.2.tgz#00ab21203a95213f4656792e3b8d98ed009c61f1" + integrity sha512-DOUfMeW12Dd1IV/gES/YhdoQOisFHKHVkqxX2E+RxrKvxNOYwWnD5NMJb3sjJWZumD6SmpQKMY9Sq6bkvlGESg== + dependencies: + "@babel/helper-module-imports" "7.22.15" + "@lwc/errors" "5.0.2" + "@lwc/shared" "5.0.2" + line-column "~1.0.2" + +"@lwc/compiler@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@lwc/compiler/-/compiler-5.0.2.tgz#95242a79454836d773a5920597f498bb8ba14e89" + integrity sha512-RFsyT66AQYztBf67UNjB3kkwRUxatkfWke/gGAw0JkTFqPsaDs7lWxlzzphKSQxAbHni1zJSMAR+IIOYr8cKFA== + dependencies: + "@babel/core" "7.23.3" + "@babel/plugin-proposal-async-generator-functions" "7.20.7" + "@babel/plugin-proposal-class-properties" "7.18.6" + "@babel/plugin-proposal-object-rest-spread" "7.20.7" + "@babel/plugin-transform-async-to-generator" "7.23.3" + "@locker/babel-plugin-transform-unforgeables" "0.20.0" + "@lwc/babel-plugin-component" "5.0.2" + "@lwc/errors" "5.0.2" + "@lwc/shared" "5.0.2" + "@lwc/style-compiler" "5.0.2" + "@lwc/template-compiler" "5.0.2" + +"@lwc/engine-dom@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@lwc/engine-dom/-/engine-dom-5.0.2.tgz#800064ce56f6f19566dc550489085a572a4a4389" + integrity sha512-FDUEblWdpiuKYZyTm13+zjd2ZivxwuEdUlmoQ4wrsN72lTRaYnmiXG1/pBIjd/bFEtkipYnogdZ1xVEUezP+9Q== + +"@lwc/engine-server@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@lwc/engine-server/-/engine-server-5.0.2.tgz#d2b86f2e6c2e1cb45ce98ca5dfbbe63eb2fd4c8a" + integrity sha512-nwin+kLrBbCJinqH+Hr+QU1QrzxemjyWrGXlZkvzFI7NV70mXx6F836WIlE0s/qwV8npO/aJxYsQoanNDK3eXQ== + +"@lwc/errors@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@lwc/errors/-/errors-5.0.2.tgz#9496ec4c4f2f2ab8718b3b6e293614c373df1b6d" + integrity sha512-qkwI9Fq9RzB7toBBeIHZ0tyyu4e+GUubzN/jmajEu091cq7gaOAj2hzV+oREX+H/yLUnd0VIYx3lDABCW8aP9w== + +"@lwc/eslint-plugin-lwc@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@lwc/eslint-plugin-lwc/-/eslint-plugin-lwc-1.7.0.tgz#2d440800dede6fe12acb3f486dce95e34dd55b9d" + integrity sha512-nmyoIFAbUFR5lUEvmHdEqgIqbHquUHjiLBKmrGzocFOu8PKI4jMgZdjI53Wrcn2ddLwBUwLZyEdkcvms3ni00A== + dependencies: + globals "^13.23.0" + minimatch "^9.0.3" + +"@lwc/jest-preset@14.2.1": + version "14.2.1" + resolved "https://registry.yarnpkg.com/@lwc/jest-preset/-/jest-preset-14.2.1.tgz#87c9be39e9075fac9d32b6adb3ff6c200271b0b9" + integrity sha512-dr8NtY0tcjAQUn9rYzOBxwQ8d9xYESURqSvtejT8PyHjCtybjjvuECrSLeWx8cPTSBTWnM6/oYM9FpGoo7AFHA== + dependencies: + "@lwc/jest-resolver" "14.2.1" + "@lwc/jest-serializer" "14.2.1" + "@lwc/jest-transformer" "14.2.1" + +"@lwc/jest-resolver@14.2.1": + version "14.2.1" + resolved "https://registry.yarnpkg.com/@lwc/jest-resolver/-/jest-resolver-14.2.1.tgz#af8c9eb102dd007cc2a785576e7b4890cbb8bf75" + integrity sha512-+IP0PQlfAaqugkDJlpEqTmVwo5g46UOIYL4AsS1GZZU1rRwebAZD2Th+3Kn4hNZ+8eiuXZ8o4dyLLXdY68IUow== + dependencies: + "@lwc/jest-shared" "14.2.1" + +"@lwc/jest-serializer@14.2.1": + version "14.2.1" + resolved "https://registry.yarnpkg.com/@lwc/jest-serializer/-/jest-serializer-14.2.1.tgz#9ebf2fd0bc921eae29e1d7ecff832abbcfc4c565" + integrity sha512-xvcVkGJB/2phPR/qbzyVVus3Jy4SzEzPv9FNeNVfGwDyLZaaRMehkVQGrJOtyRje5KNLRpzUi530sd+HRl+tug== + dependencies: + "@lwc/jest-shared" "14.2.1" + pretty-format "^29.7.0" + +"@lwc/jest-shared@14.2.1": + version "14.2.1" + resolved "https://registry.yarnpkg.com/@lwc/jest-shared/-/jest-shared-14.2.1.tgz#60fd3906523c083034c3b2671fc14776a9a3080e" + integrity sha512-WICqZWciIMeV7O463mYF+b86ZzPaNTZZTUTFnBzoYPmkl1c7BS+HkB4YaIbXSLt0xKn1PdZ5tTBAxkQJIC4T8A== + +"@lwc/jest-transformer@14.2.1": + version "14.2.1" + resolved "https://registry.yarnpkg.com/@lwc/jest-transformer/-/jest-transformer-14.2.1.tgz#679f63613ce8bc3767939d6a08130efb7f81eeac" + integrity sha512-K4+WciM113GIiNQO0kVjG32F2j0JOs08M4WzJGKHwewVentXg2Q5F6sjC9OD0MCIKYSSHryYHxnSKbYav8uqng== + dependencies: + "@babel/core" "^7.23.3" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-decorators" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/preset-typescript" "^7.23.3" + "@lwc/jest-shared" "14.2.1" + babel-preset-jest "^29.6.3" + magic-string "^0.30.5" + semver "^7.5.4" + +"@lwc/module-resolver@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@lwc/module-resolver/-/module-resolver-5.0.2.tgz#96bba5f1a7d39dc7c16f301fe9c0d0fd649e7f54" + integrity sha512-+jtOQUJYM2idtx69C1iS85ivbu9SHzItrPvHgOS0gju7JqcGoQwEuY4HVG2uLadL3p2JVnzOhl83lZrPPlY5eA== + dependencies: + resolve "~1.22.6" + +"@lwc/shared@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@lwc/shared/-/shared-5.0.2.tgz#48ba1268db90e01da5773a323c67359637cc8eeb" + integrity sha512-iEa/QNV2xVlI5/7xRnRz1+k/WLxNX1/jxvab+h0U+Nd9MIBkmwFlkxPgE6EUh5S2PkqEUYdveN+pk3gj1bZQcg== + +"@lwc/style-compiler@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@lwc/style-compiler/-/style-compiler-5.0.2.tgz#6e4f915ed6e3d1ab877d7467b25ed752f76e15b1" + integrity sha512-wA0cg635YIErMmT2ublnh79RVlU9lEzWbT/KSsdfHVMucCjzumt0gG1li4aPXmj3NVgUlz1+3TAnxnCUy2CoGg== + dependencies: + "@lwc/shared" "5.0.2" + postcss "~8.4.31" + postcss-selector-parser "~6.0.13" + postcss-value-parser "~4.2.0" + string.prototype.matchall "^4.0.10" + +"@lwc/synthetic-shadow@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@lwc/synthetic-shadow/-/synthetic-shadow-5.0.2.tgz#7031d826d41f15594fcfa9519258463525364db6" + integrity sha512-hcjmcBvGC3ibWm79KBF8genoQlg2KOstI6Xk2BzOh5/9x6nnwdgFbaOoLr+xwPwE/vSA1Hd8g8T+Dd4ZeBFYEQ== + +"@lwc/template-compiler@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@lwc/template-compiler/-/template-compiler-5.0.2.tgz#5a58ee27f38ae492d3ac96362db68b56f4556fbe" + integrity sha512-pVK6CwvzDDAh7DDi2NcN2r8JYxeSUwUGhRtYfls0moATw/hLm5guTdskRQ/BCJgDqiKAtuu0oA9ZQe8/bAx+bg== + dependencies: + "@lwc/errors" "5.0.2" + "@lwc/shared" "5.0.2" + acorn "~8.10.0" + astring "~1.8.6" + estree-walker "~2.0.2" + he "~1.2.0" + +"@lwc/wire-service@5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@lwc/wire-service/-/wire-service-5.0.2.tgz#0f1e4d240e3802361a536d9b376137c3728a33df" + integrity sha512-9+K986zsl4aH7r60TgTMKVmEew6ZAOsMPL6NeTh36KJGjHly+TbekldMKnjNnHuM2ImbL+Fiq+DNJ4nrvrf6hg== + +"@mdn/browser-compat-data@^5.2.34", "@mdn/browser-compat-data@^5.3.13": + version "5.4.5" + resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-5.4.5.tgz#9ac6b967ef372098a802dd8efa4766cf25c525d9" + integrity sha512-n3/+wko8WFd/fbiPCOuBB6HfKL6hTcygFEZ/MpmvpMRbgDSdlNMopDFGjsoTYqCbzTVTX9TL/StXco4yx2v58Q== + +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" + integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== + dependencies: + eslint-scope "5.1.1" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@npmcli/fs@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" + integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== + dependencies: + "@gar/promisify" "^1.1.3" + semver "^7.3.5" + +"@npmcli/fs@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.0.tgz#233d43a25a91d68c3a863ba0da6a3f00924a173e" + integrity sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w== + dependencies: + semver "^7.3.5" + +"@npmcli/git@^4.0.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-4.1.0.tgz#ab0ad3fd82bc4d8c1351b6c62f0fa56e8fe6afa6" + integrity sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ== + dependencies: + "@npmcli/promise-spawn" "^6.0.0" + lru-cache "^7.4.4" + npm-pick-manifest "^8.0.0" + proc-log "^3.0.0" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^3.0.0" + +"@npmcli/installed-package-contents@^2.0.1": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz#bfd817eccd9e8df200919e73f57f9e3d9e4f9e33" + integrity sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ== + dependencies: + npm-bundled "^3.0.0" + npm-normalize-package-bin "^3.0.0" + +"@npmcli/move-file@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" + integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@npmcli/node-gyp@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz#101b2d0490ef1aa20ed460e4c0813f0db560545a" + integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA== + +"@npmcli/promise-spawn@^6.0.0", "@npmcli/promise-spawn@^6.0.1": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz#c8bc4fa2bd0f01cb979d8798ba038f314cfa70f2" + integrity sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg== + dependencies: + which "^3.0.0" + +"@npmcli/run-script@6.0.2", "@npmcli/run-script@^6.0.0": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-6.0.2.tgz#a25452d45ee7f7fb8c16dfaf9624423c0c0eb885" + integrity sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA== + dependencies: + "@npmcli/node-gyp" "^3.0.0" + "@npmcli/promise-spawn" "^6.0.0" + node-gyp "^9.0.0" + read-package-json-fast "^3.0.0" + which "^3.0.0" + +"@nrwl/devkit@17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-17.2.0.tgz#5dff00feb31f12f1d5c4f0fff41d35094b0c5914" + integrity sha512-FqyZbFGNwS51pKTF+d2sB4xym1yD/OYRKC4Sz3ku7mjk8yAWlJeT1JHT5gz56wrXiFKvATN/qEAXg7wlx3M1NA== + dependencies: + "@nx/devkit" "17.2.0" + +"@nrwl/tao@17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-17.2.0.tgz#f652de5adc6f51e60649ad3156ded2a54074d622" + integrity sha512-pBs9CaOgzRS4tPEcSeYmktQ1g1VC2C+kzt7X2xlowPx6VRP5eyUKtZUeKztib/Pw2G3RNRxA8E3IZYYcjSb8Vg== + dependencies: + nx "17.2.0" + tslib "^2.3.0" + +"@nx/devkit@17.2.0", "@nx/devkit@>=17.1.2 < 18": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-17.2.0.tgz#2d9095a74778dd98ceecfd74b55af5d17187b7e2" + integrity sha512-9cgVDicIf2rdlMfWLq48RIBCzpHNgLJhuUtHCyvogr1ePZfG3YGA2NPHHW/QtRAm5kT8x5dWLtf68nlrAkcP/A== + dependencies: + "@nrwl/devkit" "17.2.0" + ejs "^3.1.7" + enquirer "~2.3.6" + ignore "^5.0.4" + semver "7.5.3" + tmp "~0.2.1" + tslib "^2.3.0" + +"@nx/nx-darwin-arm64@17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-17.2.0.tgz#cc679e238a073497e3beff24075d89f97f0b257d" + integrity sha512-c26zrvevAOaoTAGz1+Spdet0seG82VYfgAfuVR1gn2tjVgvFw31RB/YMak2bJ1xFx7sFxZ2NOInRkn9y31lUWA== + +"@nx/nx-darwin-x64@17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-17.2.0.tgz#8353086b4b7bcd65f4550ce8128a0888e20a7cc9" + integrity sha512-hXYfMtqytcQqXGmWejx79VDkgTs4MTOfI9x4TMpdO2QsJwyDHr2q36bR8ob297hVwfiQoG7SkWvXiKNtPB4XCw== + +"@nx/nx-freebsd-x64@17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-17.2.0.tgz#391d4a7731ed05a094773809c42212bace374f06" + integrity sha512-PcbYzEhInEz8RNN23F0mYZoEXz9JL4XVqwcYfGWkcBEQ8GGwRmv776lfxg+7zDM1QlTwdsiSjQJQ7DRM/BwuTg== + +"@nx/nx-linux-arm-gnueabihf@17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-17.2.0.tgz#0fc02ffdf1fa0d411d1203f4f860477470c876c8" + integrity sha512-oHn7n7NWUy0h5DR0GDxog46pT4fE99DVuyTyIrUybasvsKOQhszg97AHzziwLT6V/jGVoND+aRx+yWoX+T2Gfw== + +"@nx/nx-linux-arm64-gnu@17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-17.2.0.tgz#91ff2d6286c492c370b2fcb892ca7a11a0bd998d" + integrity sha512-tc2HgxkD32nJ5dcWeMPJbveoHgKoc6aZWdNl4pDH8Xy36e+QozoY+7iKk6Li31EFtXBlbW1RVhtltNYpHgBJXg== + +"@nx/nx-linux-arm64-musl@17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-17.2.0.tgz#9954fa95166d1f47318ef050169f4721674dcdf1" + integrity sha512-mfPvungAW9mQpKIcz9G8MwqTK3fm9L0ACghreh8wGVG934UtiCMSjkOOsoH+w5Hm4qsZiOjsRCY0B3JFKnw9Tw== + +"@nx/nx-linux-x64-gnu@17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-17.2.0.tgz#342298419962dd516b3e7e8c50a95fdcff7a9359" + integrity sha512-0wQXugfleOzMMQVugAH/Jd3wzfOBeY1Jk4Tt6xAUVNZLOkYi1PYR/TjLvXcQ4BH388PF3VZYAZVRC8kbh4aDOg== + +"@nx/nx-linux-x64-musl@17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-17.2.0.tgz#c2de93eb047e9e0f226e01f4a0a60d85131f4ce6" + integrity sha512-KB/Ny2Q0244G4QToKPmVwbTtItB+hRlNXz7NzXrW56gwINk1NbvS9QLZrRJOUyyOpd3gMlGQ5zt/+77pPraYDg== + +"@nx/nx-win32-arm64-msvc@17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-17.2.0.tgz#f5dd03df7e5029b1f34f66332d7ea0a7e17501c8" + integrity sha512-3nxYLUQpYi5AtJCFFoXkn3QvAZHeBwKzyJ5nnD/oWv6EaZH74BfWqAzAq55E7bodlJGBEQxy86aC4epo41jNag== + +"@nx/nx-win32-x64-msvc@17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-17.2.0.tgz#42c8fb4fa751158ae66e1306cbe9bfd15df02b83" + integrity sha512-+rKsQrDvw/NZan8pMHRjlW9sJB27dvFG6+GvJlmNeutsClb813IKCD2tN9BbcxW7Cw5Ol+a2uKC76l2SZTnO3g== + +"@octokit/auth-token@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.4.tgz#70e941ba742bdd2b49bdb7393e821dea8520a3db" + integrity sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ== + +"@octokit/core@^4.2.1": + version "4.2.4" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.2.4.tgz#d8769ec2b43ff37cc3ea89ec4681a20ba58ef907" + integrity sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ== + dependencies: + "@octokit/auth-token" "^3.0.0" + "@octokit/graphql" "^5.0.0" + "@octokit/request" "^6.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^9.0.0" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^7.0.0": + version "7.0.6" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.6.tgz#791f65d3937555141fb6c08f91d618a7d645f1e2" + integrity sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg== + dependencies: + "@octokit/types" "^9.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^5.0.0": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.6.tgz#9eac411ac4353ccc5d3fca7d76736e6888c5d248" + integrity sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw== + dependencies: + "@octokit/request" "^6.0.0" + "@octokit/types" "^9.0.0" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^18.0.0": + version "18.1.1" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-18.1.1.tgz#09bdfdabfd8e16d16324326da5148010d765f009" + integrity sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw== + +"@octokit/plugin-enterprise-rest@6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" + integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw== + +"@octokit/plugin-paginate-rest@^6.1.2": + version "6.1.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz#f86456a7a1fe9e58fec6385a85cf1b34072341f8" + integrity sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ== + dependencies: + "@octokit/tsconfig" "^1.0.2" + "@octokit/types" "^9.2.3" + +"@octokit/plugin-request-log@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== + +"@octokit/plugin-rest-endpoint-methods@^7.1.2": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz#37a84b171a6cb6658816c82c4082ac3512021797" + integrity sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA== + dependencies: + "@octokit/types" "^10.0.0" + +"@octokit/request-error@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.3.tgz#ef3dd08b8e964e53e55d471acfe00baa892b9c69" + integrity sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ== + dependencies: + "@octokit/types" "^9.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^6.0.0": + version "6.2.8" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.8.tgz#aaf480b32ab2b210e9dadd8271d187c93171d8eb" + integrity sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw== + dependencies: + "@octokit/endpoint" "^7.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^9.0.0" + is-plain-object "^5.0.0" + node-fetch "^2.6.7" + universal-user-agent "^6.0.0" + +"@octokit/rest@19.0.11": + version "19.0.11" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.11.tgz#2ae01634fed4bd1fca5b642767205ed3fd36177c" + integrity sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw== + dependencies: + "@octokit/core" "^4.2.1" + "@octokit/plugin-paginate-rest" "^6.1.2" + "@octokit/plugin-request-log" "^1.0.4" + "@octokit/plugin-rest-endpoint-methods" "^7.1.2" + +"@octokit/tsconfig@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@octokit/tsconfig/-/tsconfig-1.0.2.tgz#59b024d6f3c0ed82f00d08ead5b3750469125af7" + integrity sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA== + +"@octokit/types@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-10.0.0.tgz#7ee19c464ea4ada306c43f1a45d444000f419a4a" + integrity sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg== + dependencies: + "@octokit/openapi-types" "^18.0.0" + +"@octokit/types@^9.0.0", "@octokit/types@^9.2.3": + version "9.3.2" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-9.3.2.tgz#3f5f89903b69f6a2d196d78ec35f888c0013cac5" + integrity sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA== + dependencies: + "@octokit/openapi-types" "^18.0.0" + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@prettier/plugin-xml@^3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@prettier/plugin-xml/-/plugin-xml-3.2.2.tgz#ccc53d39b333aef140433b62449ea9f74d8e2eb6" + integrity sha512-SoE70SQF1AKIvK7LVK80JcdAe6wrDcbodFFjcoqb1FkOqV0G0oSlgAFDwoRXPqkUE5p/YF2nGsnUbnfm6471sw== + dependencies: + "@xml-tools/parser" "^1.0.11" + +"@salesforce/eslint-config-lwc@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@salesforce/eslint-config-lwc/-/eslint-config-lwc-3.5.2.tgz#45ae1596a35395cfec7c49736b9c52f8b9aa2b82" + integrity sha512-TqD5pF/OwjNNrms5nn9f6bf630T7WzXuH0RYF1ybsFOYsGQ2vFxD/F5fUNAjdQgLTR0hXK303j8yIw2fwTiOIQ== + dependencies: + "@babel/core" "~7.22.8" + "@babel/eslint-parser" "~7.22.7" + eslint-restricted-globals "~0.2.0" + semver "^7.5.3" + +"@salesforce/eslint-plugin-aura@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@salesforce/eslint-plugin-aura/-/eslint-plugin-aura-2.1.0.tgz#11c65d6190ecfffbc27e06b2d686026784c0b5c5" + integrity sha512-7HfwSBKTHQZQboLoEhkBY7bYR9wTaT+G5jHXGlq8y31hEnNhJXRZ+RERDEwDm1jYa2SV9lE8nMNr0/8EKIGjlQ== + dependencies: + eslint-plugin-compat "^4.0.2" + +"@salesforce/eslint-plugin-lightning@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@salesforce/eslint-plugin-lightning/-/eslint-plugin-lightning-1.0.0.tgz#9ecf80527d83394960ef3c358c790cdfde44f578" + integrity sha512-zk0PKXAcHKHepAG2EOSWlkOTxQM0Aw1CT6+MUxJcM42fCDwH/yPPpGkG3CWtRfmVViODGOwU9ywU2wlkAYcvUQ== + +"@salesforce/sfdx-lwc-jest@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@salesforce/sfdx-lwc-jest/-/sfdx-lwc-jest-3.1.0.tgz#f6c883b53d7e028dc3556947dc21c9d42648077d" + integrity sha512-+de3WPArr3M8gbzAa+qKjCpANZ/iAGPmDIH1oMfu5SMR76x2Oep5pSJXpKYdots77w2T9qK9Fk/9cTE9xacdWg== + dependencies: + "@lwc/compiler" "5.0.2" + "@lwc/engine-dom" "5.0.2" + "@lwc/engine-server" "5.0.2" + "@lwc/jest-preset" "14.2.1" + "@lwc/jest-resolver" "14.2.1" + "@lwc/jest-serializer" "14.2.1" + "@lwc/jest-transformer" "14.2.1" + "@lwc/module-resolver" "5.0.2" + "@lwc/synthetic-shadow" "5.0.2" + "@lwc/wire-service" "5.0.2" + "@salesforce/wire-service-jest-util" "4.1.4" + fast-glob "^3.3.2" + jest "29.7.0" + jest-environment-jsdom "29.7.0" + yargs "~17.7.2" + +"@salesforce/wire-service-jest-util@4.1.4": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@salesforce/wire-service-jest-util/-/wire-service-jest-util-4.1.4.tgz#cbfaace19eac9040b24f35e8afa36f4865d4c010" + integrity sha512-jVDvR+vazxSfN7qYCubUSg43DRCgLrOjMtQvJhXrVo25mKzLv9MfONWUej5xzq1fB4i5dSdSmcJwMG260QUgdw== + dependencies: + "@types/jest" "^29.5.8" + "@typescript-eslint/eslint-plugin" "^6.11.0" + "@typescript-eslint/parser" "^6.11.0" + +"@sideway/address@^4.1.3": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" + integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + +"@sigstore/bundle@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@sigstore/bundle/-/bundle-1.1.0.tgz#17f8d813b09348b16eeed66a8cf1c3d6bd3d04f1" + integrity sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog== + dependencies: + "@sigstore/protobuf-specs" "^0.2.0" + +"@sigstore/protobuf-specs@^0.2.0": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz#be9ef4f3c38052c43bd399d3f792c97ff9e2277b" + integrity sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A== + +"@sigstore/sign@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@sigstore/sign/-/sign-1.0.0.tgz#6b08ebc2f6c92aa5acb07a49784cb6738796f7b4" + integrity sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA== + dependencies: + "@sigstore/bundle" "^1.1.0" + "@sigstore/protobuf-specs" "^0.2.0" + make-fetch-happen "^11.0.1" + +"@sigstore/tuf@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@sigstore/tuf/-/tuf-1.0.3.tgz#2a65986772ede996485728f027b0514c0b70b160" + integrity sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg== + dependencies: + "@sigstore/protobuf-specs" "^0.2.0" + tuf-js "^1.1.7" + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sinonjs/commons@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" + integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@tufjs/canonical-json@1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz#eade9fd1f537993bc1f0949f3aea276ecc4fab31" + integrity sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ== + +"@tufjs/models@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tufjs/models/-/models-1.0.4.tgz#5a689630f6b9dbda338d4b208019336562f176ef" + integrity sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A== + dependencies: + "@tufjs/canonical-json" "1.0.0" + minimatch "^9.0.0" + +"@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.7" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.7.tgz#a7aebf15c7bc0eb9abd638bdb5c0b8700399c9d0" + integrity sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.4" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.4.tgz#ec2c06fed6549df8bc0eb4615b683749a4a92e1b" + integrity sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA== + dependencies: + "@babel/types" "^7.20.7" + +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^29.5.8": + version "29.5.11" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.11.tgz#0c13aa0da7d0929f078ab080ae5d4ced80fa2f2c" + integrity sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/jsdom@^20.0.0": + version "20.0.1" + resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" + integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== + dependencies: + "@types/node" "*" + "@types/tough-cookie" "*" + parse5 "^7.0.0" + +"@types/json-schema@^7.0.12", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/minimatch@^3.0.3": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + +"@types/minimist@^1.2.0": + version "1.2.5" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== + +"@types/node@*": + version "20.10.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.4.tgz#b246fd84d55d5b1b71bf51f964bd514409347198" + integrity sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg== + dependencies: + undici-types "~5.26.4" + +"@types/normalize-package-data@^2.4.0": + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== + +"@types/semver@^7.3.12", "@types/semver@^7.5.0": + version "7.5.6" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" + integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/tough-cookie@*": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" + integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^6.11.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz#fc1ab5f23618ba590c87e8226ff07a760be3dd7b" + integrity sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw== + dependencies: + "@eslint-community/regexpp" "^4.5.1" + "@typescript-eslint/scope-manager" "6.14.0" + "@typescript-eslint/type-utils" "6.14.0" + "@typescript-eslint/utils" "6.14.0" + "@typescript-eslint/visitor-keys" "6.14.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.4" + natural-compare "^1.4.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/parser@^6.11.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.14.0.tgz#a2d6a732e0d2b95c73f6a26ae7362877cc1b4212" + integrity sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA== + dependencies: + "@typescript-eslint/scope-manager" "6.14.0" + "@typescript-eslint/types" "6.14.0" + "@typescript-eslint/typescript-estree" "6.14.0" + "@typescript-eslint/visitor-keys" "6.14.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + +"@typescript-eslint/scope-manager@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz#53d24363fdb5ee0d1d8cda4ed5e5321272ab3d48" + integrity sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg== + dependencies: + "@typescript-eslint/types" "6.14.0" + "@typescript-eslint/visitor-keys" "6.14.0" + +"@typescript-eslint/type-utils@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.14.0.tgz#ac9cb5ba0615c837f1a6b172feeb273d36e4f8af" + integrity sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw== + dependencies: + "@typescript-eslint/typescript-estree" "6.14.0" + "@typescript-eslint/utils" "6.14.0" + debug "^4.3.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== + +"@typescript-eslint/types@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.14.0.tgz#935307f7a931016b7a5eb25d494ea3e1f613e929" + integrity sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA== + +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/typescript-estree@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz#90c7ddd45cd22139adf3d4577580d04c9189ac13" + integrity sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw== + dependencies: + "@typescript-eslint/types" "6.14.0" + "@typescript-eslint/visitor-keys" "6.14.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.14.0.tgz#856a9e274367d99ffbd39c48128b93a86c4261e3" + integrity sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.14.0" + "@typescript-eslint/types" "6.14.0" + "@typescript-eslint/typescript-estree" "6.14.0" + semver "^7.5.4" + +"@typescript-eslint/utils@^5.10.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + +"@typescript-eslint/visitor-keys@6.14.0": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz#1d1d486581819287de824a56c22f32543561138e" + integrity sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw== + dependencies: + "@typescript-eslint/types" "6.14.0" + eslint-visitor-keys "^3.4.1" + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +"@xml-tools/parser@^1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@xml-tools/parser/-/parser-1.0.11.tgz#a118a14099ea5c3c537e4781fad2fc195b57f8ff" + integrity sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA== + dependencies: + chevrotain "7.1.1" + +"@yarnpkg/lockfile@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== + +"@yarnpkg/parsers@3.0.0-rc.46": + version "3.0.0-rc.46" + resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz#03f8363111efc0ea670e53b0282cd3ef62de4e01" + integrity sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q== + dependencies: + js-yaml "^3.10.0" + tslib "^2.4.0" + +"@zkochan/js-yaml@0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz#975f0b306e705e28b8068a07737fa46d3fc04826" + integrity sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg== + dependencies: + argparse "^2.0.1" + +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abab@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +abbrev@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +acorn-globals@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" + integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== + dependencies: + acorn "^8.1.0" + acorn-walk "^8.0.2" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.0.2: + version "8.3.1" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.1.tgz#2f10f5b69329d90ae18c58bf1fa8fccd8b959a43" + integrity sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw== + +acorn@^8.1.0, acorn@^8.8.1, acorn@^8.9.0: + version "8.11.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" + integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + +acorn@~8.10.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== + +add-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== + +agent-base@6, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agentkeepalive@^4.2.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + 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" + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +anymatch@^3.0.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +are-we-there-yet@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== + +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== + +array-includes@^3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-string "^1.0.7" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.findlastindex@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" + integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.2.1" + +array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +arraybuffer.prototype.slice@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + +ast-metadata-inferer@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/ast-metadata-inferer/-/ast-metadata-inferer-0.8.0.tgz#0f94c3425e310d8da45823ab2161142e3f134343" + integrity sha512-jOMKcHht9LxYIEQu+RVd22vtgrPaVCtDRQ/16IGmurdzxvYbDd5ynxjnyrzLnieG96eTcAyaoj/wN/4/1FyyeA== + dependencies: + "@mdn/browser-compat-data" "^5.2.34" + +astring@~1.8.6: + version "1.8.6" + resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.6.tgz#2c9c157cf1739d67561c56ba896e6948f6b93731" + integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== + +async@^3.2.3: + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +axios@^1.5.1, axios@^1.6.1: + version "1.6.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2" + integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + 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" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + 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" + +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +before-after-hook@^2.2.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" + integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== + +bl@^4.0.3, bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.10, browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== + dependencies: + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtins@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== + +builtins@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + dependencies: + semver "^7.0.0" + +byte-size@8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-8.1.1.tgz#3424608c62d59de5bfda05d31e0313c6174842ae" + integrity sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg== + +cacache@^16.1.0: + version "16.1.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^2.0.0" + +cacache@^17.0.0: + version "17.1.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.1.4.tgz#b3ff381580b47e85c6e64f801101508e26604b35" + integrity sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A== + dependencies: + "@npmcli/fs" "^3.1.0" + fs-minipass "^3.0.0" + glob "^10.2.2" + lru-cache "^7.7.1" + minipass "^7.0.3" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + p-map "^4.0.0" + ssri "^10.0.0" + tar "^6.1.11" + unique-filename "^3.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== + dependencies: + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001524, caniuse-lite@^1.0.30001565: + version "1.0.30001568" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001568.tgz#53fa9297273c9a977a560663f48cbea1767518b7" + integrity sha512-vSUkH84HontZJ88MiNrOau1EBrCqEQYgkC5gIySiDlpsm8sGVrhU7Kx4V6h0tnqaHzIHZv08HlJIwPbL4XL9+A== + +chalk@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +chevrotain@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/chevrotain/-/chevrotain-7.1.1.tgz#5122814eafd1585a9601f9180a7be9c42d5699c6" + integrity sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw== + dependencies: + regexp-to-ast "0.5.0" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +ci-info@^3.2.0, ci-info@^3.6.1: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@3.1.0, cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" + integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== + +cli-spinners@^2.5.0: + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +cmd-shim@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.1.tgz#a65878080548e1dca760b3aea1e21ed05194da9d" + integrity sha512-S9iI9y0nKR4hwEQsVWpyxld/6kRfGepGfzff83FcaiEBpmvlbA2nnGe7Cylgrx2f/p1P5S5wpRm9oL8z1PbS3Q== + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@^1.1.4, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +columnify@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" + integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== + dependencies: + strip-ansi "^6.0.1" + wcwidth "^1.0.0" + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== + dependencies: + array-ify "^1.0.0" + dot-prop "^5.1.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + +console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + +conventional-changelog-angular@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz#5eec8edbff15aa9b1680a8dcfbd53e2d7eb2ba7a" + integrity sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ== + dependencies: + compare-func "^2.0.0" + +conventional-changelog-core@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-5.0.1.tgz#3c331b155d5b9850f47b4760aeddfc983a92ad49" + integrity sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A== + dependencies: + add-stream "^1.0.0" + conventional-changelog-writer "^6.0.0" + conventional-commits-parser "^4.0.0" + dateformat "^3.0.3" + get-pkg-repo "^4.2.1" + git-raw-commits "^3.0.0" + git-remote-origin-url "^2.0.0" + git-semver-tags "^5.0.0" + normalize-package-data "^3.0.3" + read-pkg "^3.0.0" + read-pkg-up "^3.0.0" + +conventional-changelog-preset-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-3.0.0.tgz#14975ef759d22515d6eabae6396c2ae721d4c105" + integrity sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA== + +conventional-changelog-writer@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-6.0.1.tgz#d8d3bb5e1f6230caed969dcc762b1c368a8f7b01" + integrity sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ== + dependencies: + conventional-commits-filter "^3.0.0" + dateformat "^3.0.3" + handlebars "^4.7.7" + json-stringify-safe "^5.0.1" + meow "^8.1.2" + semver "^7.0.0" + split "^1.0.1" + +conventional-commits-filter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz#bf1113266151dd64c49cd269e3eb7d71d7015ee2" + integrity sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q== + dependencies: + lodash.ismatch "^4.4.0" + modify-values "^1.0.1" + +conventional-commits-parser@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz#02ae1178a381304839bce7cea9da5f1b549ae505" + integrity sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg== + dependencies: + JSONStream "^1.3.5" + is-text-path "^1.0.1" + meow "^8.1.2" + split2 "^3.2.2" + +conventional-recommended-bump@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-7.0.1.tgz#ec01f6c7f5d0e2491c2d89488b0d757393392424" + integrity sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA== + dependencies: + concat-stream "^2.0.0" + conventional-changelog-preset-loader "^3.0.0" + conventional-commits-filter "^3.0.0" + conventional-commits-parser "^4.0.0" + git-raw-commits "^3.0.0" + git-semver-tags "^5.0.0" + meow "^8.1.2" + +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^8.2.0: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssfontparser@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/cssfontparser/-/cssfontparser-1.2.1.tgz#f4022fc8f9700c68029d542084afbaf425a3f3e3" + integrity sha512-6tun4LoZnj7VN6YeegOVb67KBX/7JJsqvj+pv3ZA7F878/eN33AbGa5b/S/wXxS/tcp8nc40xRUrsPlxIyNUPg== + +cssom@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" + integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== + +data-urls@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" + integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== + dependencies: + abab "^2.0.6" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + +dateformat@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== + +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decamelize-keys@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decimal.js@^10.4.2: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + +dedent@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +dedent@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" + integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +define-data-property@^1.0.1, define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +deprecation@^2.0.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + +detect-indent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +domexception@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" + integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== + dependencies: + webidl-conversions "^7.0.0" + +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dotenv-expand@~10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" + integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== + +dotenv@~16.3.1: + version "16.3.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" + integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ejs@^3.1.7: + version "3.1.9" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" + integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== + dependencies: + jake "^10.8.5" + +electron-to-chromium@^1.4.601: + version "1.4.610" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.610.tgz#e17b22203f4aa2e1ed77759c720546d95a51186f" + integrity sha512-mqi2oL1mfeHYtOdCxbPQYV/PL7YrQlxbvFEZ0Ee8GbDdShimqt2/S6z2RWqysuvlwdOrQdqvE0KZrBTipAeJzg== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enquirer@~2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +envinfo@7.8.1: + version "7.8.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.22.1: + version "1.22.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" + integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== + dependencies: + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.2" + available-typed-arrays "^1.0.5" + call-bind "^1.0.5" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.2" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.12" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + safe-array-concat "^1.0.1" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.13" + +es-set-tostringtag@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" + integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== + dependencies: + get-intrinsic "^1.2.2" + has-tostringtag "^1.0.0" + hasown "^2.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escodegen@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" + +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-module-utils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== + dependencies: + debug "^3.2.7" + +eslint-plugin-compat@^4.0.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-compat/-/eslint-plugin-compat-4.2.0.tgz#eeaf80daa1afe495c88a47e9281295acae45c0aa" + integrity sha512-RDKSYD0maWy5r7zb5cWQS+uSPc26mgOzdORJ8hxILmWM7S/Ncwky7BcAtXVY5iRbKjBdHsWU8Yg7hfoZjtkv7w== + dependencies: + "@mdn/browser-compat-data" "^5.3.13" + ast-metadata-inferer "^0.8.0" + browserslist "^4.21.10" + caniuse-lite "^1.0.30001524" + find-up "^5.0.0" + lodash.memoize "^4.1.2" + semver "^7.5.4" + +eslint-plugin-import@^2.29.0: + version "2.29.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz#8133232e4329ee344f2f612885ac3073b0b7e155" + integrity sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg== + dependencies: + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.8.0" + hasown "^2.0.0" + is-core-module "^2.13.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" + semver "^6.3.1" + tsconfig-paths "^3.14.2" + +eslint-plugin-jest@^27.6.0: + version "27.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.6.0.tgz#e5c0cf735b3c8cad0ef9db5b565b2fc99f5e55ed" + integrity sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng== + dependencies: + "@typescript-eslint/utils" "^5.10.0" + +eslint-restricted-globals@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.2.0.tgz#7729f326af97bec7a7e56d9f7d9c064b79285c50" + integrity sha512-kwYJALm5KS2QW3Mc1PgObO4V+pTR6RQtRT65L1GQILlEnAhabUQqGAX7/qUjoQR4KZJKehWpBtyDEiDecwmY9A== + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.55.0: + version "8.55.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.55.0.tgz#078cb7b847d66f2c254ea1794fa395bf8e7e03f8" + integrity sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.55.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.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@~2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eventemitter3@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +execa@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" + integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== + 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" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + 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" + +exponential-backoff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" + integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.9, fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + 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" + +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +figures@3.2.0, figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== + dependencies: + locate-path "^2.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.9: + version "3.2.9" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + +follow-redirects@^1.15.0: + version "1.15.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" + integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@^11.1.0, fs-extra@^11.1.1: + version "11.2.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0, fs-minipass@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-minipass@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-3.0.3.tgz#79a85981c4dc120065e96f62086bf6f9dc26cc54" + integrity sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw== + dependencies: + minipass "^7.0.3" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^3.0.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + 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" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-pkg-repo@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" + integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== + dependencies: + "@hutson/parse-repository-url" "^3.0.0" + hosted-git-info "^4.0.0" + through2 "^2.0.0" + yargs "^16.2.0" + +get-port@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" + integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== + +get-stream@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" + integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +git-raw-commits@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-3.0.0.tgz#5432f053a9744f67e8db03dbc48add81252cfdeb" + integrity sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw== + dependencies: + dargs "^7.0.0" + meow "^8.1.2" + split2 "^3.2.2" + +git-remote-origin-url@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== + dependencies: + gitconfiglocal "^1.0.0" + pify "^2.3.0" + +git-semver-tags@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-5.0.1.tgz#db748aa0e43d313bf38dcd68624d8443234e1c15" + integrity sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA== + dependencies: + meow "^8.1.2" + semver "^7.0.0" + +git-up@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/git-up/-/git-up-7.0.0.tgz#bace30786e36f56ea341b6f69adfd83286337467" + integrity sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ== + dependencies: + is-ssh "^1.4.0" + parse-url "^8.1.0" + +git-url-parse@13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-13.1.0.tgz#07e136b5baa08d59fabdf0e33170de425adf07b4" + integrity sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA== + dependencies: + git-up "^7.0.0" + +gitconfiglocal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== + dependencies: + ini "^1.3.2" + +glob-parent@5.1.2, glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@7.1.4: + version "7.1.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" + integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== + 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" + +glob@^10.2.2: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + +glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.0.1: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +glob@^9.2.0: + version "9.3.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" + integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== + dependencies: + fs.realpath "^1.0.0" + minimatch "^8.0.2" + minipass "^4.2.4" + path-scurry "^1.6.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0, globals@^13.23.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@11.1.0, globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + 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" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@4.2.11, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +handlebars@^4.7.7: + version "4.7.8" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.2" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== + dependencies: + get-intrinsic "^1.2.2" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-unicode@2.0.1, has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + +he@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^3.0.6: + version "3.0.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" + integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== + dependencies: + lru-cache "^6.0.0" + +hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +hosted-git-info@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.1.tgz#629442c7889a69c05de604d52996b74fe6f26d58" + integrity sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w== + dependencies: + lru-cache "^7.5.1" + +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-cache-semantics@^4.1.0, http-cache-semantics@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + +husky@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" + integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== + +iconv-lite@0.6.3, iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore-walk@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-5.0.1.tgz#5f199e23e1288f518d90358d461387788a154776" + integrity sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw== + dependencies: + minimatch "^5.0.1" + +ignore-walk@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.4.tgz#89950be94b4f522225eb63a13c56badb639190e9" + integrity sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw== + dependencies: + minimatch "^9.0.0" + +ignore@^5.0.4, ignore@^5.2.0, ignore@^5.2.4: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + +import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@3.1.0, import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.2, ini@^1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +init-package-json@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-5.0.0.tgz#030cf0ea9c84cfc1b0dc2e898b45d171393e4b40" + integrity sha512-kBhlSheBfYmq3e0L1ii+VKe3zBTLL5lDCDWR+f9dLmEGSB3MqLlMlsolubSsyI88Bg6EA+BIMlomAnQ1SwgQBw== + dependencies: + npm-package-arg "^10.0.0" + promzard "^1.0.0" + read "^2.0.0" + read-package-json "^6.0.0" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^5.0.0" + +inquirer@^8.2.4: + version "8.2.6" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562" + integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^6.0.1" + +internal-slot@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" + integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== + dependencies: + get-intrinsic "^1.2.2" + hasown "^2.0.0" + side-channel "^1.0.4" + +ip@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" + integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-ci@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0, is-core-module@^2.8.1: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-ssh@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2" + integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ== + dependencies: + protocols "^2.0.1" + +is-stream@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-text-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" + integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== + dependencies: + text-extensions "^1.0.0" + +is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== + dependencies: + isarray "1.0.0" + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + 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" + +istanbul-lib-instrument@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" + integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.6" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" + integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jake@^10.8.5: + version "10.8.7" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" + integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +jest-canvas-mock@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jest-canvas-mock/-/jest-canvas-mock-2.5.2.tgz#7e21ebd75e05ab41c890497f6ba8a77f915d2ad6" + integrity sha512-vgnpPupjOL6+L5oJXzxTxFrlGEIbHdZqFU+LFNdtLxZ3lRDCl17FlTMM7IatoRQkrcyOTMlDinjUguqmQ6bR2A== + dependencies: + cssfontparser "^1.2.1" + moo-color "^1.0.2" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.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.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + 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.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +"jest-diff@>=29.4.3 < 30", jest-diff@^29.4.1, jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.0.0, jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-jsdom@29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" + integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/jsdom" "^20.0.0" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + jsdom "^20.0.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + 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" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + 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" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + 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" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + 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" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + 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.3" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" + +joi@^17.11.0: + version "17.11.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.11.0.tgz#aa9da753578ec7720e6f0ca2c7046996ed04fc1a" + integrity sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ== + dependencies: + "@hapi/hoek" "^9.0.0" + "@hapi/topo" "^5.0.0" + "@sideway/address" "^4.1.3" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.1.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.10.0, js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsdom@^20.0.0: + version "20.0.3" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" + integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== + dependencies: + abab "^2.0.6" + acorn "^8.8.1" + acorn-globals "^7.0.0" + cssom "^0.5.0" + cssstyle "^2.3.0" + data-urls "^3.0.2" + decimal.js "^10.4.2" + domexception "^4.0.0" + escodegen "^2.0.0" + form-data "^4.0.0" + html-encoding-sniffer "^3.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.2" + parse5 "^7.1.1" + saxes "^6.0.0" + symbol-tree "^3.2.4" + tough-cookie "^4.1.2" + w3c-xmlserializer "^4.0.0" + webidl-conversions "^7.0.0" + whatwg-encoding "^2.0.0" + whatwg-mimetype "^3.0.0" + whatwg-url "^11.0.0" + ws "^8.11.0" + xml-name-validator "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-parse-even-better-errors@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz#02bb29fb5da90b5444581749c22cedd3597c6cb0" + integrity sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.2.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-parser@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.2.0, jsonparse@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +lerna@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/lerna/-/lerna-8.0.0.tgz#67e2fa42a0e6c10a95257a90ee70fd3c42a45f28" + integrity sha512-Ddshct9hJrujtR7t2cAIiiiKnQCKiTvR/Ki3KhzpBNVepYtWq+dg+HxArZrezF+sYxI+OCxL00BxDHY4/H4uGg== + dependencies: + "@lerna/create" "8.0.0" + "@npmcli/run-script" "6.0.2" + "@nx/devkit" ">=17.1.2 < 18" + "@octokit/plugin-enterprise-rest" "6.0.1" + "@octokit/rest" "19.0.11" + byte-size "8.1.1" + chalk "4.1.0" + clone-deep "4.0.1" + cmd-shim "6.0.1" + columnify "1.6.0" + conventional-changelog-angular "7.0.0" + conventional-changelog-core "5.0.1" + conventional-recommended-bump "7.0.1" + cosmiconfig "^8.2.0" + dedent "0.7.0" + envinfo "7.8.1" + execa "5.0.0" + fs-extra "^11.1.1" + get-port "5.1.1" + get-stream "6.0.0" + git-url-parse "13.1.0" + glob-parent "5.1.2" + globby "11.1.0" + graceful-fs "4.2.11" + has-unicode "2.0.1" + import-local "3.1.0" + ini "^1.3.8" + init-package-json "5.0.0" + inquirer "^8.2.4" + is-ci "3.0.1" + is-stream "2.0.0" + jest-diff ">=29.4.3 < 30" + js-yaml "4.1.0" + libnpmaccess "7.0.2" + libnpmpublish "7.3.0" + load-json-file "6.2.0" + lodash "^4.17.21" + make-dir "4.0.0" + minimatch "3.0.5" + multimatch "5.0.0" + node-fetch "2.6.7" + npm-package-arg "8.1.1" + npm-packlist "5.1.1" + npm-registry-fetch "^14.0.5" + npmlog "^6.0.2" + nx ">=17.1.2 < 18" + p-map "4.0.0" + p-map-series "2.1.0" + p-pipe "3.1.0" + p-queue "6.6.2" + p-reduce "2.1.0" + p-waterfall "2.1.1" + pacote "^15.2.0" + pify "5.0.0" + read-cmd-shim "4.0.0" + read-package-json "6.0.4" + resolve-from "5.0.0" + rimraf "^4.4.1" + semver "^7.3.8" + signal-exit "3.0.7" + slash "3.0.0" + ssri "^9.0.1" + strong-log-transformer "2.1.0" + tar "6.1.11" + temp-dir "1.0.0" + typescript ">=3 < 6" + upath "2.0.1" + uuid "^9.0.0" + validate-npm-package-license "3.0.4" + validate-npm-package-name "5.0.0" + write-file-atomic "5.0.1" + write-pkg "4.0.0" + yargs "17.7.2" + yargs-parser "21.1.1" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +libnpmaccess@7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-7.0.2.tgz#7f056c8c933dd9c8ba771fa6493556b53c5aac52" + integrity sha512-vHBVMw1JFMTgEk15zRsJuSAg7QtGGHpUSEfnbcRL1/gTBag9iEfJbyjpDmdJmwMhvpoLoNBtdAUCdGnaP32hhw== + dependencies: + npm-package-arg "^10.1.0" + npm-registry-fetch "^14.0.3" + +libnpmpublish@7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-7.3.0.tgz#2ceb2b36866d75a6cd7b4aa748808169f4d17e37" + integrity sha512-fHUxw5VJhZCNSls0KLNEG0mCD2PN1i14gH5elGOgiVnU3VgTcRahagYP2LKI1m0tFCJ+XrAm0zVYyF5RCbXzcg== + dependencies: + ci-info "^3.6.1" + normalize-package-data "^5.0.0" + npm-package-arg "^10.1.0" + npm-registry-fetch "^14.0.3" + proc-log "^3.0.0" + semver "^7.3.7" + sigstore "^1.4.0" + ssri "^10.0.1" + +line-column@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2" + integrity sha512-Ktrjk5noGYlHsVnYWh62FLVs4hTb8A3e+vucNZMgPeAOITdshMSgv4cCZQeRDjm7+goqmo6+liZwTXo+U3sVww== + dependencies: + isarray "^1.0.0" + isobject "^2.0.0" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lines-and-columns@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" + integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== + +load-json-file@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-6.2.0.tgz#5c7770b42cafa97074ca2848707c61662f4251a1" + integrity sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ== + dependencies: + graceful-fs "^4.1.15" + parse-json "^5.0.0" + strip-bom "^4.0.0" + type-fest "^0.6.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.ismatch@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" + integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + +"lru-cache@^9.1.1 || ^10.0.0": + version "10.1.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" + integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== + +magic-string@^0.30.5: + version "0.30.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" + integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +make-dir@4.0.0, make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-fetch-happen@^10.0.3: + version "10.2.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" + integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^16.1.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-fetch "^2.0.3" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^9.0.0" + +make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1, make-fetch-happen@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz#85ceb98079584a9523d4bf71d32996e7e208549f" + integrity sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^17.0.0" + http-cache-semantics "^4.1.1" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^5.0.0" + minipass-fetch "^3.0.0" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^10.0.0" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +match-json@1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/match-json/-/match-json-1.3.5.tgz#3b2de7093f2b0136bdccf7768ca0e41f581a96ea" + integrity sha512-V5Jw1rIdjt37vfQRqvKtXW4dKbSTpvgwyEPKOBikY90xQ5Wr5yOmfpjcTm12d0Kqq+TfMqlXJkETf4yOF9JhUw== + +meow@^8.1.2: + version "8.1.2" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +minimatch@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3" + integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^8.0.2: + version "8.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" + integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.0, minimatch@^9.0.1, minimatch@^9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" + integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== + dependencies: + minipass "^3.1.6" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + +minipass-fetch@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.4.tgz#4d4d9b9f34053af6c6e597a64be8e66e42bf45b7" + integrity sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg== + dependencies: + minipass "^7.0.3" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-json-stream@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz#7edbb92588fbfc2ff1db2fc10397acb7b6b44aa7" + integrity sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg== + dependencies: + jsonparse "^1.3.1" + minipass "^3.0.0" + +minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.3: + version "7.0.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + +minizlib@^2.1.1, minizlib@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +modify-values@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" + integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== + +moo-color@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/moo-color/-/moo-color-1.0.3.tgz#d56435f8359c8284d83ac58016df7427febece74" + integrity sha512-i/+ZKXMDf6aqYtBhuOcej71YSlbjT3wCO/4H1j8rPvxDJEifdwgg5MaFyu6iYAT8GBZJg2z0dkgK4YMzvURALQ== + dependencies: + color-name "^1.1.4" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.0.0, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multimatch@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" + integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +mute-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" + integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +negotiator@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-fetch@^2.6.7: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-gyp@^9.0.0: + version "9.4.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.1.tgz#8a1023e0d6766ecb52764cc3a734b36ff275e185" + integrity sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ== + dependencies: + env-paths "^2.2.0" + exponential-backoff "^3.1.1" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^10.0.3" + nopt "^6.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-machine-id@1.1.12: + version "1.1.12" + resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267" + integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +nopt@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" + integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== + dependencies: + abbrev "^1.0.0" + +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0, normalize-package-data@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-5.0.0.tgz#abcb8d7e724c40d88462b84982f7cbf6859b4588" + integrity sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q== + dependencies: + hosted-git-info "^6.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-bundled@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== + dependencies: + npm-normalize-package-bin "^1.0.1" + +npm-bundled@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.0.tgz#7e8e2f8bb26b794265028491be60321a25a39db7" + integrity sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ== + dependencies: + npm-normalize-package-bin "^3.0.0" + +npm-install-checks@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-6.3.0.tgz#046552d8920e801fa9f919cad569545d60e826fe" + integrity sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw== + dependencies: + semver "^7.1.1" + +npm-normalize-package-bin@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" + integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== + +npm-normalize-package-bin@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz#25447e32a9a7de1f51362c61a559233b89947832" + integrity sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ== + +npm-package-arg@8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-8.1.1.tgz#00ebf16ac395c63318e67ce66780a06db6df1b04" + integrity sha512-CsP95FhWQDwNqiYS+Q0mZ7FAEDytDZAkNxQqea6IaAFJTAY9Lhhqyl0irU/6PMc7BGfUmnsbHcqxJD7XuVM/rg== + dependencies: + hosted-git-info "^3.0.6" + semver "^7.0.0" + validate-npm-package-name "^3.0.0" + +npm-package-arg@^10.0.0, npm-package-arg@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-10.1.0.tgz#827d1260a683806685d17193073cc152d3c7e9b1" + integrity sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA== + dependencies: + hosted-git-info "^6.0.0" + proc-log "^3.0.0" + semver "^7.3.5" + validate-npm-package-name "^5.0.0" + +npm-packlist@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.1.tgz#79bcaf22a26b6c30aa4dd66b976d69cc286800e0" + integrity sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw== + dependencies: + glob "^8.0.1" + ignore-walk "^5.0.1" + npm-bundled "^1.1.2" + npm-normalize-package-bin "^1.0.1" + +npm-packlist@^7.0.0: + version "7.0.4" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.4.tgz#033bf74110eb74daf2910dc75144411999c5ff32" + integrity sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q== + dependencies: + ignore-walk "^6.0.0" + +npm-pick-manifest@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-8.0.2.tgz#2159778d9c7360420c925c1a2287b5a884c713aa" + integrity sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg== + dependencies: + npm-install-checks "^6.0.0" + npm-normalize-package-bin "^3.0.0" + npm-package-arg "^10.0.0" + semver "^7.3.5" + +npm-registry-fetch@^14.0.0, npm-registry-fetch@^14.0.3, npm-registry-fetch@^14.0.5: + version "14.0.5" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz#fe7169957ba4986a4853a650278ee02e568d115d" + integrity sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA== + dependencies: + make-fetch-happen "^11.0.0" + minipass "^5.0.0" + minipass-fetch "^3.0.0" + minipass-json-stream "^1.0.1" + minizlib "^2.1.2" + npm-package-arg "^10.0.0" + proc-log "^3.0.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +npmlog@^6.0.0, npmlog@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== + dependencies: + are-we-there-yet "^3.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.3" + set-blocking "^2.0.0" + +nwsapi@^2.2.2: + version "2.2.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" + integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== + +nx@17.2.0, "nx@>=17.1.2 < 18": + version "17.2.0" + resolved "https://registry.yarnpkg.com/nx/-/nx-17.2.0.tgz#286fbfb77c2cedfafbaf81a6975f612ed5662485" + integrity sha512-Nig9IiSoZ4DtxzVKZU1rKPW8hvJ2FcAniUCVXXMfI39lGf02b97L4NOh2MifOCtbPoZv6NmSmwBVqOylDRajvg== + dependencies: + "@nrwl/tao" "17.2.0" + "@yarnpkg/lockfile" "^1.1.0" + "@yarnpkg/parsers" "3.0.0-rc.46" + "@zkochan/js-yaml" "0.0.6" + axios "^1.5.1" + chalk "^4.1.0" + cli-cursor "3.1.0" + cli-spinners "2.6.1" + cliui "^8.0.1" + dotenv "~16.3.1" + dotenv-expand "~10.0.0" + enquirer "~2.3.6" + figures "3.2.0" + flat "^5.0.2" + fs-extra "^11.1.0" + glob "7.1.4" + ignore "^5.0.4" + jest-diff "^29.4.1" + js-yaml "4.1.0" + jsonc-parser "3.2.0" + lines-and-columns "~2.0.3" + minimatch "3.0.5" + node-machine-id "1.1.12" + npm-run-path "^4.0.1" + open "^8.4.0" + semver "7.5.3" + string-width "^4.2.3" + strong-log-transformer "^2.1.0" + tar-stream "~2.2.0" + tmp "~0.2.1" + tsconfig-paths "^4.1.2" + tslib "^2.3.0" + yargs "^17.6.2" + yargs-parser "21.1.1" + optionalDependencies: + "@nx/nx-darwin-arm64" "17.2.0" + "@nx/nx-darwin-x64" "17.2.0" + "@nx/nx-freebsd-x64" "17.2.0" + "@nx/nx-linux-arm-gnueabihf" "17.2.0" + "@nx/nx-linux-arm64-gnu" "17.2.0" + "@nx/nx-linux-arm64-musl" "17.2.0" + "@nx/nx-linux-x64-gnu" "17.2.0" + "@nx/nx-linux-x64-musl" "17.2.0" + "@nx/nx-win32-arm64-msvc" "17.2.0" + "@nx/nx-win32-x64-msvc" "17.2.0" + +object-inspect@^1.13.1, object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.fromentries@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" + integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.groupby@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" + integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + +object.values@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +once@^1.3.0, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.4.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== + dependencies: + p-limit "^1.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map-series@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-2.1.0.tgz#7560d4c452d9da0c07e692fdbfe6e2c81a2a91f2" + integrity sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q== + +p-map@4.0.0, p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-pipe@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-3.1.0.tgz#48b57c922aa2e1af6a6404cb7c6bf0eb9cc8e60e" + integrity sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw== + +p-queue@6.6.2: + version "6.6.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== + dependencies: + eventemitter3 "^4.0.4" + p-timeout "^3.2.0" + +p-reduce@2.1.0, p-reduce@^2.0.0, p-reduce@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" + integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== + +p-timeout@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +p-waterfall@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-2.1.1.tgz#63153a774f472ccdc4eb281cdb2967fcf158b2ee" + integrity sha512-RRTnDb2TBG/epPRI2yYXsimO0v3BXC8Yd3ogr1545IaqKK17VGhbWVeGGN+XfCm/08OK8635nH31c8bATkHuSw== + dependencies: + p-reduce "^2.0.0" + +pacote@^15.2.0: + version "15.2.0" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.2.0.tgz#0f0dfcc3e60c7b39121b2ac612bf8596e95344d3" + integrity sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA== + dependencies: + "@npmcli/git" "^4.0.0" + "@npmcli/installed-package-contents" "^2.0.1" + "@npmcli/promise-spawn" "^6.0.1" + "@npmcli/run-script" "^6.0.0" + cacache "^17.0.0" + fs-minipass "^3.0.0" + minipass "^5.0.0" + npm-package-arg "^10.0.0" + npm-packlist "^7.0.0" + npm-pick-manifest "^8.0.0" + npm-registry-fetch "^14.0.0" + proc-log "^3.0.0" + promise-retry "^2.0.1" + read-package-json "^6.0.0" + read-package-json-fast "^3.0.0" + sigstore "^1.3.0" + ssri "^10.0.0" + tar "^6.1.11" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-path@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-7.0.0.tgz#605a2d58d0a749c8594405d8cc3a2bf76d16099b" + integrity sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog== + dependencies: + protocols "^2.0.0" + +parse-url@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-8.1.0.tgz#972e0827ed4b57fc85f0ea6b0d839f0d8a57a57d" + integrity sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w== + dependencies: + parse-path "^7.0.0" + +parse5@^7.0.0, parse5@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.10.1, path-scurry@^1.6.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + dependencies: + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +postcss-selector-parser@~6.0.13: + version "6.0.13" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@~4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@~8.4.31: + version "8.4.32" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9" + integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-plugin-apex@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/prettier-plugin-apex/-/prettier-plugin-apex-2.0.1.tgz#35bb37fbf7d779f8a83e25ecd02e133a16cd903a" + integrity sha512-S64zate3iXPKiBKHf27YRapIAPPd1wQ/u5IOcWwSHNgoJv15I14HhoUB/WOKXtxFb0ZH5MO1nF8gRGWXLajwlA== + dependencies: + jest-docblock "^29.0.0" + wait-on "^7.0.0" + +prettier@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.1.tgz#6ba9f23165d690b6cbdaa88cb0807278f7019848" + integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw== + +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +proc-log@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" + integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +promzard@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.0.tgz#3246f8e6c9895a77c0549cefb65828ac0f6c006b" + integrity sha512-KQVDEubSUHGSt5xLakaToDFrSoZhStB8dXLzk2xvwR67gJktrHFvpR63oZgHyK19WKbHFLXJqCPXdVR3aBP8Ig== + dependencies: + read "^2.0.0" + +protocols@^2.0.0, protocols@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86" + integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q== + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +psl@^1.1.33: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +punycode@^2.1.0, punycode@^2.1.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pure-rand@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" + integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +read-cmd-shim@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz#640a08b473a49043e394ae0c7a34dd822c73b9bb" + integrity sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q== + +read-package-json-fast@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049" + integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw== + dependencies: + json-parse-even-better-errors "^3.0.0" + npm-normalize-package-bin "^3.0.0" + +read-package-json@6.0.4, read-package-json@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-6.0.4.tgz#90318824ec456c287437ea79595f4c2854708836" + integrity sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw== + dependencies: + glob "^10.2.2" + json-parse-even-better-errors "^3.0.0" + normalize-package-data "^5.0.0" + npm-normalize-package-bin "^3.0.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +read@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/read/-/read-2.1.0.tgz#69409372c54fe3381092bc363a00650b6ac37218" + integrity sha512-bvxi1QLJHcaywCAEsAk4DG3nVoqiY2Csps3qzWalhj5hFqRn1d/OixkFXtLO1PrgHUcAP0FNaSY/5GYNfENFFQ== + dependencies: + mute-stream "~1.0.0" + +readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + 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" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +regexp-to-ast@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz#56c73856bee5e1fef7f73a00f1473452ab712a24" + integrity sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw== + +regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" + integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + set-function-name "^2.0.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@5.0.0, resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + +resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.4, resolve@~1.22.6: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rimraf@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.1.tgz#bd33364f67021c5b79e93d7f4fa0568c7c21b755" + integrity sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og== + dependencies: + glob "^9.2.0" + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs@^7.5.5, rxjs@^7.8.1: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +safe-array-concat@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" + integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +saxes@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" + integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== + dependencies: + xmlchars "^2.2.0" + +"semver@2 || 3 || 4 || 5", semver@^5.6.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@7.5.3: + version "7.5.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" + integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== + dependencies: + lru-cache "^6.0.0" + +semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.0.0, semver@^7.1.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" + integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== + dependencies: + define-data-property "^1.1.1" + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +set-function-name@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@3.0.7, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +sigstore@^1.3.0, sigstore@^1.4.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/sigstore/-/sigstore-1.9.0.tgz#1e7ad8933aa99b75c6898ddd0eeebc3eb0d59875" + integrity sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A== + dependencies: + "@sigstore/bundle" "^1.1.0" + "@sigstore/protobuf-specs" "^0.2.0" + "@sigstore/sign" "^1.0.0" + "@sigstore/tuf" "^1.0.3" + make-fetch-happen "^11.0.1" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@3.0.0, slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks@^2.6.2: + version "2.7.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" + integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== + dependencies: + ip "^2.0.0" + smart-buffer "^4.2.0" + +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== + dependencies: + is-plain-obj "^1.0.0" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.16" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" + integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== + +split2@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + +split@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== + dependencies: + through "2" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +ssri@^10.0.0, ssri@^10.0.1: + version "10.0.5" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.5.tgz#e49efcd6e36385196cb515d3a2ad6c3f0265ef8c" + integrity sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A== + dependencies: + minipass "^7.0.3" + +ssri@^9.0.0, ssri@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" + integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== + dependencies: + minipass "^3.1.1" + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.matchall@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" + integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + regexp.prototype.flags "^1.5.0" + set-function-name "^2.0.0" + side-channel "^1.0.4" + +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strong-log-transformer@2.1.0, strong-log-transformer@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" + integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== + dependencies: + duplexer "^0.1.1" + minimist "^1.2.0" + through "^2.3.4" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +tar-stream@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +tar@6.1.11: + version "6.1.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +tar@^6.1.11, tar@^6.1.2: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" + integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +temp-dir@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ== + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-extensions@^1.0.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" + integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +tmp@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +tough-cookie@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tr46@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" + integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== + dependencies: + punycode "^2.1.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +ts-api-utils@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" + integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== + +tsconfig-paths@^3.14.2: + version "3.14.2" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" + integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tsconfig-paths@^4.1.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" + integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== + dependencies: + json5 "^2.2.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tuf-js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/tuf-js/-/tuf-js-1.1.7.tgz#21b7ae92a9373015be77dfe0cb282a80ec3bbe43" + integrity sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg== + dependencies: + "@tufjs/models" "1.0.4" + debug "^4.3.4" + make-fetch-happen "^11.1.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.4.1.tgz#8bdf77743385d8a4f13ba95f610f5ccd68c728f8" + integrity sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +"typescript@>=3 < 6": + version "5.3.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" + integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== + +uglify-js@^3.1.4: + version "3.17.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" + integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unique-filename@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" + integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== + dependencies: + unique-slug "^3.0.0" + +unique-filename@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea" + integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g== + dependencies: + unique-slug "^4.0.0" + +unique-slug@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" + integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== + dependencies: + imurmurhash "^0.1.4" + +unique-slug@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3" + integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ== + dependencies: + imurmurhash "^0.1.4" + +universal-user-agent@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.1.tgz#15f20f55da3c930c57bddbf1734c6654d5fd35aa" + integrity sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ== + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +upath@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" + integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +uuid@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + +v8-to-istanbul@^9.0.1: + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + +validate-npm-package-license@3.0.4, validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validate-npm-package-name@5.0.0, validate-npm-package-name@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" + integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== + dependencies: + builtins "^5.0.0" + +validate-npm-package-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw== + dependencies: + builtins "^1.0.3" + +w3c-xmlserializer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" + integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== + dependencies: + xml-name-validator "^4.0.0" + +wait-on@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-7.2.0.tgz#d76b20ed3fc1e2bebc051fae5c1ff93be7892928" + integrity sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ== + dependencies: + axios "^1.6.1" + joi "^17.11.0" + lodash "^4.17.21" + minimist "^1.2.8" + rxjs "^7.8.1" + +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +wcwidth@^1.0.0, wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webidl-conversions@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" + integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== + +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + +whatwg-mimetype@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" + integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== + +whatwg-url@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" + integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== + dependencies: + tr46 "^3.0.0" + webidl-conversions "^7.0.0" + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-typed-array@^1.1.11, which-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" + integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.4" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== +which@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/which/-/which-3.0.1.tgz#89f1cd0c23f629a8105ffe69b8172791c87b4be1" + integrity sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg== dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" + isexe "^2.0.0" + +wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -490,7 +7338,147 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" -yaml@^2.1.3: - version "2.2.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.2.tgz#ec551ef37326e6d42872dad1970300f8eb83a073" - integrity sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA== +wrap-ansi@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" + integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^4.0.1" + +write-file-atomic@^2.4.2: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +write-json-file@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" + integrity sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ== + dependencies: + detect-indent "^5.0.0" + graceful-fs "^4.1.15" + make-dir "^2.1.0" + pify "^4.0.1" + sort-keys "^2.0.0" + write-file-atomic "^2.4.2" + +write-pkg@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-4.0.0.tgz#675cc04ef6c11faacbbc7771b24c0abbf2a20039" + integrity sha512-v2UQ+50TNf2rNHJ8NyWttfm/EJUBWMJcx6ZTYZr6Qp52uuegWw/lBkCtCbnYZEmPRNL61m+u67dAmGxo+HTULA== + dependencies: + sort-keys "^2.0.0" + type-fest "^0.4.1" + write-json-file "^3.2.0" + +ws@^8.11.0: + version "8.15.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.15.0.tgz#db080a279260c5f532fc668d461b8346efdfcf86" + integrity sha512-H/Z3H55mrcrgjFwI+5jKavgXvwQLtfPCUEp6pi35VhoB0pfcHnSoyuTzkBEZpzq49g1193CUEwIvmsjcotenYw== + +xml-name-validator@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" + integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@21.1.1, yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-parser@^20.2.2, yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs@17.7.2, yargs@^17.3.1, yargs@^17.6.2, yargs@~17.7.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + 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" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==