diff --git a/.eslintrc.js b/.eslintrc.js index 690fc606a..69b8d1e1c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -8,6 +8,7 @@ module.exports = { 'jsdoc/require-param-type': ['off'], 'jsdoc/check-param-names': ['off'], 'jsdoc/no-undefined-types': ['off'], - 'jsdoc/require-property-description' : ['off'] + 'jsdoc/require-property-description': ['off'], + 'import/no-named-as-default-member': ['off'] }, } diff --git a/.github/workflows/appbuild.yml b/.github/workflows/appbuild.yml index bbb55149f..ca5f223c1 100644 --- a/.github/workflows/appbuild.yml +++ b/.github/workflows/appbuild.yml @@ -24,7 +24,7 @@ jobs: - name: Set up npm7 run: npm i -g npm@7 - name: Setup PHP - uses: shivammathur/setup-php@2.21.1 + uses: shivammathur/setup-php@2.21.2 with: php-version: '7.4' tools: composer diff --git a/.github/workflows/appstore-build-publish.yml b/.github/workflows/appstore-build-publish.yml index 687974bde..d99ab92c3 100644 --- a/.github/workflows/appstore-build-publish.yml +++ b/.github/workflows/appstore-build-publish.yml @@ -66,7 +66,7 @@ jobs: run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}" - name: Set up php ${{ env.PHP_VERSION }} - uses: shivammathur/setup-php@2.21.1 + uses: shivammathur/setup-php@2.21.2 with: php-version: ${{ env.PHP_VERSION }} coverage: none diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index 2aff4620d..339a071b9 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -27,14 +27,14 @@ jobs: steps: - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - name: Set up npm7 run: npm i -g npm@7 - name: Checkout server - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: repository: nextcloud/server ref: ${{ matrix.server-versions }} @@ -47,12 +47,12 @@ jobs: git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 - name: Checkout ${{ env.APP_NAME }} - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: apps/${{ env.APP_NAME }} - name: Set up php ${{ matrix.php-versions }} - uses: shivammathur/setup-php@2.21.1 + uses: shivammathur/setup-php@2.21.2 with: php-version: ${{ matrix.php-versions }} extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu @@ -77,7 +77,7 @@ jobs: php occ app:enable deck php occ app:list cd apps/deck - composer install + composer install --no-dev npm ci npm run build cd ../../ @@ -96,7 +96,7 @@ jobs: npm_package_name: ${{ env.APP_NAME }} - name: Upload test failure screenshots - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: failure() with: name: Upload screenshots @@ -104,7 +104,7 @@ jobs: retention-days: 5 - name: Upload nextcloud logs - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: failure() with: name: Upload nextcloud log diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index d3f92464e..11eed18c9 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -33,7 +33,7 @@ jobs: services: postgres: - image: postgres + image: postgres:14 ports: - 4445:5432/tcp env: @@ -62,7 +62,7 @@ jobs: auth_header="$(git config --local --get http.https://github.com/.extraheader)" git submodule sync --recursive git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1 - cd build/integration && composer require --dev phpunit/phpunit:~8 + cd build/integration && composer require --dev phpunit/phpunit:~9 - name: Checkout app uses: actions/checkout@v3 @@ -70,7 +70,7 @@ jobs: path: apps/${{ env.APP_NAME }} - name: Set up php ${{ matrix.php-versions }} - uses: shivammathur/setup-php@2.21.1 + uses: shivammathur/setup-php@2.21.2 with: php-version: ${{ matrix.php-versions }} tools: phpunit @@ -79,7 +79,7 @@ jobs: - name: Set up PHPUnit working-directory: apps/${{ env.APP_NAME }} - run: composer i + run: composer i --no-dev - name: Set up Nextcloud run: | diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9a294cac4..88a2022a3 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -19,7 +19,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Set up php${{ matrix.php-versions }} - uses: shivammathur/setup-php@2.21.1 + uses: shivammathur/setup-php@2.21.2 with: php-version: ${{ matrix.php-versions }} coverage: none @@ -33,7 +33,7 @@ jobs: - name: Checkout uses: actions/checkout@v3 - name: Set up php - uses: shivammathur/setup-php@2.21.1 + uses: shivammathur/setup-php@2.21.2 with: php-version: 7.4 coverage: none diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 1c3d74e87..3643bd8c9 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -25,7 +25,7 @@ jobs: - name: Set up npm7 run: npm i -g npm@7 - name: Setup PHP - uses: shivammathur/setup-php@2.21.1 + uses: shivammathur/setup-php@2.21.2 with: php-version: '7.4' tools: composer diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml index 7d73b8aaa..c5587b86a 100644 --- a/.github/workflows/phpunit.yml +++ b/.github/workflows/phpunit.yml @@ -34,7 +34,7 @@ jobs: services: postgres: - image: postgres + image: postgres:14 ports: - 4445:5432/tcp env: @@ -70,7 +70,7 @@ jobs: path: apps/${{ env.APP_NAME }} - name: Set up php ${{ matrix.php-versions }} - uses: shivammathur/setup-php@2.21.1 + uses: shivammathur/setup-php@2.21.2 with: php-version: ${{ matrix.php-versions }} tools: phpunit diff --git a/.github/workflows/psalm.yml b/.github/workflows/psalm.yml new file mode 100644 index 000000000..27091d53c --- /dev/null +++ b/.github/workflows/psalm.yml @@ -0,0 +1,35 @@ +# This workflow is provided via the organization template repository +# +# https://github.com/nextcloud/.github +# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization + +name: Static analysis + +on: + pull_request: + push: + branches: + - master + - main + - stable* + +jobs: + static-analysis: + runs-on: ubuntu-latest + + name: Nextcloud + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up php + uses: shivammathur/setup-php@v2 + with: + php-version: 7.4 + coverage: none + + - name: Install dependencies + run: composer i + + - name: Run coding standards check + run: composer run psalm diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml deleted file mode 100644 index 987533732..000000000 --- a/.github/workflows/static-analysis.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Static analysis - -on: - pull_request: - push: - branches: - - master - - stable* - -jobs: - static-psalm-analysis: - runs-on: ubuntu-latest - strategy: - matrix: - ocp-version: [ 'dev-master' ] - name: Nextcloud ${{ matrix.ocp-version }} - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Set up php - uses: shivammathur/setup-php@2.21.1 - with: - php-version: 7.4 - tools: composer:v1 - coverage: none - - name: Install dependencies - run: composer i - - name: Install dependencies - run: composer require --dev christophwurst/nextcloud:${{ matrix.ocp-version }} - - name: Run coding standards check - run: composer run psalm diff --git a/.github/workflows/update-nextcloud-ocp.yml b/.github/workflows/update-nextcloud-ocp.yml new file mode 100644 index 000000000..7374876d8 --- /dev/null +++ b/.github/workflows/update-nextcloud-ocp.yml @@ -0,0 +1,65 @@ +# This workflow is provided via the organization template repository +# +# https://github.com/nextcloud/.github +# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization + +name: Update nextcloud/ocp + +on: + workflow_dispatch: + schedule: + - cron: "5 2 * * 0" + +jobs: + update-nextcloud-ocp: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + branches: ["master", "stable25", "stable24", "stable23"] + + name: update-nextcloud-ocp-${{ matrix.branches }} + + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ matrix.branches }} + submodules: true + + - name: Set up php7.4 + uses: shivammathur/setup-php@v2 + with: + php-version: 7.4 + extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip + coverage: none + + - name: Composer install + run: composer install + + - name: Composer update nextcloud/ocp + run: composer require --dev nextcloud/ocp:dev-${{ matrix.branches }} + continue-on-error: true + + - name: Reset checkout dirs + run: | + git clean -f 3rdparty + git clean -f vendor + git checkout 3rdparty vendor + continue-on-error: true + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v4 + with: + token: ${{ secrets.COMMAND_BOT_PAT }} + commit-message: Update psalm baseline + committer: GitHub + author: nextcloud-command + signoff: true + branch: automated/noid/${{ matrix.branches }}-update-nextcloud-ocp + title: "[${{ matrix.branches }}] Update nextcloud/ocp dependency" + body: | + Auto-generated update of [nextcloud/ocp](https://github.com/nextcloud-deps/ocp/) dependency + labels: | + dependencies + 3. to review diff --git a/.tx/config b/.tx/config index 964e8ba28..27f5b8bd6 100644 --- a/.tx/config +++ b/.tx/config @@ -1,9 +1,10 @@ [main] -host = https://www.transifex.com -lang_map = bg_BG: bg, cs_CZ: cs, fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja +host = https://www.transifex.com +lang_map = hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs, fi_FI: fi -[nextcloud.deck] +[o:nextcloud:p:nextcloud:r:deck] file_filter = translationfiles//deck.po source_file = translationfiles/templates/deck.pot source_lang = en -type = PO +type = PO + diff --git a/CHANGELOG.md b/CHANGELOG.md index 7796927d1..0a5db271e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,45 @@ # Changelog All notable changes to this project will be documented in this file. +## 1.8.0-beta.1 +### Enhancements + +- Nextcloud 25 compatibility +- Performance improvements + - Use capped memory cache for board permissions @juliushaertl [#3980](https://github.com/nextcloud/deck/pull/3980) + - Improve CalDAV integration performance @juliushaertl [#3982](https://github.com/nextcloud/deck/pull/3982) + - Simpify query for getting shared files @juliushaertl [#3983](https://github.com/nextcloud/deck/pull/3983) +- Accessibility improvements + - Add a11y label for sidebar button @marcelklehr [#3986](https://github.com/nextcloud/deck/pull/3986) + - Improve filter popover accessibility @juliushaertl [#3820](https://github.com/nextcloud/deck/pull/3820) + - Set ids to skip to content/navigation @juliushaertl [#3924](https://github.com/nextcloud/deck/pull/3924) + - Invert icons properly in dark mode @juliushaertl [#3939](https://github.com/nextcloud/deck/pull/3939) +- Bump dependencies + +### Fixed + +- set last modified when the card was found. Fixes #3763 @ylebre [#3796](https://github.com/nextcloud/deck/pull/3796) +- Increase file count after sharing @luka-nextcloud [#3682](https://github.com/nextcloud/deck/pull/3682) +- Align Duedate-delete icon properly - fixes nextcloud/deck#3791 @Ben-Ro [#3811](https://github.com/nextcloud/deck/pull/3811) +- Fix for issue #3637 @flummer [#3833](https://github.com/nextcloud/deck/pull/3833) +- Switch to 'markdown-it-task-checkbox' for rendering of task lists @q-wertz [#3898](https://github.com/nextcloud/deck/pull/3898) +- Make rename functions accessibly by keyboard navigation @juliushaertl [#3813](https://github.com/nextcloud/deck/pull/3813) +- Prevent opening card and applyLabelFilter on card drag end @eneiluj [#3916](https://github.com/nextcloud/deck/pull/3916) +- Inserted required property in the rename list field, to prevent the l… @mstolf [#3862](https://github.com/nextcloud/deck/pull/3862) +- Fix share provider for master changes @nickvergessen [#3942](https://github.com/nextcloud/deck/pull/3942) +- Fetch attachment folder for the correct user during cron job @juliushaertl [#3952](https://github.com/nextcloud/deck/pull/3952) +- Fix z-index for deck sidebar @Raudius [#3884](https://github.com/nextcloud/deck/pull/3884) + +### Other + +- Switch from OC::$server->get to OCP\Server::get @CarlSchwan [#3801](https://github.com/nextcloud/deck/pull/3801) +- Add performance section in README @eneiluj [#3830](https://github.com/nextcloud/deck/pull/3830) +- Fix static analysis by stubbing more circle methods @juliushaertl [#3900](https://github.com/nextcloud/deck/pull/3900) +- fix(docs): fix links to JSON schemas for Trello @wiktor2200 [#3872](https://github.com/nextcloud/deck/pull/3872) +- Move to OCP\Collaboration\Resources\LoadAdditionalScriptsEvent @juliushaertl [#3818](https://github.com/nextcloud/deck/pull/3818) +- Rename settings to deck settings @PVince81 [#3928](https://github.com/nextcloud/deck/pull/3928) +- SCSS cleanup @juliushaertl [#3803](https://github.com/nextcloud/deck/pull/3803) +- Hide deprecated projects in sidebar and card details by default @Pytal [#3984](https://github.com/nextcloud/deck/pull/3984) ## 1.7.0 diff --git a/Makefile b/Makefile index 8d428a7d3..415be460a 100644 --- a/Makefile +++ b/Makefile @@ -30,6 +30,16 @@ build: clean-dist install-deps build-js release: clean-dist install-deps-nodev build-js +lint: lint-js lint-php + +lint-js: + npm run lint + npm run stylelint + +lint-php: + composer run lint 1>/dev/null + composer run cs:check + build-js: install-deps-js npm run build diff --git a/README.md b/README.md index e0114b406..621fef896 100644 --- a/README.md +++ b/README.md @@ -65,13 +65,18 @@ Improvements on Nextcloud server and Deck itself will improve the situation. ## Developing +### Nextcloud environment + +You need to setup a [development environment](https://docs.nextcloud.com/server/latest/developer_manual//getting_started/devenv.html) of the current nextcloud version. You can also alternatively install & run the [nextcloud docker container](https://github.com/juliushaertl/nextcloud-docker-dev). +After the finished installation, you can clone the deck project directly in the `/[nextcloud-docker-dev-dir]/workspace/server/apps/` folder. + ### PHP Nothing to prepare, just dig into the code. ### JavaScript -This requires at least Node 14 and npm 7 to be installed. +This requires at least Node 16 and npm 7 to be installed. Deck requires running a `make build-js` to install npm dependencies and build the JavaScript code using webpack. While developing you can also use `make watch` to rebuild everytime the code changes. diff --git a/appinfo/info.xml b/appinfo/info.xml index 56c876bb4..d7cd3c845 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -16,7 +16,7 @@ - 🚀 Get your project organized - 1.8.0-beta.0 + 1.9.0-beta.1 agpl Julius Härtl Deck @@ -34,7 +34,7 @@ pgsql sqlite mysql - + OCA\Deck\Cron\DeleteCron diff --git a/composer.json b/composer.json index 92636eb8d..f2d1ae388 100644 --- a/composer.json +++ b/composer.json @@ -14,12 +14,12 @@ }, "require-dev": { "roave/security-advisories": "dev-master", - "christophwurst/nextcloud": "dev-master", "phpunit/phpunit": "^9", "nextcloud/coding-standard": "^1.0.0", "symfony/event-dispatcher": "^4.0", "vimeo/psalm": "^4.3", - "php-parallel-lint/php-parallel-lint": "^1.2" + "php-parallel-lint/php-parallel-lint": "^1.2", + "nextcloud/ocp": "dev-master" }, "config": { "optimize-autoloader": true, @@ -44,5 +44,10 @@ ], "test:unit": "phpunit -c tests/phpunit.xml", "test:integration": "phpunit -c tests/phpunit.integration.xml && cd tests/integration && ./run.sh" + }, + "autoload-dev": { + "psr-4": { + "OCP\\": "vendor/nextcloud/ocp/OCP" + } } } diff --git a/composer.lock b/composer.lock index d1c875604..f6b46b419 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "33c2fe0cccf29841e021001c6430310a", + "content-hash": "ef9413dedd4d47de717c4dea87a07000", "packages": [ { "name": "cogpowered/finediff", @@ -299,50 +299,6 @@ ], "time": "2021-03-30T17:13:30+00:00" }, - { - "name": "christophwurst/nextcloud", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/ChristophWurst/nextcloud_composer.git", - "reference": "6a6fe9467e4427f17b1fade97d6252793fc7a9e8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ChristophWurst/nextcloud_composer/zipball/6a6fe9467e4427f17b1fade97d6252793fc7a9e8", - "reference": "6a6fe9467e4427f17b1fade97d6252793fc7a9e8", - "shasum": "" - }, - "require": { - "php": "^7.4 || ~8.0 || ~8.1", - "psr/container": "^1.1.1", - "psr/event-dispatcher": "^1.0", - "psr/log": "^1.1" - }, - "default-branch": true, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "25.0.0-dev" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "AGPL-3.0-or-later" - ], - "authors": [ - { - "name": "Christoph Wurst", - "email": "christoph@winzerhof-wurst.at" - } - ], - "description": "Composer package containing Nextcloud's public API (classes, interfaces)", - "support": { - "issues": "https://github.com/ChristophWurst/nextcloud_composer/issues", - "source": "https://github.com/ChristophWurst/nextcloud_composer/tree/master" - }, - "time": "2022-07-06T02:28:38+00:00" - }, { "name": "composer/package-versions-deprecated", "version": "1.11.99.5", @@ -1235,17 +1191,61 @@ "time": "2021-11-10T08:44:10+00:00" }, { - "name": "nikic/php-parser", - "version": "v4.14.0", + "name": "nextcloud/ocp", + "version": "dev-master", "source": { "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1" + "url": "https://github.com/nextcloud-deps/ocp.git", + "reference": "3c68cd0de0c5dea151f28f414d9a30e37950217f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/34bea19b6e03d8153165d8f30bba4c3be86184c1", - "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1", + "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/3c68cd0de0c5dea151f28f414d9a30e37950217f", + "reference": "3c68cd0de0c5dea151f28f414d9a30e37950217f", + "shasum": "" + }, + "require": { + "php": "^7.4 || ~8.0 || ~8.1", + "psr/container": "^1.1.1", + "psr/event-dispatcher": "^1.0", + "psr/log": "^1.1" + }, + "default-branch": true, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "26.0.0-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "AGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Christoph Wurst", + "email": "christoph@winzerhof-wurst.at" + } + ], + "description": "Composer package containing Nextcloud's public API (classes, interfaces)", + "support": { + "issues": "https://github.com/nextcloud-deps/ocp/issues", + "source": "https://github.com/nextcloud-deps/ocp/tree/master" + }, + "time": "2022-10-22T00:59:51+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.15.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", + "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", "shasum": "" }, "require": { @@ -1286,9 +1286,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.14.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1" }, - "time": "2022-05-31T20:59:12+00:00" + "time": "2022-09-04T07:30:47+00:00" }, { "name": "openlss/lib-array2xml", @@ -1675,25 +1675,30 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.6.1", + "version": "1.6.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "77a32518733312af16a44300404e945338981de3" + "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3", - "reference": "77a32518733312af16a44300404e945338981de3", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d", + "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0", + "php": "^7.4 || ^8.0", "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { "ext-tokenizer": "*", - "psalm/phar": "^4.8" + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^9.5", + "rector/rector": "^0.13.9", + "vimeo/psalm": "^4.25" }, "type": "library", "extra": { @@ -1719,96 +1724,29 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2" }, - "time": "2022-03-15T21:29:03+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.15.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13", - "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.2", - "php": "^7.2 || ~8.0, <8.2", - "phpdocumentor/reflection-docblock": "^5.2", - "sebastian/comparator": "^3.0 || ^4.0", - "sebastian/recursion-context": "^3.0 || ^4.0" - }, - "require-dev": { - "phpspec/phpspec": "^6.0 || ^7.0", - "phpunit/phpunit": "^8.0 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Prophecy\\": "src/Prophecy" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "support": { - "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/v1.15.0" - }, - "time": "2021-12-08T12:19:24+00:00" + "time": "2022-10-14T12:47:21+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.15", + "version": "9.2.17", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f" + "reference": "aa94dc41e8661fe90c7316849907cba3007b10d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2e9da11878c4202f97915c1cb4bb1ca318a63f5f", - "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/aa94dc41e8661fe90c7316849907cba3007b10d8", + "reference": "aa94dc41e8661fe90c7316849907cba3007b10d8", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.13.0", + "nikic/php-parser": "^4.14", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", @@ -1857,7 +1795,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.15" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.17" }, "funding": [ { @@ -1865,7 +1803,7 @@ "type": "github" } ], - "time": "2022-03-07T09:28:20+00:00" + "time": "2022-08-30T12:24:04+00:00" }, { "name": "phpunit/php-file-iterator", @@ -2110,16 +2048,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.21", + "version": "9.5.25", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "0e32b76be457de00e83213528f6bb37e2a38fcb1" + "reference": "3e6f90ca7e3d02025b1d147bd8d4a89fd4ca8a1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0e32b76be457de00e83213528f6bb37e2a38fcb1", - "reference": "0e32b76be457de00e83213528f6bb37e2a38fcb1", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3e6f90ca7e3d02025b1d147bd8d4a89fd4ca8a1d", + "reference": "3e6f90ca7e3d02025b1d147bd8d4a89fd4ca8a1d", "shasum": "" }, "require": { @@ -2134,7 +2072,6 @@ "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=7.3", - "phpspec/prophecy": "^1.12.1", "phpunit/php-code-coverage": "^9.2.13", "phpunit/php-file-iterator": "^3.0.5", "phpunit/php-invoker": "^3.1.1", @@ -2142,19 +2079,16 @@ "phpunit/php-timer": "^5.0.2", "sebastian/cli-parser": "^1.0.1", "sebastian/code-unit": "^1.0.6", - "sebastian/comparator": "^4.0.5", + "sebastian/comparator": "^4.0.8", "sebastian/diff": "^4.0.3", "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.3", + "sebastian/exporter": "^4.0.5", "sebastian/global-state": "^5.0.1", "sebastian/object-enumerator": "^4.0.3", "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.0", + "sebastian/type": "^3.2", "sebastian/version": "^3.0.2" }, - "require-dev": { - "phpspec/prophecy-phpunit": "^2.0.1" - }, "suggest": { "ext-soap": "*", "ext-xdebug": "*" @@ -2196,7 +2130,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.21" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.25" }, "funding": [ { @@ -2206,9 +2140,13 @@ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" } ], - "time": "2022-06-19T12:14:25+00:00" + "time": "2022-09-25T03:44:45+00:00" }, { "name": "psr/cache", @@ -3008,16 +2946,16 @@ }, { "name": "sebastian/comparator", - "version": "4.0.6", + "version": "4.0.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "55f4261989e546dc112258c7a75935a81a7ce382" + "reference": "fa0f136dd2334583309d32b62544682ee972b51a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", - "reference": "55f4261989e546dc112258c7a75935a81a7ce382", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a", "shasum": "" }, "require": { @@ -3070,7 +3008,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" }, "funding": [ { @@ -3078,7 +3016,7 @@ "type": "github" } ], - "time": "2020-10-26T15:49:45+00:00" + "time": "2022-09-14T12:41:17+00:00" }, { "name": "sebastian/complexity", @@ -3268,16 +3206,16 @@ }, { "name": "sebastian/exporter", - "version": "4.0.4", + "version": "4.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9" + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9", - "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", "shasum": "" }, "require": { @@ -3333,7 +3271,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" }, "funding": [ { @@ -3341,7 +3279,7 @@ "type": "github" } ], - "time": "2021-11-11T14:18:36+00:00" + "time": "2022-09-14T06:03:37+00:00" }, { "name": "sebastian/global-state", @@ -3696,16 +3634,16 @@ }, { "name": "sebastian/type", - "version": "3.0.0", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad" + "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", - "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", + "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", "shasum": "" }, "require": { @@ -3717,7 +3655,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.2-dev" } }, "autoload": { @@ -3740,7 +3678,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.0.0" + "source": "https://github.com/sebastianbergmann/type/tree/3.2.0" }, "funding": [ { @@ -3748,7 +3686,7 @@ "type": "github" } ], - "time": "2022-03-15T09:54:48+00:00" + "time": "2022-09-12T14:47:03+00:00" }, { "name": "sebastian/version", @@ -3805,16 +3743,16 @@ }, { "name": "symfony/console", - "version": "v5.4.11", + "version": "v5.4.14", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "535846c7ee6bc4dd027ca0d93220601456734b10" + "reference": "984ea2c0f45f42dfed01d2f3987b187467c4b16d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/535846c7ee6bc4dd027ca0d93220601456734b10", - "reference": "535846c7ee6bc4dd027ca0d93220601456734b10", + "url": "https://api.github.com/repos/symfony/console/zipball/984ea2c0f45f42dfed01d2f3987b187467c4b16d", + "reference": "984ea2c0f45f42dfed01d2f3987b187467c4b16d", "shasum": "" }, "require": { @@ -3884,7 +3822,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.11" + "source": "https://github.com/symfony/console/tree/v5.4.14" }, "funding": [ { @@ -3900,7 +3838,7 @@ "type": "tidelift" } ], - "time": "2022-07-22T10:42:43+00:00" + "time": "2022-10-07T08:01:20+00:00" }, { "name": "symfony/deprecation-contracts", @@ -5108,16 +5046,16 @@ }, { "name": "symfony/string", - "version": "v5.4.11", + "version": "v5.4.14", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "5eb661e49ad389e4ae2b6e4df8d783a8a6548322" + "reference": "089e7237497fae7a9c404d0c3aeb8db3254733e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/5eb661e49ad389e4ae2b6e4df8d783a8a6548322", - "reference": "5eb661e49ad389e4ae2b6e4df8d783a8a6548322", + "url": "https://api.github.com/repos/symfony/string/zipball/089e7237497fae7a9c404d0c3aeb8db3254733e4", + "reference": "089e7237497fae7a9c404d0c3aeb8db3254733e4", "shasum": "" }, "require": { @@ -5174,7 +5112,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.11" + "source": "https://github.com/symfony/string/tree/v5.4.14" }, "funding": [ { @@ -5190,7 +5128,7 @@ "type": "tidelift" } ], - "time": "2022-07-24T16:15:25+00:00" + "time": "2022-10-05T15:16:54+00:00" }, { "name": "theseer/tokenizer", @@ -5244,16 +5182,16 @@ }, { "name": "vimeo/psalm", - "version": "4.26.0", + "version": "4.29.0", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "6998fabb2bf528b65777bf9941920888d23c03ac" + "reference": "7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/6998fabb2bf528b65777bf9941920888d23c03ac", - "reference": "6998fabb2bf528b65777bf9941920888d23c03ac", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3", + "reference": "7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3", "shasum": "" }, "require": { @@ -5292,6 +5230,7 @@ "phpdocumentor/reflection-docblock": "^5", "phpmyadmin/sql-parser": "5.1.0||dev-master", "phpspec/prophecy": ">=1.9.0", + "phpstan/phpdoc-parser": "1.2.* || 1.6.4", "phpunit/phpunit": "^9.0", "psalm/plugin-phpunit": "^0.16", "slevomat/coding-standard": "^7.0", @@ -5345,9 +5284,9 @@ ], "support": { "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/4.26.0" + "source": "https://github.com/vimeo/psalm/tree/4.29.0" }, - "time": "2022-07-31T13:10:26+00:00" + "time": "2022-10-11T17:09:17+00:00" }, { "name": "webmozart/assert", @@ -5463,7 +5402,7 @@ "minimum-stability": "stable", "stability-flags": { "roave/security-advisories": 20, - "christophwurst/nextcloud": 20 + "nextcloud/ocp": 20 }, "prefer-stable": false, "prefer-lowest": false, diff --git a/cypress/e2e/boardFeatures.js b/cypress/e2e/boardFeatures.js index 058da5e8b..79e960be5 100644 --- a/cypress/e2e/boardFeatures.js +++ b/cypress/e2e/boardFeatures.js @@ -1,10 +1,10 @@ -import { randHash } from "../utils" +import { randHash } from '../utils' const randUser = randHash() -describe('Board', function () { - const password = 'pass123' - - before(function () { +describe('Board', function() { + const password = 'pass123' + + before(function() { cy.nextcloudCreateUser(randUser, password) }) @@ -12,30 +12,30 @@ describe('Board', function () { cy.login(randUser, password) }) - it('Can create a board', function () { - let board = 'Test' + it('Can create a board', function() { + const board = 'Test' - cy.intercept({ - method: 'POST', - url: '/index.php/apps/deck/boards', - }).as('createBoardRequest') - - // Click "Add board" - cy.openLeftSidebar() - cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry') - .eq(3).find('a').first().click({force: true}) + cy.intercept({ + method: 'POST', + url: '/index.php/apps/deck/boards', + }).as('createBoardRequest') - // Type the board title - cy.get('.board-create form input[type=text]') - .type(board, {force: true}) + // Click "Add board" + cy.openLeftSidebar() + cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry') + .eq(3).find('a').first().click({ force: true }) - // Submit - cy.get('.board-create form input[type=submit]') - .first().click({force: true}) + // Type the board title + cy.get('.board-create form input[type=text]') + .type(board, { force: true }) - cy.wait('@createBoardRequest').its('response.statusCode').should('equal', 200) - - cy.get('.app-navigation__list .app-navigation-entry__children .app-navigation-entry') - .contains(board).should('be.visible') + // Submit + cy.get('.board-create form input[type=submit]') + .first().click({ force: true }) + + cy.wait('@createBoardRequest').its('response.statusCode').should('equal', 200) + + cy.get('.app-navigation__list .app-navigation-entry__children .app-navigation-entry') + .contains(board).should('be.visible') }) -}) \ No newline at end of file +}) diff --git a/cypress/e2e/cardFeatures.js b/cypress/e2e/cardFeatures.js index 5a413e203..d5449440c 100644 --- a/cypress/e2e/cardFeatures.js +++ b/cypress/e2e/cardFeatures.js @@ -1,38 +1,67 @@ import { randHash } from '../utils' const randUser = randHash() -describe('Card', function () { - const board = 'TestBoard' - const list = 'TestList' - const password = 'pass123' +const testBoardData = { + title: 'MyBoardTest', + color: '00ff00', + stacks: [ + { + title: 'TestList', + cards: [ + { + title: 'Hello world', + }, + ], + }, + ], +} - before(function () { - cy.nextcloudCreateUser(randUser, password) - cy.deckCreateBoard({ user: randUser, password }, board) - cy.deckCreateList({ user: randUser, password }, list) - }) +describe('Card', function() { + before(function() { + cy.nextcloudCreateUser(randUser, randUser) + cy.createExampleBoard({ + user: randUser, + password: randUser, + board: testBoardData, + }) + }) - beforeEach(function () { - cy.login(randUser, password) - }) + beforeEach(function() { + cy.login(randUser, randUser) + }) - it('Can add a card', function () { - let card = 'Card 1' + it('Can show card details modal', function() { + cy.openLeftSidebar() + cy.getNavigationEntry(testBoardData.title) + .first().click({ force: true }) - cy.openLeftSidebar() - cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry') - .eq(3).find('a.app-navigation-entry-link') - .first().click({force: true}) + cy.get('.board .stack').eq(0).within(() => { + cy.get('.card:contains("Hello world")').should('be.visible').click() + }) - cy.get('.board .stack').eq(0).within(() => { - cy.get('button.action-item.action-item--single.icon-add') - .first().click() + cy.get('.modal__card').should('be.visible') + cy.get('.app-sidebar-header__maintitle').contains('Hello world') + }) - cy.get('.stack__card-add form input#new-stack-input-main') - .type(card) - cy.get('.stack__card-add form input[type=submit]') - .first().click() - cy.get('.card').first().contains(card).should('be.visible') - }) - }) -}) \ No newline at end of file + it('Can add a card', function() { + const newCardTitle = 'Write some cypress tests' + + cy.openLeftSidebar() + cy.getNavigationEntry(testBoardData.title) + .first().click({ force: true }) + + cy.get('.board .stack').eq(0).within(() => { + cy.get('.card:contains("Hello world")').should('be.visible') + + cy.get('.button-vue[aria-label*="Add card"]') + .first().click() + + cy.get('.stack__card-add form input#new-stack-input-main') + .type(newCardTitle) + cy.get('.stack__card-add form input[type=submit]') + .first().click() + cy.get(`.card:contains("${newCardTitle}")`).should('be.visible') + }) + }) + +}) diff --git a/cypress/e2e/deckDashboard.js b/cypress/e2e/deckDashboard.js index ce85d43cb..f61e744e3 100644 --- a/cypress/e2e/deckDashboard.js +++ b/cypress/e2e/deckDashboard.js @@ -4,7 +4,7 @@ const randUser = randHash() describe('Deck dashboard', function() { const password = 'pass123' - before(function () { + before(function() { cy.nextcloudCreateUser(randUser, password) }) @@ -18,15 +18,14 @@ describe('Deck dashboard', function() { .should('have.text', 'Upcoming cards') }) - it('Can see the default "Personal Board" created for user by default', function () { + it('Can see the default "Personal Board" created for user by default', function() { const defaultBoard = 'Personal' cy.openLeftSidebar() - cy.get('.app-navigation__list .app-navigation-entry') - .eq(1) - .find('ul.app-navigation-entry__children li.app-navigation-entry') + cy.get('.app-navigation-entry-wrapper[icon=icon-deck]') + .find('ul.app-navigation-entry__children .app-navigation-entry:contains(' + defaultBoard + ')') .first() .contains(defaultBoard) .should('be.visible') }) -}) \ No newline at end of file +}) diff --git a/cypress/e2e/stackFeatures.js b/cypress/e2e/stackFeatures.js index 3ce09fa20..7754643ec 100644 --- a/cypress/e2e/stackFeatures.js +++ b/cypress/e2e/stackFeatures.js @@ -1,33 +1,30 @@ -import { randHash } from "../utils"; -const randUser = randHash(); +import { randHash } from '../utils' +const randUser = randHash() -describe("Stack", function () { - const board = "TestBoard"; - const password = "pass123"; - const stack = "List 1"; +describe('Stack', function() { + const board = 'TestBoard' + const password = 'pass123' + const stack = 'List 1' - before(function () { + before(function() { cy.nextcloudCreateUser(randUser, password) cy.deckCreateBoard({ user: randUser, password }, board) }) - beforeEach(function () { + beforeEach(function() { cy.logout() cy.login(randUser, password) }) - it("Can create a stack", function () { + it('Can create a stack', function() { cy.openLeftSidebar() - cy.get("#app-navigation-vue .app-navigation__list .app-navigation-entry") - .eq(3) - .find("a.app-navigation-entry-link") - .first() + cy.getNavigationEntry(board) .click({ force: true }) - cy.get("#stack-add button").first().click() - cy.get("#stack-add form input#new-stack-input-main").type(stack) - cy.get("#stack-add form input[type=submit]").first().click() + cy.get('#stack-add button').first().click() + cy.get('#stack-add form input#new-stack-input-main').type(stack) + cy.get('#stack-add form input[type=submit]').first().click() - cy.get(".board .stack").eq(0).contains(stack).should("be.visible") + cy.get('.board .stack').eq(0).contains(stack).should('be.visible') }) -}); +}) diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js index 59b2bab6e..96e295355 100644 --- a/cypress/plugins/index.js +++ b/cypress/plugins/index.js @@ -17,6 +17,6 @@ */ // eslint-disable-next-line no-unused-vars module.exports = (on, config) => { - // `on` is used to hook into various events Cypress emits - // `config` is the resolved Cypress config + // `on` is used to hook into various events Cypress emits + // `config` is the resolved Cypress config } diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 19815e16f..ff69e2344 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -20,94 +20,140 @@ * */ -const url = Cypress.config("baseUrl").replace(/\/index.php\/?$/g, ""); -Cypress.env("baseUrl", url); +const url = Cypress.config('baseUrl').replace(/\/index.php\/?$/g, '') +Cypress.env('baseUrl', url) -Cypress.Commands.add("login", (user, password, route = "/apps/deck/") => { - let session = `${user}-${Date.now()}`; - cy.session(session, function () { - cy.visit(route); - cy.get("input[name=user]").type(user); - cy.get("input[name=password]").type(password); - cy.get("form[name=login] [type=submit]").click(); - cy.url().should("include", route); - }); - // in case the session already existed but we are on a different route... - cy.visit(route); -}); +Cypress.Commands.add('login', (user, password, route = '/apps/deck/') => { + const session = `${user}-${Date.now()}` + cy.session(session, function() { + cy.visit(route) + cy.get('input[name=user]').type(user) + cy.get('input[name=password]').type(password) + cy.get('form[name=login] [type=submit]').click() + cy.url().should('include', route) + }) + cy.visit(route) +}) -Cypress.Commands.add("logout", (route = "/") => { - cy.session("_guest", function () {}); -}); +Cypress.Commands.add('logout', (route = '/') => { + cy.session('_guest', function() {}) +}) -Cypress.Commands.add("nextcloudCreateUser", (user, password) => { - cy.clearCookies(); +Cypress.Commands.add('nextcloudCreateUser', (user, password) => { + cy.clearCookies() cy.request({ - method: "POST", - url: `${Cypress.env("baseUrl")}/ocs/v1.php/cloud/users?format=json`, + method: 'POST', + url: `${Cypress.env('baseUrl')}/ocs/v1.php/cloud/users?format=json`, form: true, body: { userid: user, - password: password, + password, }, - auth: { user: "admin", pass: "admin" }, + auth: { user: 'admin', pass: 'admin' }, headers: { - "OCS-ApiRequest": "true", - "Content-Type": "application/x-www-form-urlencoded", + 'OCS-ApiRequest': 'true', + 'Content-Type': 'application/x-www-form-urlencoded', }, }).then((response) => { - cy.log(`Created user ${user}`, response.status); - }); -}); + cy.log(`Created user ${user}`, response.status) + }) +}) -Cypress.Commands.add("nextcloudUpdateUser", (user, password, key, value) => { +Cypress.Commands.add('nextcloudUpdateUser', (user, password, key, value) => { cy.request({ - method: "PUT", - url: `${Cypress.env("baseUrl")}/ocs/v2.php/cloud/users/${user}`, + method: 'PUT', + url: `${Cypress.env('baseUrl')}/ocs/v2.php/cloud/users/${user}`, form: true, body: { key, value }, auth: { user, pass: password }, headers: { - "OCS-ApiRequest": "true", - "Content-Type": "application/x-www-form-urlencoded", + 'OCS-ApiRequest': 'true', + 'Content-Type': 'application/x-www-form-urlencoded', }, }).then((response) => { - cy.log(`Updated user ${user} ${key} to ${value}`, response.status); - }); -}); + cy.log(`Updated user ${user} ${key} to ${value}`, response.status) + }) +}) -Cypress.Commands.add("openLeftSidebar", () => { - cy.get(".app-navigation button.app-navigation-toggle").click(); -}); +Cypress.Commands.add('openLeftSidebar', () => { + cy.get('.app-navigation button.app-navigation-toggle').click() +}) -Cypress.Commands.add("deckCreateBoard", ({ user, password }, title) => { - cy.login(user, password); +Cypress.Commands.add('deckCreateBoard', ({ user, password }, title) => { + cy.login(user, password) - cy.get(".app-navigation button.app-navigation-toggle").click(); - cy.get("#app-navigation-vue .app-navigation__list .app-navigation-entry") + cy.get('.app-navigation button.app-navigation-toggle').click() + cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry') .eq(3) - .find("a") + .find('a') .first() - .click({ force: true }); + .click({ force: true }) - cy.get(".board-create form input[type=text]").type(title, { force: true }); + cy.get('.board-create form input[type=text]').type(title, { force: true }) - cy.get(".board-create form input[type=submit]") + cy.get('.board-create form input[type=submit]') .first() - .click({ force: true }); -}); + .click({ force: true }) +}) -Cypress.Commands.add("deckCreateList", ({ user, password }, title) => { - cy.login(user, password); +Cypress.Commands.add('deckCreateList', ({ user, password }, title) => { + cy.login(user, password) - cy.get(".app-navigation button.app-navigation-toggle").click(); - cy.get("#app-navigation-vue .app-navigation__list .app-navigation-entry") + cy.get('.app-navigation button.app-navigation-toggle').click() + cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry') .eq(3) - .find("a.app-navigation-entry-link") + .find('a.app-navigation-entry-link') .first() - .click({ force: true }); + .click({ force: true }) - cy.get("#stack-add button").first().click(); - cy.get("#stack-add form input#new-stack-input-main").type(title); - cy.get("#stack-add form input[type=submit]").first().click(); -}); + cy.get('#stack-add button').first().click() + cy.get('#stack-add form input#new-stack-input-main').type(title) + cy.get('#stack-add form input[type=submit]').first().click() +}) + +Cypress.Commands.add('createExampleBoard', ({ user, password, board }) => { + cy.request({ + method: 'POST', + url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards`, + auth: { + user, + password, + }, + body: { title: board.title, color: board.color ?? 'ff0000' }, + }).then((boardResponse) => { + expect(boardResponse.status).to.eq(200) + const boardData = boardResponse.body + for (const stackIndex in board.stacks) { + const stack = board.stacks[stackIndex] + cy.request({ + method: 'POST', + url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards/${boardData.id}/stacks`, + auth: { + user, + password, + }, + body: { title: stack.title, order: 0 }, + }).then((stackResponse) => { + const stackData = stackResponse.body + for (const cardIndex in stack.cards) { + const card = stack.cards[cardIndex] + cy.request({ + method: 'POST', + url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards/${boardData.id}/stacks/${stackData.id}/cards`, + auth: { + user, + password, + }, + body: { title: card.title }, + }) + } + }) + } + }) +}) + +Cypress.Commands.add('getNavigationEntry', (boardTitle) => { + return cy.get('.app-navigation-entry-wrapper[icon=icon-deck]') + .find('ul.app-navigation-entry__children .app-navigation-entry:contains(' + boardTitle + ')') + .find('a.app-navigation-entry-link') +}) diff --git a/cypress/utils/index.js b/cypress/utils/index.js index 1ace84aaa..aa46b9f07 100644 --- a/cypress/utils/index.js +++ b/cypress/utils/index.js @@ -1 +1 @@ -export const randHash = () => Math.random().toString(36).replace(/[^a-z]+/g, '').slice(0, 10) \ No newline at end of file +export const randHash = () => Math.random().toString(36).replace(/[^a-z]+/g, '').slice(0, 10) diff --git a/img/archive.svg b/img/archive.svg new file mode 100644 index 000000000..63079a4c4 --- /dev/null +++ b/img/archive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/l10n/af.js b/l10n/af.js index 10d813753..735e2245f 100644 --- a/l10n/af.js +++ b/l10n/af.js @@ -14,6 +14,7 @@ OC.L10N.register( "Cancel" : "Kanselleer", "Close" : "Sluit", "File already exists" : "Lêer bestaan reeds", + "Open details" : "Open besonderhede", "Details" : "Besonderhede", "Tags" : "Etikette", "No participants found" : "Geen deelnemers gevind", diff --git a/l10n/af.json b/l10n/af.json index 16421c8f5..297a10c7f 100644 --- a/l10n/af.json +++ b/l10n/af.json @@ -12,6 +12,7 @@ "Cancel" : "Kanselleer", "Close" : "Sluit", "File already exists" : "Lêer bestaan reeds", + "Open details" : "Open besonderhede", "Details" : "Besonderhede", "Tags" : "Etikette", "No participants found" : "Geen deelnemers gevind", diff --git a/l10n/an.js b/l10n/an.js new file mode 100644 index 000000000..3a6cc19d6 --- /dev/null +++ b/l10n/an.js @@ -0,0 +1,23 @@ +OC.L10N.register( + "deck", + { + "Done" : "Feito", + "The file was uploaded" : "O fichero estió puyato", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O fichero puyato sobrexe a directiva upload_max_filesize en php.ini", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O fichero cargau supera a directiva MAX_FILE_SIZE que s'espezificó en o formulario HTML", + "The file was only partially uploaded" : "O fichero nomás s'ha cargau parzialmén", + "No file was uploaded" : "No s'ha cargau garra fichero", + "Missing a temporary folder" : "Falta una carpeta temporal", + "Could not write file to disk" : "No se podió escribir o fichero en o disco", + "A PHP extension stopped the file upload" : "Una estensión de PHP aturó a carga de fichers", + "Cancel" : "Canzelar", + "Close" : "Zarrar", + "Details" : "Detalles", + "Tags" : "Etiquetas", + "Delete" : "Borrar", + "Download" : "Escargar", + "Modified" : "Modificau", + "Today" : "Hue", + "Share" : "Compartir" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/l10n/an.json b/l10n/an.json new file mode 100644 index 000000000..a862f714a --- /dev/null +++ b/l10n/an.json @@ -0,0 +1,21 @@ +{ "translations": { + "Done" : "Feito", + "The file was uploaded" : "O fichero estió puyato", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O fichero puyato sobrexe a directiva upload_max_filesize en php.ini", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O fichero cargau supera a directiva MAX_FILE_SIZE que s'espezificó en o formulario HTML", + "The file was only partially uploaded" : "O fichero nomás s'ha cargau parzialmén", + "No file was uploaded" : "No s'ha cargau garra fichero", + "Missing a temporary folder" : "Falta una carpeta temporal", + "Could not write file to disk" : "No se podió escribir o fichero en o disco", + "A PHP extension stopped the file upload" : "Una estensión de PHP aturó a carga de fichers", + "Cancel" : "Canzelar", + "Close" : "Zarrar", + "Details" : "Detalles", + "Tags" : "Etiquetas", + "Delete" : "Borrar", + "Download" : "Escargar", + "Modified" : "Modificau", + "Today" : "Hue", + "Share" : "Compartir" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +} \ No newline at end of file diff --git a/l10n/ar.js b/l10n/ar.js index 901e2591c..bef8f6beb 100644 --- a/l10n/ar.js +++ b/l10n/ar.js @@ -147,6 +147,7 @@ OC.L10N.register( "Hide archived cards" : "إخفاء البطاقات المؤرشفة ", "Show archived cards" : "اظهر البطاقات المؤرشفة", "Toggle compact mode" : "تبديل النمط المضغوط", + "Open details" : "افتح التفاصيل", "Details" : "التفاصيل", "Loading board" : "جارِ تحميل اللوح..", "No lists available" : "لا يوجد قائمة متاحه ", @@ -264,12 +265,12 @@ OC.L10N.register( "Only assigned cards" : "البطاقات المخصصة فقط", "No reminder" : "لا يوجد تذكير ", "An error occurred" : "حدث خطأ", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "هل انت متأكد تريد مسح اللوح {title}؟ هذا سوف يمسح جميع بيانات هذا اللوح.", "Delete the board?" : "مسح اللوح؟", "Loading filtered view" : "جارِ تحميل التصفية ", "No due" : "غير محدد", "Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح", "No results found" : "لا يتم العثور على أي نتائج ", + "{stack} in {board}" : "{stack} في {board}", "No upcoming cards" : "لا يوجد بطاقات قادمة ", "upcoming cards" : "البطاقات القادمة", "Link to a board" : "ربط بلوح", @@ -284,6 +285,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "مشاركة الملف {file} مع بطاقة Deck", "Share" : "مشاركة ", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "دك (Deck) هو أداة تنظيم باسلوب كانبان (kanban) تهدف إلى التخطيط الشخصي وتنظيم المشروع للفرق مع نيكست كلاود (Nextcloud).\n- 📥 إضافة مهامك إلى البطاقات وترتيبها\n- 📄 كتابة ملاحظات إضافية باستخدام مارك داون (markdown)\n- 🔖 تعيين تسميات لتنظيم أفضل\n- 👥 شارك مع فريقك أو أصدقائك أو عائلتك\n- 📎 إرفاق الملفات وتضمينها بالوصف المستخدم فيه مارك داون (markdown)\n- 💬 ناقش مع فريقك باستخدام التعليقات\n- ⚡ تتبع التغييرات في تيار النشاط\n- 🚀 اجعل مشروعك منظماً", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "هل انت متأكد تريد مسح اللوح {title}؟ هذا سوف يمسح جميع بيانات هذا اللوح.", "This week" : "هذا الأسبوع" }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/l10n/ar.json b/l10n/ar.json index 95ded44a6..fc5c8fe53 100644 --- a/l10n/ar.json +++ b/l10n/ar.json @@ -145,6 +145,7 @@ "Hide archived cards" : "إخفاء البطاقات المؤرشفة ", "Show archived cards" : "اظهر البطاقات المؤرشفة", "Toggle compact mode" : "تبديل النمط المضغوط", + "Open details" : "افتح التفاصيل", "Details" : "التفاصيل", "Loading board" : "جارِ تحميل اللوح..", "No lists available" : "لا يوجد قائمة متاحه ", @@ -262,12 +263,12 @@ "Only assigned cards" : "البطاقات المخصصة فقط", "No reminder" : "لا يوجد تذكير ", "An error occurred" : "حدث خطأ", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "هل انت متأكد تريد مسح اللوح {title}؟ هذا سوف يمسح جميع بيانات هذا اللوح.", "Delete the board?" : "مسح اللوح؟", "Loading filtered view" : "جارِ تحميل التصفية ", "No due" : "غير محدد", "Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح", "No results found" : "لا يتم العثور على أي نتائج ", + "{stack} in {board}" : "{stack} في {board}", "No upcoming cards" : "لا يوجد بطاقات قادمة ", "upcoming cards" : "البطاقات القادمة", "Link to a board" : "ربط بلوح", @@ -282,6 +283,7 @@ "Share {file} with a Deck card" : "مشاركة الملف {file} مع بطاقة Deck", "Share" : "مشاركة ", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "دك (Deck) هو أداة تنظيم باسلوب كانبان (kanban) تهدف إلى التخطيط الشخصي وتنظيم المشروع للفرق مع نيكست كلاود (Nextcloud).\n- 📥 إضافة مهامك إلى البطاقات وترتيبها\n- 📄 كتابة ملاحظات إضافية باستخدام مارك داون (markdown)\n- 🔖 تعيين تسميات لتنظيم أفضل\n- 👥 شارك مع فريقك أو أصدقائك أو عائلتك\n- 📎 إرفاق الملفات وتضمينها بالوصف المستخدم فيه مارك داون (markdown)\n- 💬 ناقش مع فريقك باستخدام التعليقات\n- ⚡ تتبع التغييرات في تيار النشاط\n- 🚀 اجعل مشروعك منظماً", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "هل انت متأكد تريد مسح اللوح {title}؟ هذا سوف يمسح جميع بيانات هذا اللوح.", "This week" : "هذا الأسبوع" },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" } \ No newline at end of file diff --git a/l10n/bg.js b/l10n/bg.js index ee8acfb84..8f14e02ab 100644 --- a/l10n/bg.js +++ b/l10n/bg.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Промени в приложението Deck", "A comment was created on a card" : "На картата е създаден коментар", "Upcoming cards" : "Предстоящи карти", + "Load more" : "Зареждане на още", "Personal" : "Лични", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Картата \"%s\" на \"%s\" Ви е била възложена от %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} е възложил картата {deck-card} на {deck-board} на Вас.", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Скриване на архивирани карти", "Show archived cards" : "Показване на архивирани карти", "Toggle compact mode" : "Превключване на компактен режим", + "Open details" : "Отваряне на подробности", "Details" : "Подробности", "Loading board" : "Зареждане на табло", "No lists available" : "Няма налична списъци.", @@ -240,6 +242,7 @@ OC.L10N.register( "Write a description …" : "Напишете описание ...", "Choose attachment" : "Избор на прикачен файл", "(group)" : "(група)", + "Todo items" : "Елементи на задача за изпълнение", "{count} comments, {unread} unread" : "{count} коментари, {unread} непрочетени", "Edit card title" : "Редактиране на заглавието на карта", "Assign to me" : "Зачисляване към мен", @@ -255,6 +258,7 @@ OC.L10N.register( "All boards" : "Всички табла", "Archived boards" : "Архивирани табла", "Shared with you" : "Споделени с вас", + "Deck settings" : "Настройки на платформата", "Use bigger card view" : "Използва по-голям изглед на картата", "Show boards in calendar/tasks" : "Показване на таблата в календар / задачи", "Limit deck usage of groups" : "Ограничава използването на набора от групи", @@ -275,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "Само зачислените карти", "No reminder" : "Няма напомняне", "An error occurred" : "Възникна грешка", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Сигурни ли сте, че искате да изтриете таблото {title}? Това ще изтрие всички данни на това табло.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Сигурни ли сте, че искате да изтриете таблото {title}? Това ще изтрие всички данни на това табло, включително архивираните карти.", "Delete the board?" : "Изтриване на таблото?", "Loading filtered view" : "Зареждане на филтриран изглед", "No due" : "Не се дължи", "Search for {searchQuery} in all boards" : "Търсене на {searchQuery} във всички табла", "No results found" : "Няма намерени резултати", + "{stack} in {board}" : "{stack} в {board}", + "Click to expand description" : "Кликване за разширяване на описанието", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Създаден на {created}\n* Последна промяна на {lastMod} \n* {nbAttachments} прикачени файлове \n* {nbComments} коментара", + "{nbCards} cards" : "{nbCards} карти", "No upcoming cards" : "Няма предстоящи карти", "upcoming cards" : "предстоящи карти", + "Due on {date}" : "Краен срок до {date}", "Link to a board" : "Линк към табло", "Link to a card" : "Линк към карта", "Create a card" : "Създаване на карта", @@ -298,6 +307,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "Сигурни ли сте че искате да прехвърлите таблото {title} на {user}?", "Transfer the board for {user} successfully" : "Успешно прехвърляне на таблото към {user} ", "Failed to transfer the board for {user}" : "Неуспешно прехвърляне на таблото към {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Сигурни ли сте, че искате да изтриете таблото {title}? Това ще изтрие всички данни на това табло.", "This week" : "Тази седмица", "Are you sure you want to transfer the board {title} for {user}?" : "Сигурни ли сте че искате да прехвърлите таблото {title} на {user}?" }, diff --git a/l10n/bg.json b/l10n/bg.json index 36ca2a62a..16172c11f 100644 --- a/l10n/bg.json +++ b/l10n/bg.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Промени в приложението Deck", "A comment was created on a card" : "На картата е създаден коментар", "Upcoming cards" : "Предстоящи карти", + "Load more" : "Зареждане на още", "Personal" : "Лични", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Картата \"%s\" на \"%s\" Ви е била възложена от %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} е възложил картата {deck-card} на {deck-board} на Вас.", @@ -148,6 +149,7 @@ "Hide archived cards" : "Скриване на архивирани карти", "Show archived cards" : "Показване на архивирани карти", "Toggle compact mode" : "Превключване на компактен режим", + "Open details" : "Отваряне на подробности", "Details" : "Подробности", "Loading board" : "Зареждане на табло", "No lists available" : "Няма налична списъци.", @@ -238,6 +240,7 @@ "Write a description …" : "Напишете описание ...", "Choose attachment" : "Избор на прикачен файл", "(group)" : "(група)", + "Todo items" : "Елементи на задача за изпълнение", "{count} comments, {unread} unread" : "{count} коментари, {unread} непрочетени", "Edit card title" : "Редактиране на заглавието на карта", "Assign to me" : "Зачисляване към мен", @@ -253,6 +256,7 @@ "All boards" : "Всички табла", "Archived boards" : "Архивирани табла", "Shared with you" : "Споделени с вас", + "Deck settings" : "Настройки на платформата", "Use bigger card view" : "Използва по-голям изглед на картата", "Show boards in calendar/tasks" : "Показване на таблата в календар / задачи", "Limit deck usage of groups" : "Ограничава използването на набора от групи", @@ -273,14 +277,19 @@ "Only assigned cards" : "Само зачислените карти", "No reminder" : "Няма напомняне", "An error occurred" : "Възникна грешка", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Сигурни ли сте, че искате да изтриете таблото {title}? Това ще изтрие всички данни на това табло.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Сигурни ли сте, че искате да изтриете таблото {title}? Това ще изтрие всички данни на това табло, включително архивираните карти.", "Delete the board?" : "Изтриване на таблото?", "Loading filtered view" : "Зареждане на филтриран изглед", "No due" : "Не се дължи", "Search for {searchQuery} in all boards" : "Търсене на {searchQuery} във всички табла", "No results found" : "Няма намерени резултати", + "{stack} in {board}" : "{stack} в {board}", + "Click to expand description" : "Кликване за разширяване на описанието", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Създаден на {created}\n* Последна промяна на {lastMod} \n* {nbAttachments} прикачени файлове \n* {nbComments} коментара", + "{nbCards} cards" : "{nbCards} карти", "No upcoming cards" : "Няма предстоящи карти", "upcoming cards" : "предстоящи карти", + "Due on {date}" : "Краен срок до {date}", "Link to a board" : "Линк към табло", "Link to a card" : "Линк към карта", "Create a card" : "Създаване на карта", @@ -296,6 +305,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "Сигурни ли сте че искате да прехвърлите таблото {title} на {user}?", "Transfer the board for {user} successfully" : "Успешно прехвърляне на таблото към {user} ", "Failed to transfer the board for {user}" : "Неуспешно прехвърляне на таблото към {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Сигурни ли сте, че искате да изтриете таблото {title}? Това ще изтрие всички данни на това табло.", "This week" : "Тази седмица", "Are you sure you want to transfer the board {title} for {user}?" : "Сигурни ли сте че искате да прехвърлите таблото {title} на {user}?" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/ca.js b/l10n/ca.js index 0df9de4e8..864ffd099 100644 --- a/l10n/ca.js +++ b/l10n/ca.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Canvis a l'aplicació Targetes", "A comment was created on a card" : "S'ha afegit un comentari a una targeta", "Upcoming cards" : "Pròximes targetes", + "Load more" : "Carrega'n més", "Personal" : "Personal", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "La targeta \"%s\" sobre \"%s\" se us ha assignat per %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} us ha assignat la targeta {deck-card} a {deck-board}.", @@ -100,10 +101,12 @@ OC.L10N.register( "Could not write file to disk" : "No s’ha pogut escriure el fitxer al disc", "A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la carregada del fitxer", "No file uploaded or file size exceeds maximum of %s" : "No s'ha carregat cap fitxer o la mida del fitxer sobrepassa el màxim de %s", + "This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Aquest comentari té més de %s caràcters.\nS'ha afegit com a fitxer adjunt a la targeta amb el nom %s.\nAccessible a l'URL: %s.", "Card not found" : "No s'ha trobat la targeta", "Path is already shared with this card" : "Aquesta ruta ja ha estat compartida amb aquesta targeta", "Invalid date, date format must be YYYY-MM-DD" : "La data no és vàlida, el format de la data ha de ser YYYY-MM-DD", "Personal planning and team project organization" : "Planificació personal i organització de projectes en equip", + "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en format Markdown\n- 🔖 Assigneu etiquetes per una millor organització\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Converses amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat", "Card details" : "Detalls de la targeta", "Add board" : "Afegeix un tauler", "Select the board to link to a project" : "Selecciona el tauler per enllaçar a un projecte", @@ -114,7 +117,7 @@ OC.L10N.register( "Select a list" : "Seleccioneu una llista", "Card title" : "Títol de la targeta", "Cancel" : "Cancel·la", - "Creating the new card …" : "Creant la nova targeta", + "Creating the new card …" : "Creant la nova targeta …", "Card \"{card}\" was added to \"{board}\"" : "La targeta \"{card}\" s'ha afegit a \"{board}\"", "Open card" : "Obre la targeta", "Close" : "Tanca", @@ -133,6 +136,7 @@ OC.L10N.register( "Archived cards" : "Targetes arxivades", "Add list" : "Afegeix una llista", "List name" : "Nom de la llista", + "Active filters" : "Filtres actius", "Apply filter" : "Aplica el filtre", "Filter by tag" : "Filtra per etiqueta", "Filter by assigned user" : "Filtra per usuari assignat", @@ -147,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Amaga les targetes arxivades", "Show archived cards" : "Mostra les targetes arxivades", "Toggle compact mode" : "Commuta el mode compacte", + "Open details" : "Obre els detalls", "Details" : "Detalls", "Loading board" : "S'està carregant el tauler", "No lists available" : "No hi ha cap llista disponible", @@ -160,7 +165,7 @@ OC.L10N.register( "Undo" : "Desfés", "Deleted cards" : "Targetes suprimides", "Share board with a user, group or circle …" : "Compartir tauler amb un usuari, grup o cercle …", - "Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles", + "Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles …", "No participants found" : "No s'han trobat participants", "Board owner" : "Propietari del tauler", "(Group)" : "(Grup)", @@ -171,7 +176,11 @@ OC.L10N.register( "Owner" : "Propietari", "Delete" : "Eliminar", "Failed to create share with {displayName}" : "Ha fallat la creació de la compartició amb {displayName}", + "Are you sure you want to transfer the board {title} to {user}?" : "Esteu segur que voleu transferir el tauler {title} a {user}?", + "Transfer the board." : "Transfereix el tauler.", "Transfer" : "Transferència", + "The board has been transferred to {user}" : "El tauler s'ha transferit a {user}", + "Failed to transfer the board to {user}" : "No s'ha pogut transferir el tauler a {user}", "Add a new list" : "Afegir una llista nova", "Archive all cards" : "Arxiva totes les targetes", "Delete list" : "Suprimeix la llista", @@ -201,7 +210,7 @@ OC.L10N.register( "Comments" : "Comentaris", "Modified" : "Darrera modificació", "Created" : "Creat", - "The title cannot be empty." : "El títol no pot estar buit", + "The title cannot be empty." : "El títol no pot estar buit.", "No comments yet. Begin the discussion!" : "No hi ha comentaris encara. Començar la discussió!", "Failed to load comments" : "No s'han pogut carregar els comentaris", "Assign a tag to this card…" : "Assigna una etiqueta a aquesta targeta…", @@ -230,10 +239,12 @@ OC.L10N.register( "Edit description" : "Edita descripció", "View description" : "Veure descripció", "Add Attachment" : "Afegeix un adjunt", - "Write a description …" : "Escriviu una descripció...", + "Write a description …" : "Escriviu una descripció …", "Choose attachment" : "Triar adjunt", "(group)" : "(grup)", + "Todo items" : "Elements pendents", "{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits", + "Edit card title" : "Edita el títol de la targeta", "Assign to me" : "Assigna'm a mi", "Unassign myself" : "Desasignar a mi mateix", "Move card" : "Mou la targeta", @@ -247,6 +258,7 @@ OC.L10N.register( "All boards" : "Tots els taulers", "Archived boards" : "Taulers arxivats", "Shared with you" : "Us han compartit", + "Deck settings" : "Configuració del Tauler", "Use bigger card view" : "Utilitza la visualització de targetes més gran", "Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques", "Limit deck usage of groups" : "Limitar l'ús del tauler de grups", @@ -267,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "Només les targetes assignades", "No reminder" : "Sense recordatoris", "An error occurred" : "S'ha produït un error", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Esteu segur que voleu suprimir el tauler {title}? Això eliminarà totes les dades d'aquest tauler.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Esteu segur que voleu suprimir el tauler {title}? Això suprimirà totes les dades d'aquest tauler, incloses les targetes arxivades.", "Delete the board?" : "Voleu suprimir el tauler?", "Loading filtered view" : "S'està carregant la visualització filtrada", "No due" : "Sense venciment", "Search for {searchQuery} in all boards" : "Busca {searchQuery} a tots els taulers", "No results found" : "No s'han trobat resultats", + "{stack} in {board}" : "{stack} a {board}", + "Click to expand description" : "Feu clic per ampliar la descripció", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creat el {created}\n* Última modificació el dia {lastMod}\n* {nbAttachments} fitxers adjunts\n* {nbComments} comentaris", + "{nbCards} cards" : "{nbCards} targetes", "No upcoming cards" : "No hi ha pròximes targetes", "upcoming cards" : "pròximes targetes", + "Due on {date}" : "Venciment el dia {date}", "Link to a board" : "Enllaça a un tauler", "Link to a card" : "Enllaç una targeta", "Create a card" : "Crea una targeta", @@ -287,6 +304,11 @@ OC.L10N.register( "Share {file} with a Deck card" : "Compartir {file} amb una targeta de Deck", "Share" : "Compartir", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en markdown\n- 🔖 Assigneu etiquetes per una organització encara millor\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Debateu amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat", - "This week" : "Aquesta setmana" + "Are you sure you want to transfer the board {title} for {user} ?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?", + "Transfer the board for {user} successfully" : "Transfereix el tauler per a {user} correctament", + "Failed to transfer the board for {user}" : "No s'ha pogut transferir el tauler per a {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Esteu segur que voleu suprimir el tauler {title}? Això eliminarà totes les dades d'aquest tauler.", + "This week" : "Aquesta setmana", + "Are you sure you want to transfer the board {title} for {user}?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/ca.json b/l10n/ca.json index a5b8f1b76..62bb53fac 100644 --- a/l10n/ca.json +++ b/l10n/ca.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Canvis a l'aplicació Targetes", "A comment was created on a card" : "S'ha afegit un comentari a una targeta", "Upcoming cards" : "Pròximes targetes", + "Load more" : "Carrega'n més", "Personal" : "Personal", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "La targeta \"%s\" sobre \"%s\" se us ha assignat per %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} us ha assignat la targeta {deck-card} a {deck-board}.", @@ -98,10 +99,12 @@ "Could not write file to disk" : "No s’ha pogut escriure el fitxer al disc", "A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la carregada del fitxer", "No file uploaded or file size exceeds maximum of %s" : "No s'ha carregat cap fitxer o la mida del fitxer sobrepassa el màxim de %s", + "This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Aquest comentari té més de %s caràcters.\nS'ha afegit com a fitxer adjunt a la targeta amb el nom %s.\nAccessible a l'URL: %s.", "Card not found" : "No s'ha trobat la targeta", "Path is already shared with this card" : "Aquesta ruta ja ha estat compartida amb aquesta targeta", "Invalid date, date format must be YYYY-MM-DD" : "La data no és vàlida, el format de la data ha de ser YYYY-MM-DD", "Personal planning and team project organization" : "Planificació personal i organització de projectes en equip", + "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en format Markdown\n- 🔖 Assigneu etiquetes per una millor organització\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Converses amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat", "Card details" : "Detalls de la targeta", "Add board" : "Afegeix un tauler", "Select the board to link to a project" : "Selecciona el tauler per enllaçar a un projecte", @@ -112,7 +115,7 @@ "Select a list" : "Seleccioneu una llista", "Card title" : "Títol de la targeta", "Cancel" : "Cancel·la", - "Creating the new card …" : "Creant la nova targeta", + "Creating the new card …" : "Creant la nova targeta …", "Card \"{card}\" was added to \"{board}\"" : "La targeta \"{card}\" s'ha afegit a \"{board}\"", "Open card" : "Obre la targeta", "Close" : "Tanca", @@ -131,6 +134,7 @@ "Archived cards" : "Targetes arxivades", "Add list" : "Afegeix una llista", "List name" : "Nom de la llista", + "Active filters" : "Filtres actius", "Apply filter" : "Aplica el filtre", "Filter by tag" : "Filtra per etiqueta", "Filter by assigned user" : "Filtra per usuari assignat", @@ -145,6 +149,7 @@ "Hide archived cards" : "Amaga les targetes arxivades", "Show archived cards" : "Mostra les targetes arxivades", "Toggle compact mode" : "Commuta el mode compacte", + "Open details" : "Obre els detalls", "Details" : "Detalls", "Loading board" : "S'està carregant el tauler", "No lists available" : "No hi ha cap llista disponible", @@ -158,7 +163,7 @@ "Undo" : "Desfés", "Deleted cards" : "Targetes suprimides", "Share board with a user, group or circle …" : "Compartir tauler amb un usuari, grup o cercle …", - "Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles", + "Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles …", "No participants found" : "No s'han trobat participants", "Board owner" : "Propietari del tauler", "(Group)" : "(Grup)", @@ -169,7 +174,11 @@ "Owner" : "Propietari", "Delete" : "Eliminar", "Failed to create share with {displayName}" : "Ha fallat la creació de la compartició amb {displayName}", + "Are you sure you want to transfer the board {title} to {user}?" : "Esteu segur que voleu transferir el tauler {title} a {user}?", + "Transfer the board." : "Transfereix el tauler.", "Transfer" : "Transferència", + "The board has been transferred to {user}" : "El tauler s'ha transferit a {user}", + "Failed to transfer the board to {user}" : "No s'ha pogut transferir el tauler a {user}", "Add a new list" : "Afegir una llista nova", "Archive all cards" : "Arxiva totes les targetes", "Delete list" : "Suprimeix la llista", @@ -199,7 +208,7 @@ "Comments" : "Comentaris", "Modified" : "Darrera modificació", "Created" : "Creat", - "The title cannot be empty." : "El títol no pot estar buit", + "The title cannot be empty." : "El títol no pot estar buit.", "No comments yet. Begin the discussion!" : "No hi ha comentaris encara. Començar la discussió!", "Failed to load comments" : "No s'han pogut carregar els comentaris", "Assign a tag to this card…" : "Assigna una etiqueta a aquesta targeta…", @@ -228,10 +237,12 @@ "Edit description" : "Edita descripció", "View description" : "Veure descripció", "Add Attachment" : "Afegeix un adjunt", - "Write a description …" : "Escriviu una descripció...", + "Write a description …" : "Escriviu una descripció …", "Choose attachment" : "Triar adjunt", "(group)" : "(grup)", + "Todo items" : "Elements pendents", "{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits", + "Edit card title" : "Edita el títol de la targeta", "Assign to me" : "Assigna'm a mi", "Unassign myself" : "Desasignar a mi mateix", "Move card" : "Mou la targeta", @@ -245,6 +256,7 @@ "All boards" : "Tots els taulers", "Archived boards" : "Taulers arxivats", "Shared with you" : "Us han compartit", + "Deck settings" : "Configuració del Tauler", "Use bigger card view" : "Utilitza la visualització de targetes més gran", "Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques", "Limit deck usage of groups" : "Limitar l'ús del tauler de grups", @@ -265,14 +277,19 @@ "Only assigned cards" : "Només les targetes assignades", "No reminder" : "Sense recordatoris", "An error occurred" : "S'ha produït un error", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Esteu segur que voleu suprimir el tauler {title}? Això eliminarà totes les dades d'aquest tauler.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Esteu segur que voleu suprimir el tauler {title}? Això suprimirà totes les dades d'aquest tauler, incloses les targetes arxivades.", "Delete the board?" : "Voleu suprimir el tauler?", "Loading filtered view" : "S'està carregant la visualització filtrada", "No due" : "Sense venciment", "Search for {searchQuery} in all boards" : "Busca {searchQuery} a tots els taulers", "No results found" : "No s'han trobat resultats", + "{stack} in {board}" : "{stack} a {board}", + "Click to expand description" : "Feu clic per ampliar la descripció", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creat el {created}\n* Última modificació el dia {lastMod}\n* {nbAttachments} fitxers adjunts\n* {nbComments} comentaris", + "{nbCards} cards" : "{nbCards} targetes", "No upcoming cards" : "No hi ha pròximes targetes", "upcoming cards" : "pròximes targetes", + "Due on {date}" : "Venciment el dia {date}", "Link to a board" : "Enllaça a un tauler", "Link to a card" : "Enllaç una targeta", "Create a card" : "Crea una targeta", @@ -285,6 +302,11 @@ "Share {file} with a Deck card" : "Compartir {file} amb una targeta de Deck", "Share" : "Compartir", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en markdown\n- 🔖 Assigneu etiquetes per una organització encara millor\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Debateu amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat", - "This week" : "Aquesta setmana" + "Are you sure you want to transfer the board {title} for {user} ?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?", + "Transfer the board for {user} successfully" : "Transfereix el tauler per a {user} correctament", + "Failed to transfer the board for {user}" : "No s'ha pogut transferir el tauler per a {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Esteu segur que voleu suprimir el tauler {title}? Això eliminarà totes les dades d'aquest tauler.", + "This week" : "Aquesta setmana", + "Are you sure you want to transfer the board {title} for {user}?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/cs.js b/l10n/cs.js index 7e11bbe77..ce7bd7daa 100644 --- a/l10n/cs.js +++ b/l10n/cs.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Změny v aplikaci Deck", "A comment was created on a card" : "Na kartě byl vytvořen komentář", "Upcoming cards" : "Nadcházející karty", + "Load more" : "Načíst více", "Personal" : "Osobní", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kartu „%s“ na „%s“ vám přiřadil(a) %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} vám přiřadil(a) kartu {deck-card} na tabuli {deck-board}.", @@ -137,7 +138,7 @@ OC.L10N.register( "List name" : "Název seznamu", "Active filters" : "Zapnuté filtry", "Apply filter" : "Uplatnit filtr", - "Filter by tag" : "Filtrovat podle příznaků", + "Filter by tag" : "Filtrovat podle štítku", "Filter by assigned user" : "Filtrovat podle uživatele, který je úkolem pověřen", "Unassigned" : "Nepřiřazeno", "Filter by due date" : "Filtrovat podle termínu", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Skrýt archivované karty", "Show archived cards" : "Zobrazit archivované karty", "Toggle compact mode" : "Vyp/zap. kompaktní režim", + "Open details" : "Otevřít podorobnosti", "Details" : "Podrobnosti", "Loading board" : "Načítání tabule", "No lists available" : "Nejsou k dispozici žádné seznamy", @@ -277,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "Pouze přiřazené karty", "No reminder" : "Bez připomínky", "An error occurred" : "Došlo k chybě", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Opravdu chcete tabuly {title} smazat? Toto smaže veškerá data této tabule.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Opravdu chcete tabuli {title} smazat? Toto smaže veškerá data této tabule, včetně archivovaných karet.", "Delete the board?" : "Smazat tabuli?", "Loading filtered view" : "Načítání filtrovaného pohledu", "No due" : "Žádný termín", "Search for {searchQuery} in all boards" : "Hledat {searchQuery} na všech tabulích", "No results found" : "Nenalezeny žádné výsledky", + "{stack} in {board}" : "{stack} v {board}", + "Click to expand description" : "Popis rozbalíte kliknutím", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Vytvořeno {created}\n* Naposledy upraveno {lastMod}\n* {nbAttachments} příloh\n* {nbComments} komentářů", + "{nbCards} cards" : "{nbCards} karet", "No upcoming cards" : "Žádné nadcházející karty", "upcoming cards" : "nadcházející karty", + "Due on {date}" : "Termín {date}", "Link to a board" : "Propojit s tabulí", "Link to a card" : "Propojit s kartou", "Create a card" : "Vytvořit kartu", @@ -300,6 +307,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "Opravdu chcete předat vlastnictví tabule {title} uživateli {user}?", "Transfer the board for {user} successfully" : "Předání vlastnictví tabule uživateli {user} úspěšné", "Failed to transfer the board for {user}" : "Nepodařilo se předat vlastnictví tabule uživateli {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Opravdu chcete tabuly {title} smazat? Toto smaže veškerá data této tabule.", "This week" : "Tento týden", "Are you sure you want to transfer the board {title} for {user}?" : "Opravdu chcete předat vlastnictví tabule {title} uživateli {user}?" }, diff --git a/l10n/cs.json b/l10n/cs.json index 1fcd95ed3..d9e5f96f6 100644 --- a/l10n/cs.json +++ b/l10n/cs.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Změny v aplikaci Deck", "A comment was created on a card" : "Na kartě byl vytvořen komentář", "Upcoming cards" : "Nadcházející karty", + "Load more" : "Načíst více", "Personal" : "Osobní", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kartu „%s“ na „%s“ vám přiřadil(a) %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} vám přiřadil(a) kartu {deck-card} na tabuli {deck-board}.", @@ -135,7 +136,7 @@ "List name" : "Název seznamu", "Active filters" : "Zapnuté filtry", "Apply filter" : "Uplatnit filtr", - "Filter by tag" : "Filtrovat podle příznaků", + "Filter by tag" : "Filtrovat podle štítku", "Filter by assigned user" : "Filtrovat podle uživatele, který je úkolem pověřen", "Unassigned" : "Nepřiřazeno", "Filter by due date" : "Filtrovat podle termínu", @@ -148,6 +149,7 @@ "Hide archived cards" : "Skrýt archivované karty", "Show archived cards" : "Zobrazit archivované karty", "Toggle compact mode" : "Vyp/zap. kompaktní režim", + "Open details" : "Otevřít podorobnosti", "Details" : "Podrobnosti", "Loading board" : "Načítání tabule", "No lists available" : "Nejsou k dispozici žádné seznamy", @@ -275,14 +277,19 @@ "Only assigned cards" : "Pouze přiřazené karty", "No reminder" : "Bez připomínky", "An error occurred" : "Došlo k chybě", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Opravdu chcete tabuly {title} smazat? Toto smaže veškerá data této tabule.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Opravdu chcete tabuli {title} smazat? Toto smaže veškerá data této tabule, včetně archivovaných karet.", "Delete the board?" : "Smazat tabuli?", "Loading filtered view" : "Načítání filtrovaného pohledu", "No due" : "Žádný termín", "Search for {searchQuery} in all boards" : "Hledat {searchQuery} na všech tabulích", "No results found" : "Nenalezeny žádné výsledky", + "{stack} in {board}" : "{stack} v {board}", + "Click to expand description" : "Popis rozbalíte kliknutím", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Vytvořeno {created}\n* Naposledy upraveno {lastMod}\n* {nbAttachments} příloh\n* {nbComments} komentářů", + "{nbCards} cards" : "{nbCards} karet", "No upcoming cards" : "Žádné nadcházející karty", "upcoming cards" : "nadcházející karty", + "Due on {date}" : "Termín {date}", "Link to a board" : "Propojit s tabulí", "Link to a card" : "Propojit s kartou", "Create a card" : "Vytvořit kartu", @@ -298,6 +305,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "Opravdu chcete předat vlastnictví tabule {title} uživateli {user}?", "Transfer the board for {user} successfully" : "Předání vlastnictví tabule uživateli {user} úspěšné", "Failed to transfer the board for {user}" : "Nepodařilo se předat vlastnictví tabule uživateli {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Opravdu chcete tabuly {title} smazat? Toto smaže veškerá data této tabule.", "This week" : "Tento týden", "Are you sure you want to transfer the board {title} for {user}?" : "Opravdu chcete předat vlastnictví tabule {title} uživateli {user}?" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;" diff --git a/l10n/da.js b/l10n/da.js index a69995248..80dbfc861 100644 --- a/l10n/da.js +++ b/l10n/da.js @@ -31,6 +31,7 @@ OC.L10N.register( "{user} has renamed the card {before} to {card}" : "{user} har omdøbt kortet {before} til {card}", "Deck" : "Deck", "Upcoming cards" : "Kommende kort", + "Load more" : "Hent flere", "Personal" : "Personligt", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortet \"%s\" på \"%s\" er blevet tildelt dig af %s.", "The card \"%s\" on \"%s\" has reached its due date." : "Kortet \"%s\" på \"%s\" har nået sin forfaldsdato.", @@ -99,6 +100,7 @@ OC.L10N.register( "Hide archived cards" : "Skjul arkiverede kort", "Show archived cards" : "Vis arkiverede kort", "Toggle compact mode" : "Slå kompakt tilstand til/fra", + "Open details" : "Mere information", "Details" : "Detaljer", "Loading board" : "Indlæser tavle", "No lists available" : "Ingen kolonner tilgængelige", @@ -213,7 +215,6 @@ OC.L10N.register( "Only assigned cards" : "Kun tildelte kort", "No reminder" : "Ingen påmindelse", "An error occurred" : "Der var en fejl", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Er du sikker på du vil slette tavlen {title}? Dette vil slette alt data på tavlen.", "Delete the board?" : "Slet tavlen?", "Loading filtered view" : "Indlæser filtreret visning", "No due" : "Ikke forfalden", @@ -221,6 +222,7 @@ OC.L10N.register( "upcoming cards" : "kommende kort", "Link to a board" : "Link til tavle", "Link to a card" : "Link til et kort", + "Message from {author} in {conversationName}" : "Besked fra {author} i {conversationName}", "Something went wrong" : "Noget gik galt", "Failed to upload {name}" : "Kunne ikke uploade {name}", "Maximum file size of {size} exceeded" : "Maksimal fil størrelse {size} overskredet", @@ -229,6 +231,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "Del {file} med et Deck kort", "Share" : "Del", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck er et kanban inspireret organisations værktøj rettet mod personlig planlægning og projekt organisering for teams integreret med Nextcloud.\n\n\n- 📥 Tilføj dine opgaver til kort og organisér dem\n- 📄 Tilføj noter til dine opgaver i markdown\n- 🔖 Tilføj mærkater for endnu bedre organisering\n- 👥 Del med dit team, dine venner eller familie\n- 📎 Vedhæft filer og indfør dem i din markdown beskrivelse\n- 💬 Diskutér med dit team ved hjælp af kommentarer\n- ⚡ Hold øje med ændringer i aktivitets strømmen\n- 🚀 Få dit projekt organiseret!", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Er du sikker på du vil slette tavlen {title}? Dette vil slette alt data på tavlen.", "This week" : "Denne uge" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/da.json b/l10n/da.json index 37ea3587a..01f8eae39 100644 --- a/l10n/da.json +++ b/l10n/da.json @@ -29,6 +29,7 @@ "{user} has renamed the card {before} to {card}" : "{user} har omdøbt kortet {before} til {card}", "Deck" : "Deck", "Upcoming cards" : "Kommende kort", + "Load more" : "Hent flere", "Personal" : "Personligt", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortet \"%s\" på \"%s\" er blevet tildelt dig af %s.", "The card \"%s\" on \"%s\" has reached its due date." : "Kortet \"%s\" på \"%s\" har nået sin forfaldsdato.", @@ -97,6 +98,7 @@ "Hide archived cards" : "Skjul arkiverede kort", "Show archived cards" : "Vis arkiverede kort", "Toggle compact mode" : "Slå kompakt tilstand til/fra", + "Open details" : "Mere information", "Details" : "Detaljer", "Loading board" : "Indlæser tavle", "No lists available" : "Ingen kolonner tilgængelige", @@ -211,7 +213,6 @@ "Only assigned cards" : "Kun tildelte kort", "No reminder" : "Ingen påmindelse", "An error occurred" : "Der var en fejl", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Er du sikker på du vil slette tavlen {title}? Dette vil slette alt data på tavlen.", "Delete the board?" : "Slet tavlen?", "Loading filtered view" : "Indlæser filtreret visning", "No due" : "Ikke forfalden", @@ -219,6 +220,7 @@ "upcoming cards" : "kommende kort", "Link to a board" : "Link til tavle", "Link to a card" : "Link til et kort", + "Message from {author} in {conversationName}" : "Besked fra {author} i {conversationName}", "Something went wrong" : "Noget gik galt", "Failed to upload {name}" : "Kunne ikke uploade {name}", "Maximum file size of {size} exceeded" : "Maksimal fil størrelse {size} overskredet", @@ -227,6 +229,7 @@ "Share {file} with a Deck card" : "Del {file} med et Deck kort", "Share" : "Del", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck er et kanban inspireret organisations værktøj rettet mod personlig planlægning og projekt organisering for teams integreret med Nextcloud.\n\n\n- 📥 Tilføj dine opgaver til kort og organisér dem\n- 📄 Tilføj noter til dine opgaver i markdown\n- 🔖 Tilføj mærkater for endnu bedre organisering\n- 👥 Del med dit team, dine venner eller familie\n- 📎 Vedhæft filer og indfør dem i din markdown beskrivelse\n- 💬 Diskutér med dit team ved hjælp af kommentarer\n- ⚡ Hold øje med ændringer i aktivitets strømmen\n- 🚀 Få dit projekt organiseret!", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Er du sikker på du vil slette tavlen {title}? Dette vil slette alt data på tavlen.", "This week" : "Denne uge" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/de.js b/l10n/de.js index 99532da6f..36b748032 100644 --- a/l10n/de.js +++ b/l10n/de.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Änderungen in der Deck-App", "A comment was created on a card" : "Ein Kommentar zu einer Karte wurde erstellt", "Upcoming cards" : "Anstehende Karten", + "Load more" : "Mehr laden", "Personal" : "Persönlich", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde dir von %s zugewiesen.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} hat dir die Karte {deck-card} auf {deck-board} zugewiesen.", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Archivierte Karten ausblenden", "Show archived cards" : "Archivierte Karten anzeigen", "Toggle compact mode" : "Kompaktmodus umschalten", + "Open details" : "Details öffnen", "Details" : "Details", "Loading board" : "Lade Board", "No lists available" : "Keine Listen verfügbar", @@ -277,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "Nur zugewiesene Karten", "No reminder" : "Keine Erinnerung", "An error occurred" : "Es ist ein Fehler aufgetreten", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchtest du wirklich das Board {title} mit all seinen Daten löschen?", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Möchtest du wirklich das Board {title} mit all seinen Daten einschließlich der archivierten Karten löschen?", "Delete the board?" : "Das Board löschen?", "Loading filtered view" : "Lade gefilterte Ansicht", "No due" : "Kein Fälligkeitsdatum", "Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards", "No results found" : "Keine Ergebnisse gefunden", + "{stack} in {board}" : "{stack} in {board}", + "Click to expand description" : "Klicken, um die Beschreibung zu erweitern", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare", + "{nbCards} cards" : "{nbCards} Karten", "No upcoming cards" : "Keine anstehenden Karten", "upcoming cards" : "Anstehende Karten", + "Due on {date}" : "Fällig am {date}", "Link to a board" : "Mit einem Board verknüpfen", "Link to a card" : "Mit einer Karte verknüpfen", "Create a card" : "Eine Karte erstellen", @@ -300,6 +307,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "Möchtest du wirklich das Board {title} an {user} übertragen?", "Transfer the board for {user} successfully" : "Das Board wurde erfolgreich an {user} übertragen", "Failed to transfer the board for {user}" : "Board konnte nicht an {user} übertragen werden", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchtest du wirklich das Board {title} mit all seinen Daten löschen?", "This week" : "Diese Woche", "Are you sure you want to transfer the board {title} for {user}?" : "Möchtest du wirklich das Board {title} an {user} übertragen?" }, diff --git a/l10n/de.json b/l10n/de.json index 53dc6da36..f720048a8 100644 --- a/l10n/de.json +++ b/l10n/de.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Änderungen in der Deck-App", "A comment was created on a card" : "Ein Kommentar zu einer Karte wurde erstellt", "Upcoming cards" : "Anstehende Karten", + "Load more" : "Mehr laden", "Personal" : "Persönlich", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde dir von %s zugewiesen.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} hat dir die Karte {deck-card} auf {deck-board} zugewiesen.", @@ -148,6 +149,7 @@ "Hide archived cards" : "Archivierte Karten ausblenden", "Show archived cards" : "Archivierte Karten anzeigen", "Toggle compact mode" : "Kompaktmodus umschalten", + "Open details" : "Details öffnen", "Details" : "Details", "Loading board" : "Lade Board", "No lists available" : "Keine Listen verfügbar", @@ -275,14 +277,19 @@ "Only assigned cards" : "Nur zugewiesene Karten", "No reminder" : "Keine Erinnerung", "An error occurred" : "Es ist ein Fehler aufgetreten", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchtest du wirklich das Board {title} mit all seinen Daten löschen?", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Möchtest du wirklich das Board {title} mit all seinen Daten einschließlich der archivierten Karten löschen?", "Delete the board?" : "Das Board löschen?", "Loading filtered view" : "Lade gefilterte Ansicht", "No due" : "Kein Fälligkeitsdatum", "Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards", "No results found" : "Keine Ergebnisse gefunden", + "{stack} in {board}" : "{stack} in {board}", + "Click to expand description" : "Klicken, um die Beschreibung zu erweitern", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare", + "{nbCards} cards" : "{nbCards} Karten", "No upcoming cards" : "Keine anstehenden Karten", "upcoming cards" : "Anstehende Karten", + "Due on {date}" : "Fällig am {date}", "Link to a board" : "Mit einem Board verknüpfen", "Link to a card" : "Mit einer Karte verknüpfen", "Create a card" : "Eine Karte erstellen", @@ -298,6 +305,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "Möchtest du wirklich das Board {title} an {user} übertragen?", "Transfer the board for {user} successfully" : "Das Board wurde erfolgreich an {user} übertragen", "Failed to transfer the board for {user}" : "Board konnte nicht an {user} übertragen werden", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchtest du wirklich das Board {title} mit all seinen Daten löschen?", "This week" : "Diese Woche", "Are you sure you want to transfer the board {title} for {user}?" : "Möchtest du wirklich das Board {title} an {user} übertragen?" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/de_DE.js b/l10n/de_DE.js index 0b74725c3..6f665ddd1 100644 --- a/l10n/de_DE.js +++ b/l10n/de_DE.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Änderungen in der Deck-App", "A comment was created on a card" : "Ein Kommentar zu einer Karte wurde erstellt", "Upcoming cards" : "Anstehende Karten", + "Load more" : "Mehr laden", "Personal" : "Persönlich", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Ihnen von %s zugewiesen.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} hat Ihnen die Karte {deck-card} auf {deck-board} zugewiesen.", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Archivierte Karten ausblenden", "Show archived cards" : "Archivierte Karten anzeigen", "Toggle compact mode" : "Kompaktmodus umschalten", + "Open details" : "Details öffnen", "Details" : "Details", "Loading board" : "Lade Board", "No lists available" : "Keine Listen verfügbar", @@ -277,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "Nur zugewiesene Karten", "No reminder" : "Keine Erinnerung", "An error occurred" : "Es ist ein Fehler aufgetreten", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchten Sie wirklich dieses Board {title} mit all seinen Daten löschen?", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Möchten Sie das Board {title} wirklich löschen? Dadurch werden alle Daten dieses Boards einschließlich archivierter Karten gelöscht.", "Delete the board?" : "Das Board löschen?", "Loading filtered view" : "Lade gefilterte Ansicht", "No due" : "Kein Fälligkeitsdatum", "Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards", "No results found" : "Keine Ergebnisse gefunden", + "{stack} in {board}" : "{stack} auf {board}", + "Click to expand description" : "Klicken, um die Beschreibung zu erweitern", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare", + "{nbCards} cards" : "{nbCards} Karten", "No upcoming cards" : "Keine anstehenden Karten", "upcoming cards" : "Anstehende Karten", + "Due on {date}" : "Fällig am {date}", "Link to a board" : "Mit einem Board verknüpfen", "Link to a card" : "Mit einer Karte verknüpfen", "Create a card" : "Eine Karte erstellen", @@ -300,6 +307,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "Möchten Sie wirklich das Board {title} an {user} übertragen?", "Transfer the board for {user} successfully" : "Das Board wurde an {user} übertragen", "Failed to transfer the board for {user}" : "Board konnte nicht an {user} übertragen werden", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchten Sie wirklich dieses Board {title} mit all seinen Daten löschen?", "This week" : "Diese Woche", "Are you sure you want to transfer the board {title} for {user}?" : "Möchten Sie wirklich das Board {title} an {user} übertragen?" }, diff --git a/l10n/de_DE.json b/l10n/de_DE.json index f239072f8..ebe1b7ed1 100644 --- a/l10n/de_DE.json +++ b/l10n/de_DE.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Änderungen in der Deck-App", "A comment was created on a card" : "Ein Kommentar zu einer Karte wurde erstellt", "Upcoming cards" : "Anstehende Karten", + "Load more" : "Mehr laden", "Personal" : "Persönlich", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Ihnen von %s zugewiesen.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} hat Ihnen die Karte {deck-card} auf {deck-board} zugewiesen.", @@ -148,6 +149,7 @@ "Hide archived cards" : "Archivierte Karten ausblenden", "Show archived cards" : "Archivierte Karten anzeigen", "Toggle compact mode" : "Kompaktmodus umschalten", + "Open details" : "Details öffnen", "Details" : "Details", "Loading board" : "Lade Board", "No lists available" : "Keine Listen verfügbar", @@ -275,14 +277,19 @@ "Only assigned cards" : "Nur zugewiesene Karten", "No reminder" : "Keine Erinnerung", "An error occurred" : "Es ist ein Fehler aufgetreten", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchten Sie wirklich dieses Board {title} mit all seinen Daten löschen?", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Möchten Sie das Board {title} wirklich löschen? Dadurch werden alle Daten dieses Boards einschließlich archivierter Karten gelöscht.", "Delete the board?" : "Das Board löschen?", "Loading filtered view" : "Lade gefilterte Ansicht", "No due" : "Kein Fälligkeitsdatum", "Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards", "No results found" : "Keine Ergebnisse gefunden", + "{stack} in {board}" : "{stack} auf {board}", + "Click to expand description" : "Klicken, um die Beschreibung zu erweitern", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare", + "{nbCards} cards" : "{nbCards} Karten", "No upcoming cards" : "Keine anstehenden Karten", "upcoming cards" : "Anstehende Karten", + "Due on {date}" : "Fällig am {date}", "Link to a board" : "Mit einem Board verknüpfen", "Link to a card" : "Mit einer Karte verknüpfen", "Create a card" : "Eine Karte erstellen", @@ -298,6 +305,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "Möchten Sie wirklich das Board {title} an {user} übertragen?", "Transfer the board for {user} successfully" : "Das Board wurde an {user} übertragen", "Failed to transfer the board for {user}" : "Board konnte nicht an {user} übertragen werden", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchten Sie wirklich dieses Board {title} mit all seinen Daten löschen?", "This week" : "Diese Woche", "Are you sure you want to transfer the board {title} for {user}?" : "Möchten Sie wirklich das Board {title} an {user} übertragen?" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/el.js b/l10n/el.js index 81f49e511..16e840acc 100644 --- a/l10n/el.js +++ b/l10n/el.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Αλλαγές στην εφαρμογή Deck", "A comment was created on a card" : "Ένα σχόλιο δημιουργήθηκε σε μια καρτέλα", "Upcoming cards" : "Επερχόμενες καρτέλες", + "Load more" : "Φόρτωση περισσότερων", "Personal" : "Προσωπικά", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Η καρτέλα \"%s\" του \"%s\" ανατέθηκε σε εσάς από τον %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "Ο/Η {user} έχει αναθέσει την καρτέλα {deck-card} του πίνακα {deck-board} σε εσάς.", @@ -149,6 +150,7 @@ OC.L10N.register( "Hide archived cards" : "Απόκρυψη καρτελών που αρχειοθετήθηκαν", "Show archived cards" : "Εμφάνιση καρτελών που αρχειοθετήθηκαν", "Toggle compact mode" : "Εναλλαγή λειτουργίας μικρού μεγέθους", + "Open details" : "Άνοιγμα λεπτομερειών", "Details" : "Λεπτομέρειες", "Loading board" : "Φόρτωση πίνακα", "No lists available" : "Δεν υπάρχουν διαθέσιμες λίστες", @@ -269,12 +271,12 @@ OC.L10N.register( "Only assigned cards" : "Μόνο καρτέλες που έχουν ανατεθεί", "No reminder" : "Δεν υπάρχει υπενθύμιση", "An error occurred" : "Παρουσιάστηκε σφάλμα", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Είστε βέβαιοι ότι θέλετε να διαγράψετε τον πίνακα {title}; Θα διαγραφούν όλα τα δεδομένα.", "Delete the board?" : "Διαγραφή του πίνακα;", "Loading filtered view" : "Φόρτωση εμφάνισης με βάση το φίλτρο", "No due" : "Χωρίς λήξη", "Search for {searchQuery} in all boards" : "Αναζήτηση για {searchQuery} σε όλους τους πίνακες", "No results found" : "Δεν βρέθηκαν αποτελέσματα", + "{stack} in {board}" : "{stack} στο {board}", "No upcoming cards" : "Δεν υπάρχουν επερχόμενες καρτέλες", "upcoming cards" : "επερχόμενες καρτέλες", "Link to a board" : "Σύνδεσμος στον πίνακα", @@ -289,6 +291,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "Μοιραστείτε το {file} με μια καρτέλα Deck", "Share" : "Μοιραστείτε", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Το Deck είναι ένα εργαλείο οργάνωσης τύπου kanban με στόχο τον προσωπικό προγραμματισμό και την οργάνωση έργων για ομάδες που έχουν ενσωματωθεί στο Nextcloud.\n\n\n- 📥 Προσθέστε τις εργασίες σας στις καρτέλες και βάλτε τες στη σειρά\n- 📄 Γράψτε τις πρόσθετες σημειώσεις\n- 🔖 Αντιστοιχίστε τις ετικέτες για ακόμη καλύτερη οργάνωση\n- 👥 Μοιραστείτε με την ομάδα, φίλους ή την οικογένειά σας\n- 📎 Συνδέστε αρχεία και ενσωματώστε τα στην περιγραφή\n- 💬 Συζητήστε με την ομάδα σας χρησιμοποιώντας σχόλια\n- ⚡ Παρακολουθήστε τις αλλαγές στη ροή δραστηριοτήτων\n- 🚀 Έχετε τα όλα οργανωμένα", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Είστε βέβαιοι ότι θέλετε να διαγράψετε τον πίνακα {title}; Θα διαγραφούν όλα τα δεδομένα.", "This week" : "Αυτή την εβδομάδα", "Are you sure you want to transfer the board {title} for {user}?" : "Είστε σίγουροι ότι θέλετε να μεταφέρετε τον πίνακα {title} για {user}? " }, diff --git a/l10n/el.json b/l10n/el.json index 55e49f34b..173d4b125 100644 --- a/l10n/el.json +++ b/l10n/el.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Αλλαγές στην εφαρμογή Deck", "A comment was created on a card" : "Ένα σχόλιο δημιουργήθηκε σε μια καρτέλα", "Upcoming cards" : "Επερχόμενες καρτέλες", + "Load more" : "Φόρτωση περισσότερων", "Personal" : "Προσωπικά", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Η καρτέλα \"%s\" του \"%s\" ανατέθηκε σε εσάς από τον %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "Ο/Η {user} έχει αναθέσει την καρτέλα {deck-card} του πίνακα {deck-board} σε εσάς.", @@ -147,6 +148,7 @@ "Hide archived cards" : "Απόκρυψη καρτελών που αρχειοθετήθηκαν", "Show archived cards" : "Εμφάνιση καρτελών που αρχειοθετήθηκαν", "Toggle compact mode" : "Εναλλαγή λειτουργίας μικρού μεγέθους", + "Open details" : "Άνοιγμα λεπτομερειών", "Details" : "Λεπτομέρειες", "Loading board" : "Φόρτωση πίνακα", "No lists available" : "Δεν υπάρχουν διαθέσιμες λίστες", @@ -267,12 +269,12 @@ "Only assigned cards" : "Μόνο καρτέλες που έχουν ανατεθεί", "No reminder" : "Δεν υπάρχει υπενθύμιση", "An error occurred" : "Παρουσιάστηκε σφάλμα", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Είστε βέβαιοι ότι θέλετε να διαγράψετε τον πίνακα {title}; Θα διαγραφούν όλα τα δεδομένα.", "Delete the board?" : "Διαγραφή του πίνακα;", "Loading filtered view" : "Φόρτωση εμφάνισης με βάση το φίλτρο", "No due" : "Χωρίς λήξη", "Search for {searchQuery} in all boards" : "Αναζήτηση για {searchQuery} σε όλους τους πίνακες", "No results found" : "Δεν βρέθηκαν αποτελέσματα", + "{stack} in {board}" : "{stack} στο {board}", "No upcoming cards" : "Δεν υπάρχουν επερχόμενες καρτέλες", "upcoming cards" : "επερχόμενες καρτέλες", "Link to a board" : "Σύνδεσμος στον πίνακα", @@ -287,6 +289,7 @@ "Share {file} with a Deck card" : "Μοιραστείτε το {file} με μια καρτέλα Deck", "Share" : "Μοιραστείτε", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Το Deck είναι ένα εργαλείο οργάνωσης τύπου kanban με στόχο τον προσωπικό προγραμματισμό και την οργάνωση έργων για ομάδες που έχουν ενσωματωθεί στο Nextcloud.\n\n\n- 📥 Προσθέστε τις εργασίες σας στις καρτέλες και βάλτε τες στη σειρά\n- 📄 Γράψτε τις πρόσθετες σημειώσεις\n- 🔖 Αντιστοιχίστε τις ετικέτες για ακόμη καλύτερη οργάνωση\n- 👥 Μοιραστείτε με την ομάδα, φίλους ή την οικογένειά σας\n- 📎 Συνδέστε αρχεία και ενσωματώστε τα στην περιγραφή\n- 💬 Συζητήστε με την ομάδα σας χρησιμοποιώντας σχόλια\n- ⚡ Παρακολουθήστε τις αλλαγές στη ροή δραστηριοτήτων\n- 🚀 Έχετε τα όλα οργανωμένα", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Είστε βέβαιοι ότι θέλετε να διαγράψετε τον πίνακα {title}; Θα διαγραφούν όλα τα δεδομένα.", "This week" : "Αυτή την εβδομάδα", "Are you sure you want to transfer the board {title} for {user}?" : "Είστε σίγουροι ότι θέλετε να μεταφέρετε τον πίνακα {title} για {user}? " },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/en_GB.js b/l10n/en_GB.js index 8a0e9dadf..02508c1a5 100644 --- a/l10n/en_GB.js +++ b/l10n/en_GB.js @@ -35,6 +35,7 @@ OC.L10N.register( "Overdue" : "Overdue", "Hide archived cards" : "Hide archived cards", "Show archived cards" : "Show archived cards", + "Open details" : "Open details", "Details" : "Details", "Sharing" : "Sharing", "Tags" : "Tags", diff --git a/l10n/en_GB.json b/l10n/en_GB.json index 71d9d97c7..35e29efde 100644 --- a/l10n/en_GB.json +++ b/l10n/en_GB.json @@ -33,6 +33,7 @@ "Overdue" : "Overdue", "Hide archived cards" : "Hide archived cards", "Show archived cards" : "Show archived cards", + "Open details" : "Open details", "Details" : "Details", "Sharing" : "Sharing", "Tags" : "Tags", diff --git a/l10n/eo.js b/l10n/eo.js index 4b1882855..8ffbecf45 100644 --- a/l10n/eo.js +++ b/l10n/eo.js @@ -81,6 +81,7 @@ OC.L10N.register( "Hide archived cards" : "Kaŝi arĥivigitajn kartojn", "Show archived cards" : "Montri arĥivigitajn kartojn", "Toggle compact mode" : "Baskuligi densigan vidon", + "Open details" : "Montri detalojn", "Details" : "Detaloj", "Sharing" : "Kunhavigo", "Tags" : "Etikedoj", diff --git a/l10n/eo.json b/l10n/eo.json index 1d035e7c0..dc910949f 100644 --- a/l10n/eo.json +++ b/l10n/eo.json @@ -79,6 +79,7 @@ "Hide archived cards" : "Kaŝi arĥivigitajn kartojn", "Show archived cards" : "Montri arĥivigitajn kartojn", "Toggle compact mode" : "Baskuligi densigan vidon", + "Open details" : "Montri detalojn", "Details" : "Detaloj", "Sharing" : "Kunhavigo", "Tags" : "Etikedoj", diff --git a/l10n/es.js b/l10n/es.js index 5badb81b2..c6d669062 100644 --- a/l10n/es.js +++ b/l10n/es.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Cambios en la app Deck", "A comment was created on a card" : "Un comment ha sido creado en una tarjeta", "Upcoming cards" : "Próximas tarjetas", + "Load more" : "Cargar más", "Personal" : "Personal", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "La tarjeta \"%s\" en \"%s\" te ha sido asignada por %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} te ha asigando la tarjeta {deck-card} de {deck-board} a ti.", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Ocultar tarjetas archivadas", "Show archived cards" : "Mostrar tarjetas archivadas", "Toggle compact mode" : "Mostrar/ocultar modo compacto", + "Open details" : "Abrir detalles", "Details" : "Detalles", "Loading board" : "Cargando tablero", "No lists available" : "No hay listas disponibles", @@ -240,6 +242,7 @@ OC.L10N.register( "Write a description …" : "Escribe una descripción...", "Choose attachment" : "Escoger adjunto", "(group)" : "(grupo)", + "Todo items" : "Ítems pendientes", "{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer", "Edit card title" : "Editar el título de la tarjeta", "Assign to me" : "Asignarme a mí", @@ -255,6 +258,7 @@ OC.L10N.register( "All boards" : "Todos los tableros", "Archived boards" : "Tableros archivados", "Shared with you" : "Compartido contigo", + "Deck settings" : "Configuración del tablero", "Use bigger card view" : "Usar vista de tarjeta mayor", "Show boards in calendar/tasks" : "Mostrar tableros en calendario/tareas", "Limit deck usage of groups" : "Limitar el uso de Deck a grupos", @@ -275,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "Sólo las tarjetas asignadas", "No reminder" : "No hay recordatorio", "An error occurred" : "Ocurrió un error", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "¿Estas seguro de que quieres eliminar el tablero {title}? Esto eliminará todos los datos del tablero.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "¿Está seguro de querer eliminar el tablero {title}? Esto eliminará todos los datos del tablero incluyendo las tarjetas archivadas.", "Delete the board?" : "¿Borrar el tablero?", "Loading filtered view" : "Cargando vista filtrada", "No due" : "Sin finalizar", "Search for {searchQuery} in all boards" : "Buscar {searchQuery} en todos los tableros", "No results found" : "No se encontraron resultados", + "{stack} in {board}" : "{stack} en {board}", + "Click to expand description" : "Pulse para expandir la descripción", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creada en {created}\n* Ultima moficiación en {lastMod}\n* {nbAttachments} adjuntos\n* {nbComments} comentarios", + "{nbCards} cards" : "{nbCards} tarjetas", "No upcoming cards" : "No hay tarjetas próximas", "upcoming cards" : "próximas tarjetas", + "Due on {date}" : "Vence en {date}", "Link to a board" : "Enlace a un tablero", "Link to a card" : "Enlace a una tarjeta", "Create a card" : "Crear una tarjeta", @@ -298,6 +307,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "¿Estás seguro de que quieres transferir el tablero {título} a {usuario}?", "Transfer the board for {user} successfully" : "Transferir el tablero para {usuario} con éxito", "Failed to transfer the board for {user}" : "No se ha podido transferir el tablero para {usuario}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "¿Estas seguro de que quieres eliminar el tablero {title}? Esto eliminará todos los datos del tablero.", "This week" : "Esta semana", "Are you sure you want to transfer the board {title} for {user}?" : "¿Estás seguro de que quieres transferir el tablero {título} a {usuario}?" }, diff --git a/l10n/es.json b/l10n/es.json index d62683132..0a7f8df9d 100644 --- a/l10n/es.json +++ b/l10n/es.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Cambios en la app Deck", "A comment was created on a card" : "Un comment ha sido creado en una tarjeta", "Upcoming cards" : "Próximas tarjetas", + "Load more" : "Cargar más", "Personal" : "Personal", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "La tarjeta \"%s\" en \"%s\" te ha sido asignada por %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} te ha asigando la tarjeta {deck-card} de {deck-board} a ti.", @@ -148,6 +149,7 @@ "Hide archived cards" : "Ocultar tarjetas archivadas", "Show archived cards" : "Mostrar tarjetas archivadas", "Toggle compact mode" : "Mostrar/ocultar modo compacto", + "Open details" : "Abrir detalles", "Details" : "Detalles", "Loading board" : "Cargando tablero", "No lists available" : "No hay listas disponibles", @@ -238,6 +240,7 @@ "Write a description …" : "Escribe una descripción...", "Choose attachment" : "Escoger adjunto", "(group)" : "(grupo)", + "Todo items" : "Ítems pendientes", "{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer", "Edit card title" : "Editar el título de la tarjeta", "Assign to me" : "Asignarme a mí", @@ -253,6 +256,7 @@ "All boards" : "Todos los tableros", "Archived boards" : "Tableros archivados", "Shared with you" : "Compartido contigo", + "Deck settings" : "Configuración del tablero", "Use bigger card view" : "Usar vista de tarjeta mayor", "Show boards in calendar/tasks" : "Mostrar tableros en calendario/tareas", "Limit deck usage of groups" : "Limitar el uso de Deck a grupos", @@ -273,14 +277,19 @@ "Only assigned cards" : "Sólo las tarjetas asignadas", "No reminder" : "No hay recordatorio", "An error occurred" : "Ocurrió un error", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "¿Estas seguro de que quieres eliminar el tablero {title}? Esto eliminará todos los datos del tablero.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "¿Está seguro de querer eliminar el tablero {title}? Esto eliminará todos los datos del tablero incluyendo las tarjetas archivadas.", "Delete the board?" : "¿Borrar el tablero?", "Loading filtered view" : "Cargando vista filtrada", "No due" : "Sin finalizar", "Search for {searchQuery} in all boards" : "Buscar {searchQuery} en todos los tableros", "No results found" : "No se encontraron resultados", + "{stack} in {board}" : "{stack} en {board}", + "Click to expand description" : "Pulse para expandir la descripción", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creada en {created}\n* Ultima moficiación en {lastMod}\n* {nbAttachments} adjuntos\n* {nbComments} comentarios", + "{nbCards} cards" : "{nbCards} tarjetas", "No upcoming cards" : "No hay tarjetas próximas", "upcoming cards" : "próximas tarjetas", + "Due on {date}" : "Vence en {date}", "Link to a board" : "Enlace a un tablero", "Link to a card" : "Enlace a una tarjeta", "Create a card" : "Crear una tarjeta", @@ -296,6 +305,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "¿Estás seguro de que quieres transferir el tablero {título} a {usuario}?", "Transfer the board for {user} successfully" : "Transferir el tablero para {usuario} con éxito", "Failed to transfer the board for {user}" : "No se ha podido transferir el tablero para {usuario}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "¿Estas seguro de que quieres eliminar el tablero {title}? Esto eliminará todos los datos del tablero.", "This week" : "Esta semana", "Are you sure you want to transfer the board {title} for {user}?" : "¿Estás seguro de que quieres transferir el tablero {título} a {usuario}?" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" diff --git a/l10n/es_PE.js b/l10n/es_PE.js index 569125f78..7aad309a4 100644 --- a/l10n/es_PE.js +++ b/l10n/es_PE.js @@ -10,6 +10,7 @@ OC.L10N.register( "To review" : "Para revisar", "Action needed" : "Acción requerida", "Later" : "Después", + "copy" : "copiar", "Done" : "Terminado", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", diff --git a/l10n/es_PE.json b/l10n/es_PE.json index a0c00f4d3..fcec0cc6d 100644 --- a/l10n/es_PE.json +++ b/l10n/es_PE.json @@ -8,6 +8,7 @@ "To review" : "Para revisar", "Action needed" : "Acción requerida", "Later" : "Después", + "copy" : "copiar", "Done" : "Terminado", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", diff --git a/l10n/es_SV.js b/l10n/es_SV.js index 9c75c9786..c6096902f 100644 --- a/l10n/es_SV.js +++ b/l10n/es_SV.js @@ -63,4 +63,4 @@ OC.L10N.register( "Share" : "Compartir", "This week" : "Esta semana" }, -"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); +"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/es_SV.json b/l10n/es_SV.json index c9c94d8e1..93cddd1c3 100644 --- a/l10n/es_SV.json +++ b/l10n/es_SV.json @@ -60,5 +60,5 @@ "Delete board" : "Borrar tableros", "Share" : "Compartir", "This week" : "Esta semana" -},"pluralForm" :"nplurals=2; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" +},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/eu.js b/l10n/eu.js index 7bf8a35d0..2bbd2a42d 100644 --- a/l10n/eu.js +++ b/l10n/eu.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Deck aplikazioan aldaketak", "A comment was created on a card" : "Iruzkin bat sortu da txartel batean", "Upcoming cards" : "Hurrengo txartelak", + "Load more" : "Kargatu gehiago", "Personal" : "Pertsonala", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "\"%s\" txartela \"%s\"-n %sk esleitu zaizu.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user}-k {deck-board}-ko {deck-card} txartela esleitu dizu.", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Ezkutatu artxibatutako txartelak", "Show archived cards" : "Erakutsi artxibatutako txartelak", "Toggle compact mode" : "Txandakatu modu trinkoa", + "Open details" : "Ireki xehetasunak", "Details" : "Xehetasunak", "Loading board" : "Taula kargatzen", "No lists available" : "Ez dago zerrendarik eskuragarri", @@ -277,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "Bakarrik esleitutako txartelak", "No reminder" : "Abisurik ez", "An error occurred" : "Errore bat gertatu da", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ziur zaude «{title}» taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ziur zaude {title} taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu, artxibatutako kartak barne.", "Delete the board?" : "Taula ezabatu?", "Loading filtered view" : "Kargatzen iragazitako ikuspegia", "No due" : "Epemugarik ez", "Search for {searchQuery} in all boards" : "Bilatu {searchQuery} taula guztietan", "No results found" : "Ez da emaitzarik aurkitu", + "{stack} in {board}" : "{stack} {board}-(e)n", + "Click to expand description" : "Egin klik deskribapena handitzeko", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Sorrera-data {created}\n* Azken aldaketa data {lastMod}\n* {nbAttachments} eranskin\n* {nbComments} iruzkin", + "{nbCards} cards" : "{nbCards} karta", "No upcoming cards" : "Ez dago hurrengo txartelik", "upcoming cards" : "hurrengo txartelak", + "Due on {date}" : "Iraungitze-data {date}", "Link to a board" : "Estekatu taula batera", "Link to a card" : "Estekatu txartel batera", "Create a card" : "Sortu txartela", @@ -300,6 +307,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "Ziur {title} transferitu nahi duzula {user}-en panela ?", "Transfer the board for {user} successfully" : "Transferitu {user}-ren panela behar bezala", "Failed to transfer the board for {user}" : "Ezin izan da transferitu {user}-ren panela", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ziur zaude «{title}» taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu.", "This week" : "Aste honetan", "Are you sure you want to transfer the board {title} for {user}?" : "Ziur {title} taula transferitu nahi duzula {user}?" }, diff --git a/l10n/eu.json b/l10n/eu.json index 9dd940b3a..78b0d6a4e 100644 --- a/l10n/eu.json +++ b/l10n/eu.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Deck aplikazioan aldaketak", "A comment was created on a card" : "Iruzkin bat sortu da txartel batean", "Upcoming cards" : "Hurrengo txartelak", + "Load more" : "Kargatu gehiago", "Personal" : "Pertsonala", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "\"%s\" txartela \"%s\"-n %sk esleitu zaizu.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user}-k {deck-board}-ko {deck-card} txartela esleitu dizu.", @@ -148,6 +149,7 @@ "Hide archived cards" : "Ezkutatu artxibatutako txartelak", "Show archived cards" : "Erakutsi artxibatutako txartelak", "Toggle compact mode" : "Txandakatu modu trinkoa", + "Open details" : "Ireki xehetasunak", "Details" : "Xehetasunak", "Loading board" : "Taula kargatzen", "No lists available" : "Ez dago zerrendarik eskuragarri", @@ -275,14 +277,19 @@ "Only assigned cards" : "Bakarrik esleitutako txartelak", "No reminder" : "Abisurik ez", "An error occurred" : "Errore bat gertatu da", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ziur zaude «{title}» taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ziur zaude {title} taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu, artxibatutako kartak barne.", "Delete the board?" : "Taula ezabatu?", "Loading filtered view" : "Kargatzen iragazitako ikuspegia", "No due" : "Epemugarik ez", "Search for {searchQuery} in all boards" : "Bilatu {searchQuery} taula guztietan", "No results found" : "Ez da emaitzarik aurkitu", + "{stack} in {board}" : "{stack} {board}-(e)n", + "Click to expand description" : "Egin klik deskribapena handitzeko", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Sorrera-data {created}\n* Azken aldaketa data {lastMod}\n* {nbAttachments} eranskin\n* {nbComments} iruzkin", + "{nbCards} cards" : "{nbCards} karta", "No upcoming cards" : "Ez dago hurrengo txartelik", "upcoming cards" : "hurrengo txartelak", + "Due on {date}" : "Iraungitze-data {date}", "Link to a board" : "Estekatu taula batera", "Link to a card" : "Estekatu txartel batera", "Create a card" : "Sortu txartela", @@ -298,6 +305,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "Ziur {title} transferitu nahi duzula {user}-en panela ?", "Transfer the board for {user} successfully" : "Transferitu {user}-ren panela behar bezala", "Failed to transfer the board for {user}" : "Ezin izan da transferitu {user}-ren panela", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ziur zaude «{title}» taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu.", "This week" : "Aste honetan", "Are you sure you want to transfer the board {title} for {user}?" : "Ziur {title} taula transferitu nahi duzula {user}?" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/fi.js b/l10n/fi.js index 22def4814..fa7d89324 100644 --- a/l10n/fi.js +++ b/l10n/fi.js @@ -56,6 +56,7 @@ OC.L10N.register( "Changes in the Deck app" : "Muutokset Pakka-sovelluksessa", "A comment was created on a card" : "Kommentti luotiin kortille", "Upcoming cards" : "Tulevat kortit", + "Load more" : "Lataa lisää", "Personal" : "Henkilökohtainen", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortti \"%s\" taululla \"%s\" on asetettu sinulle käyttäjän %s toimesta.", "The card \"%s\" on \"%s\" has reached its due date." : "Kortin \"%s\" on \"%s\" eräpäivä on tullut vastaan.", @@ -128,6 +129,7 @@ OC.L10N.register( "Hide archived cards" : "Piilota arkistoidut kortit", "Show archived cards" : "Näytä arkistoidut kortit", "Toggle compact mode" : "Käytä kompaktia tilaa", + "Open details" : "Avaa yksityiskohdat", "Details" : "Tiedot", "Loading board" : "Ladataan taulua", "No lists available" : "Ei listoja saatavilla", diff --git a/l10n/fi.json b/l10n/fi.json index d4b303c69..7281300da 100644 --- a/l10n/fi.json +++ b/l10n/fi.json @@ -54,6 +54,7 @@ "Changes in the Deck app" : "Muutokset Pakka-sovelluksessa", "A comment was created on a card" : "Kommentti luotiin kortille", "Upcoming cards" : "Tulevat kortit", + "Load more" : "Lataa lisää", "Personal" : "Henkilökohtainen", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortti \"%s\" taululla \"%s\" on asetettu sinulle käyttäjän %s toimesta.", "The card \"%s\" on \"%s\" has reached its due date." : "Kortin \"%s\" on \"%s\" eräpäivä on tullut vastaan.", @@ -126,6 +127,7 @@ "Hide archived cards" : "Piilota arkistoidut kortit", "Show archived cards" : "Näytä arkistoidut kortit", "Toggle compact mode" : "Käytä kompaktia tilaa", + "Open details" : "Avaa yksityiskohdat", "Details" : "Tiedot", "Loading board" : "Ladataan taulua", "No lists available" : "Ei listoja saatavilla", diff --git a/l10n/fr.js b/l10n/fr.js index ee31c1ebe..d10e73c60 100644 --- a/l10n/fr.js +++ b/l10n/fr.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Modifications dans Deck app", "A comment was created on a card" : "Un commentaire a été créé sur une carte", "Upcoming cards" : "Cartes à venir", + "Load more" : "Charger d'avantage", "Personal" : "Personnel", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "La carte \"%s\" de \"%s\" vous a été assignée par %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} vous a attribué la carte {deck-card} du tableau {deck-board}.", @@ -149,7 +150,8 @@ OC.L10N.register( "Clear filter" : "Supprimer le filtre", "Hide archived cards" : "Masquer les cartes archivées", "Show archived cards" : "Afficher les cartes archivées", - "Toggle compact mode" : "Basculer le mode compact", + "Toggle compact mode" : "Activer/Désactiver l'affichage compact", + "Open details" : "Ouvrir les détails", "Details" : "Détails", "Loading board" : "Chargement du tableau…", "No lists available" : "Aucune liste disponible", @@ -176,7 +178,7 @@ OC.L10N.register( "Failed to create share with {displayName}" : "Échec de la création du partage avec {displayName}", "Are you sure you want to transfer the board {title} to {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} à {user} ?", "Transfer the board." : "Transférer le tableau", - "Transfer" : "Transfert", + "Transfer" : "Transférer", "The board has been transferred to {user}" : "Le tableau a été transféré à {user}", "Failed to transfer the board to {user}" : "Échec du transfert du tableau à {user}", "Add a new list" : "Ajouter une nouvelle liste", @@ -188,7 +190,7 @@ OC.L10N.register( "List deleted" : "Liste supprimée", "Edit" : "Modifier", "Add a new tag" : "Ajouter une nouvelle étiquette", - "title and color value must be provided" : "le titre et la couleur doivent être renseignés", + "title and color value must be provided" : "Le titre et la couleur doivent être renseignés", "Board name" : "Nom du tableau", "Members" : "Membres", "Upload new files" : "Téléverser de nouveaux fichiers", @@ -202,12 +204,12 @@ OC.L10N.register( "Restore Attachment" : "Restaurer la pièce jointe", "File to share" : "Fichier à partager", "Invalid path selected" : "Chemin sélectionné non valide", - "Open in sidebar view" : "Ouvrir dans la barre latérale", + "Open in sidebar view" : "Ouvrir dans le panneau latéral", "Open in bigger view" : "Ouvrir dans la vue principale", "Attachments" : "Pièces jointes", "Comments" : "Commentaires", - "Modified" : "Modifié", - "Created" : "Créé", + "Modified" : "Modifiée", + "Created" : "Créée", "The title cannot be empty." : "Le titre ne peut pas être vide.", "No comments yet. Begin the discussion!" : "Aucun commentaire pour l'instant, démarrez la discussion !", "Failed to load comments" : "Échec du chargement des commentaires", @@ -237,12 +239,14 @@ OC.L10N.register( "Edit description" : "Modifier la description", "View description" : "Afficher la description", "Add Attachment" : "Ajouter une pièce jointe", - "Write a description …" : "Écrire une description ...", + "Write a description …" : "Écrire une description…", "Choose attachment" : "Choisir une pièce jointe", "(group)" : "(groupe)", + "Todo items" : "À faire", "{count} comments, {unread} unread" : "{count} commentaires, {unread} non lus", + "Edit card title" : "Modifier le titre de la carte", "Assign to me" : "Me l'assigner", - "Unassign myself" : "Me le désassigner", + "Unassign myself" : "Me désassigner", "Move card" : "Déplacer la carte", "Unarchive card" : "Sortir la carte des archives", "Archive card" : "Archiver la carte", @@ -254,12 +258,13 @@ OC.L10N.register( "All boards" : "Tous les tableaux", "Archived boards" : "Tableaux archivés", "Shared with you" : "Partagés avec vous", + "Deck settings" : "Paramètres de Deck", "Use bigger card view" : "Utiliser la vue large des cartes", "Show boards in calendar/tasks" : "Afficher les tableaux dans les agendas/tâches", "Limit deck usage of groups" : "Limiter l'utilisation du tableau aux groupes", "Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limiter Deck empêchera les utilisateurs ne faisant pas partie de ces groupes de créer leurs propres tableaux. Ces utilisateurs pourront toujours travailler sur les tableaux qui ont été partagés avec eux.", "Board details" : "Détails du tableau", - "Edit board" : "Modifier le tableau", + "Edit board" : "Renommer le tableau", "Clone board" : "Dupliquer le tableau", "Unarchive board" : "Désarchiver le tableau", "Archive board" : "Archiver le tableau", @@ -274,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "Uniquement les cartes assignées", "No reminder" : "Aucun rappel", "An error occurred" : "Une erreur est survenue", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Êtes-vous certain de vouloir supprimer le tableau {title} ? Cela supprimera l'ensemble des données de ce tableau.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Êtes-vous sûr de vouloir supprimer le tableau {titre} ? Cela supprimera toutes les données de ce tableau, y compris les cartes archivées.", "Delete the board?" : "Supprimer le tableau ?", "Loading filtered view" : "Chargement de la vue filtrée", "No due" : "Sans échéance", "Search for {searchQuery} in all boards" : "Rechercher {searchQuery} dans tous les tableaux", "No results found" : "Aucun résultat", + "{stack} in {board}" : "{stack} dans {board}", + "Click to expand description" : "Cliquer pour visualiser la description", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Créée le {created}\n* Dernière modification le {lastMod}\n* {nbAttachments} pièces jointes\n* {nbComments} commentaires", + "{nbCards} cards" : "{nbCards} cartes", "No upcoming cards" : "Pas de cartes à venir", "upcoming cards" : "cartes à venir", + "Due on {date}" : "Échéance le {date}", "Link to a board" : "Relier à un tableau", "Link to a card" : "Relier à une carte", "Create a card" : "Créer une carte", @@ -297,6 +307,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?", "Transfer the board for {user} successfully" : "Transfert du tableau pour {user} avec succès", "Failed to transfer the board for {user}" : "Échec du transfert du tableau pour {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Êtes-vous certain de vouloir supprimer le tableau {title} ? Cela supprimera l'ensemble des données de ce tableau.", "This week" : "Cette semaine", "Are you sure you want to transfer the board {title} for {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?" }, diff --git a/l10n/fr.json b/l10n/fr.json index dbc35df54..ed1d1a92a 100644 --- a/l10n/fr.json +++ b/l10n/fr.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Modifications dans Deck app", "A comment was created on a card" : "Un commentaire a été créé sur une carte", "Upcoming cards" : "Cartes à venir", + "Load more" : "Charger d'avantage", "Personal" : "Personnel", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "La carte \"%s\" de \"%s\" vous a été assignée par %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} vous a attribué la carte {deck-card} du tableau {deck-board}.", @@ -147,7 +148,8 @@ "Clear filter" : "Supprimer le filtre", "Hide archived cards" : "Masquer les cartes archivées", "Show archived cards" : "Afficher les cartes archivées", - "Toggle compact mode" : "Basculer le mode compact", + "Toggle compact mode" : "Activer/Désactiver l'affichage compact", + "Open details" : "Ouvrir les détails", "Details" : "Détails", "Loading board" : "Chargement du tableau…", "No lists available" : "Aucune liste disponible", @@ -174,7 +176,7 @@ "Failed to create share with {displayName}" : "Échec de la création du partage avec {displayName}", "Are you sure you want to transfer the board {title} to {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} à {user} ?", "Transfer the board." : "Transférer le tableau", - "Transfer" : "Transfert", + "Transfer" : "Transférer", "The board has been transferred to {user}" : "Le tableau a été transféré à {user}", "Failed to transfer the board to {user}" : "Échec du transfert du tableau à {user}", "Add a new list" : "Ajouter une nouvelle liste", @@ -186,7 +188,7 @@ "List deleted" : "Liste supprimée", "Edit" : "Modifier", "Add a new tag" : "Ajouter une nouvelle étiquette", - "title and color value must be provided" : "le titre et la couleur doivent être renseignés", + "title and color value must be provided" : "Le titre et la couleur doivent être renseignés", "Board name" : "Nom du tableau", "Members" : "Membres", "Upload new files" : "Téléverser de nouveaux fichiers", @@ -200,12 +202,12 @@ "Restore Attachment" : "Restaurer la pièce jointe", "File to share" : "Fichier à partager", "Invalid path selected" : "Chemin sélectionné non valide", - "Open in sidebar view" : "Ouvrir dans la barre latérale", + "Open in sidebar view" : "Ouvrir dans le panneau latéral", "Open in bigger view" : "Ouvrir dans la vue principale", "Attachments" : "Pièces jointes", "Comments" : "Commentaires", - "Modified" : "Modifié", - "Created" : "Créé", + "Modified" : "Modifiée", + "Created" : "Créée", "The title cannot be empty." : "Le titre ne peut pas être vide.", "No comments yet. Begin the discussion!" : "Aucun commentaire pour l'instant, démarrez la discussion !", "Failed to load comments" : "Échec du chargement des commentaires", @@ -235,12 +237,14 @@ "Edit description" : "Modifier la description", "View description" : "Afficher la description", "Add Attachment" : "Ajouter une pièce jointe", - "Write a description …" : "Écrire une description ...", + "Write a description …" : "Écrire une description…", "Choose attachment" : "Choisir une pièce jointe", "(group)" : "(groupe)", + "Todo items" : "À faire", "{count} comments, {unread} unread" : "{count} commentaires, {unread} non lus", + "Edit card title" : "Modifier le titre de la carte", "Assign to me" : "Me l'assigner", - "Unassign myself" : "Me le désassigner", + "Unassign myself" : "Me désassigner", "Move card" : "Déplacer la carte", "Unarchive card" : "Sortir la carte des archives", "Archive card" : "Archiver la carte", @@ -252,12 +256,13 @@ "All boards" : "Tous les tableaux", "Archived boards" : "Tableaux archivés", "Shared with you" : "Partagés avec vous", + "Deck settings" : "Paramètres de Deck", "Use bigger card view" : "Utiliser la vue large des cartes", "Show boards in calendar/tasks" : "Afficher les tableaux dans les agendas/tâches", "Limit deck usage of groups" : "Limiter l'utilisation du tableau aux groupes", "Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limiter Deck empêchera les utilisateurs ne faisant pas partie de ces groupes de créer leurs propres tableaux. Ces utilisateurs pourront toujours travailler sur les tableaux qui ont été partagés avec eux.", "Board details" : "Détails du tableau", - "Edit board" : "Modifier le tableau", + "Edit board" : "Renommer le tableau", "Clone board" : "Dupliquer le tableau", "Unarchive board" : "Désarchiver le tableau", "Archive board" : "Archiver le tableau", @@ -272,14 +277,19 @@ "Only assigned cards" : "Uniquement les cartes assignées", "No reminder" : "Aucun rappel", "An error occurred" : "Une erreur est survenue", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Êtes-vous certain de vouloir supprimer le tableau {title} ? Cela supprimera l'ensemble des données de ce tableau.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Êtes-vous sûr de vouloir supprimer le tableau {titre} ? Cela supprimera toutes les données de ce tableau, y compris les cartes archivées.", "Delete the board?" : "Supprimer le tableau ?", "Loading filtered view" : "Chargement de la vue filtrée", "No due" : "Sans échéance", "Search for {searchQuery} in all boards" : "Rechercher {searchQuery} dans tous les tableaux", "No results found" : "Aucun résultat", + "{stack} in {board}" : "{stack} dans {board}", + "Click to expand description" : "Cliquer pour visualiser la description", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Créée le {created}\n* Dernière modification le {lastMod}\n* {nbAttachments} pièces jointes\n* {nbComments} commentaires", + "{nbCards} cards" : "{nbCards} cartes", "No upcoming cards" : "Pas de cartes à venir", "upcoming cards" : "cartes à venir", + "Due on {date}" : "Échéance le {date}", "Link to a board" : "Relier à un tableau", "Link to a card" : "Relier à une carte", "Create a card" : "Créer une carte", @@ -295,6 +305,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?", "Transfer the board for {user} successfully" : "Transfert du tableau pour {user} avec succès", "Failed to transfer the board for {user}" : "Échec du transfert du tableau pour {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Êtes-vous certain de vouloir supprimer le tableau {title} ? Cela supprimera l'ensemble des données de ce tableau.", "This week" : "Cette semaine", "Are you sure you want to transfer the board {title} for {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?" },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" diff --git a/l10n/gl.js b/l10n/gl.js index 3506c422c..45e3756db 100644 --- a/l10n/gl.js +++ b/l10n/gl.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Cambios na aplicación Deck", "A comment was created on a card" : "Creouse un comentario nunha tarxeta", "Upcoming cards" : "Tarxetas próximas", + "Load more" : "Cargar máis", "Personal" : "Persoal", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a vostede por %s.", "The card \"%s\" on \"%s\" has reached its due date." : "A tarxeta «%s» en «%s» chegou á súa data de caducidade.", @@ -141,6 +142,7 @@ OC.L10N.register( "Hide archived cards" : "Agochar as tarxetas arquivadas", "Show archived cards" : "Amosar as tarxetas arquivadas", "Toggle compact mode" : "Alternar o modo compacto", + "Open details" : "Abrir detalles", "Details" : "Detalles", "Loading board" : "Cargando o taboleiro", "No lists available" : "Non hai listas dispoñíbeis", @@ -256,12 +258,12 @@ OC.L10N.register( "Only assigned cards" : "Só as tarxetas asignadas", "No reminder" : "Non hai lembretes", "An error occurred" : "Produciuse un erro", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Confirma que quere eliminar o taboleiro {title}? Isto eliminará todos os datos deste taboleiro.", "Delete the board?" : "Eliminar o taboleiro?", "Loading filtered view" : "Cargando a vista filtrada", "No due" : "Sen caducidade", "Search for {searchQuery} in all boards" : "Resultados de busca para {searchQuery} en todos os taboleiros", "No results found" : "Non se atoparon resultados", + "{stack} in {board}" : "{stack} en {board}", "No upcoming cards" : "Non hai tarxetas próximas", "upcoming cards" : "tarxetas próximas", "Link to a board" : "Ligar a un taboleiro", @@ -276,6 +278,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "Compartir {file} cunha tarxeta Deck", "Share" : "Compartir", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n- 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n- 📄 Escriba notas adicionais en markdown\n- 🔖 Asigne etiquetas para unha mellor organización\n- 👥 Comparta co seu equipo, amigos ou a súa familia\n- 📎 Anexe ficheiros e insíraos na súa descrición de markdown\n- 💬 Debata co seu equipo usando os comentarios\n- ⚡ Faga un seguimento dos cambios no fluxo de actividade\n- 🚀 Teña o seu proxecto organizado", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Confirma que quere eliminar o taboleiro {title}? Isto eliminará todos os datos deste taboleiro.", "This week" : "Esta semana" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/gl.json b/l10n/gl.json index e8b9d0462..8800a0e01 100644 --- a/l10n/gl.json +++ b/l10n/gl.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Cambios na aplicación Deck", "A comment was created on a card" : "Creouse un comentario nunha tarxeta", "Upcoming cards" : "Tarxetas próximas", + "Load more" : "Cargar máis", "Personal" : "Persoal", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a vostede por %s.", "The card \"%s\" on \"%s\" has reached its due date." : "A tarxeta «%s» en «%s» chegou á súa data de caducidade.", @@ -139,6 +140,7 @@ "Hide archived cards" : "Agochar as tarxetas arquivadas", "Show archived cards" : "Amosar as tarxetas arquivadas", "Toggle compact mode" : "Alternar o modo compacto", + "Open details" : "Abrir detalles", "Details" : "Detalles", "Loading board" : "Cargando o taboleiro", "No lists available" : "Non hai listas dispoñíbeis", @@ -254,12 +256,12 @@ "Only assigned cards" : "Só as tarxetas asignadas", "No reminder" : "Non hai lembretes", "An error occurred" : "Produciuse un erro", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Confirma que quere eliminar o taboleiro {title}? Isto eliminará todos os datos deste taboleiro.", "Delete the board?" : "Eliminar o taboleiro?", "Loading filtered view" : "Cargando a vista filtrada", "No due" : "Sen caducidade", "Search for {searchQuery} in all boards" : "Resultados de busca para {searchQuery} en todos os taboleiros", "No results found" : "Non se atoparon resultados", + "{stack} in {board}" : "{stack} en {board}", "No upcoming cards" : "Non hai tarxetas próximas", "upcoming cards" : "tarxetas próximas", "Link to a board" : "Ligar a un taboleiro", @@ -274,6 +276,7 @@ "Share {file} with a Deck card" : "Compartir {file} cunha tarxeta Deck", "Share" : "Compartir", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n- 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n- 📄 Escriba notas adicionais en markdown\n- 🔖 Asigne etiquetas para unha mellor organización\n- 👥 Comparta co seu equipo, amigos ou a súa familia\n- 📎 Anexe ficheiros e insíraos na súa descrición de markdown\n- 💬 Debata co seu equipo usando os comentarios\n- ⚡ Faga un seguimento dos cambios no fluxo de actividade\n- 🚀 Teña o seu proxecto organizado", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Confirma que quere eliminar o taboleiro {title}? Isto eliminará todos os datos deste taboleiro.", "This week" : "Esta semana" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/he.js b/l10n/he.js index f8a474ccc..81678a4dc 100644 --- a/l10n/he.js +++ b/l10n/he.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "שינויים ליישומון החבילה", "A comment was created on a card" : "נוצרה הערה על כרטיס", "Upcoming cards" : "כרטיסים עתידיים", + "Load more" : "לטעון עוד", "Personal" : "אישי", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "הכרטיס \"%s\" שב־„%s” הוקצה אליך על ידי %s.", "The card \"%s\" on \"%s\" has reached its due date." : "הכרטיס „%s” שתחת „%s” הגיע למועד התפוגה שלו.", @@ -136,6 +137,7 @@ OC.L10N.register( "Hide archived cards" : "הסתרת כרטיסים בארכיון", "Show archived cards" : "הצגת כרטיסים בארכיון", "Toggle compact mode" : "החלפת מצב חסכוני", + "Open details" : "פתיחת פרטים", "Details" : "פרטים", "Loading board" : "הלוח נטען", "No lists available" : "אין רשימות זמינות", @@ -251,7 +253,6 @@ OC.L10N.register( "Only assigned cards" : "רק כרטיסים שהוקצו", "No reminder" : "אין תזכורת", "An error occurred" : "אירעה שגיאה", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "למחוק את הלוח {title}? פעולה זו תמחק את כל הנתונים של הלוח הזה.", "Delete the board?" : "למחוק את הלוח הזה?", "Loading filtered view" : "טוען תצוגה מסוננת", "No due" : "אין תאריך יעד", @@ -268,6 +269,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "שיתוף {file} עם כרטיס חפיסה", "Share" : "שיתוף", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck הוא כלי ארגון בסגנון kanban המכוון לתכנון אישי ולארגון פרויקטים עבור צוותים המשולבים ב- Nextcloud.\n\n\n- 📥 הוסף את המשימות שלך לכרטיסים וסדר אותן\n- 📄 רשמו הערות נוספות ב-markdown\n- 🔖הקצה תוויות לארגון טוב עוד יותר\n- 👥 שתף עם הצוות שלך, חברים, או משפחה\n- 📎 צרף קבצים והטמע אותם בתיאור ה-markdown שלך\n- 💬 שוחח עם הצוות שלך באמצעות הערות\n- ⚡ עקוב אחר שינויים בזרם הפעילות\n- 🚀 ארגנו את הפרויקט שלכם", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "למחוק את הלוח {title}? פעולה זו תמחק את כל הנתונים של הלוח הזה.", "This week" : "השבוע" }, "nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"); diff --git a/l10n/he.json b/l10n/he.json index 69c590e64..3568044eb 100644 --- a/l10n/he.json +++ b/l10n/he.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "שינויים ליישומון החבילה", "A comment was created on a card" : "נוצרה הערה על כרטיס", "Upcoming cards" : "כרטיסים עתידיים", + "Load more" : "לטעון עוד", "Personal" : "אישי", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "הכרטיס \"%s\" שב־„%s” הוקצה אליך על ידי %s.", "The card \"%s\" on \"%s\" has reached its due date." : "הכרטיס „%s” שתחת „%s” הגיע למועד התפוגה שלו.", @@ -134,6 +135,7 @@ "Hide archived cards" : "הסתרת כרטיסים בארכיון", "Show archived cards" : "הצגת כרטיסים בארכיון", "Toggle compact mode" : "החלפת מצב חסכוני", + "Open details" : "פתיחת פרטים", "Details" : "פרטים", "Loading board" : "הלוח נטען", "No lists available" : "אין רשימות זמינות", @@ -249,7 +251,6 @@ "Only assigned cards" : "רק כרטיסים שהוקצו", "No reminder" : "אין תזכורת", "An error occurred" : "אירעה שגיאה", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "למחוק את הלוח {title}? פעולה זו תמחק את כל הנתונים של הלוח הזה.", "Delete the board?" : "למחוק את הלוח הזה?", "Loading filtered view" : "טוען תצוגה מסוננת", "No due" : "אין תאריך יעד", @@ -266,6 +267,7 @@ "Share {file} with a Deck card" : "שיתוף {file} עם כרטיס חפיסה", "Share" : "שיתוף", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck הוא כלי ארגון בסגנון kanban המכוון לתכנון אישי ולארגון פרויקטים עבור צוותים המשולבים ב- Nextcloud.\n\n\n- 📥 הוסף את המשימות שלך לכרטיסים וסדר אותן\n- 📄 רשמו הערות נוספות ב-markdown\n- 🔖הקצה תוויות לארגון טוב עוד יותר\n- 👥 שתף עם הצוות שלך, חברים, או משפחה\n- 📎 צרף קבצים והטמע אותם בתיאור ה-markdown שלך\n- 💬 שוחח עם הצוות שלך באמצעות הערות\n- ⚡ עקוב אחר שינויים בזרם הפעילות\n- 🚀 ארגנו את הפרויקט שלכם", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "למחוק את הלוח {title}? פעולה זו תמחק את כל הנתונים של הלוח הזה.", "This week" : "השבוע" },"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;" } \ No newline at end of file diff --git a/l10n/hr.js b/l10n/hr.js index 1c850f0cb..089a611b6 100644 --- a/l10n/hr.js +++ b/l10n/hr.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Promjene u aplikaciji Deck", "A comment was created on a card" : "Na kartici je stvoren komentar", "Upcoming cards" : "Nadolazeće kartice", + "Load more" : "Učitaj više", "Personal" : "Osobno", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Karticu „%s” na „%s” dodijelio vam je %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} vam je dodijelio karticu {deck-card} na {deck-board}.", @@ -147,6 +148,7 @@ OC.L10N.register( "Hide archived cards" : "Sakrij arhivirane kartice", "Show archived cards" : "Prikaži arhivirane kartice", "Toggle compact mode" : "Prebaci u kompaktni način rada", + "Open details" : "Otvori pojedinosti", "Details" : "Pojedinosti", "Loading board" : "Učitavanje ploče", "No lists available" : "Nema dostupnih popisa", @@ -265,12 +267,12 @@ OC.L10N.register( "Only assigned cards" : "Samo dodijeljene kartice", "No reminder" : "Nema podsjetnika", "An error occurred" : "Došlo je do pogreške", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Jeste li sigurni da želite izbrisati ploču {title}? Time ćete izbrisati sve podatke ploče.", "Delete the board?" : "Želite li izbrisati ploču?", "Loading filtered view" : "Učitavanje filtriranog prikaza", "No due" : "Nema nezavršenih", "Search for {searchQuery} in all boards" : "Traži {searchQuery} na svim pločama", "No results found" : "Nema rezultata", + "{stack} in {board}" : "{stack} u {board}", "No upcoming cards" : "Nema nadolazećih kartica", "upcoming cards" : "nadolazeće kartice", "Link to a board" : "Poveznica na ploču", @@ -285,6 +287,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "Dijeli {file} s Deck karticom", "Share" : "Dijeli", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck je organizacijski alat za kanban projekte usmjeren na osobno planiranje i organizaciju projekta za timove integrirane s Nextcloudom.\n\n\n- 📥 Dodajte svoje zadatke na kartice i poredajte ih po želji\n- 📄 Zapišite dodatne bilješke u markdown\n- 🔖 Dodijelite oznake za još bolju organizaciju\n- 👥 Dijelite sa svojim timom, prijateljima ili obitelji\n- 📎 Priložite datoteke i ugradite ih u svoj markdown opis\n- 💬 Raspravljajte sa svojim timom putem komentara\n- ⚡ Pratite promjene u strujanju aktivnosti\n- 🚀 Organizirajte svoj projekt", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Jeste li sigurni da želite izbrisati ploču {title}? Time ćete izbrisati sve podatke ploče.", "This week" : "Ovaj tjedan" }, "nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"); diff --git a/l10n/hr.json b/l10n/hr.json index 53550a431..76f948947 100644 --- a/l10n/hr.json +++ b/l10n/hr.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Promjene u aplikaciji Deck", "A comment was created on a card" : "Na kartici je stvoren komentar", "Upcoming cards" : "Nadolazeće kartice", + "Load more" : "Učitaj više", "Personal" : "Osobno", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Karticu „%s” na „%s” dodijelio vam je %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} vam je dodijelio karticu {deck-card} na {deck-board}.", @@ -145,6 +146,7 @@ "Hide archived cards" : "Sakrij arhivirane kartice", "Show archived cards" : "Prikaži arhivirane kartice", "Toggle compact mode" : "Prebaci u kompaktni način rada", + "Open details" : "Otvori pojedinosti", "Details" : "Pojedinosti", "Loading board" : "Učitavanje ploče", "No lists available" : "Nema dostupnih popisa", @@ -263,12 +265,12 @@ "Only assigned cards" : "Samo dodijeljene kartice", "No reminder" : "Nema podsjetnika", "An error occurred" : "Došlo je do pogreške", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Jeste li sigurni da želite izbrisati ploču {title}? Time ćete izbrisati sve podatke ploče.", "Delete the board?" : "Želite li izbrisati ploču?", "Loading filtered view" : "Učitavanje filtriranog prikaza", "No due" : "Nema nezavršenih", "Search for {searchQuery} in all boards" : "Traži {searchQuery} na svim pločama", "No results found" : "Nema rezultata", + "{stack} in {board}" : "{stack} u {board}", "No upcoming cards" : "Nema nadolazećih kartica", "upcoming cards" : "nadolazeće kartice", "Link to a board" : "Poveznica na ploču", @@ -283,6 +285,7 @@ "Share {file} with a Deck card" : "Dijeli {file} s Deck karticom", "Share" : "Dijeli", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck je organizacijski alat za kanban projekte usmjeren na osobno planiranje i organizaciju projekta za timove integrirane s Nextcloudom.\n\n\n- 📥 Dodajte svoje zadatke na kartice i poredajte ih po želji\n- 📄 Zapišite dodatne bilješke u markdown\n- 🔖 Dodijelite oznake za još bolju organizaciju\n- 👥 Dijelite sa svojim timom, prijateljima ili obitelji\n- 📎 Priložite datoteke i ugradite ih u svoj markdown opis\n- 💬 Raspravljajte sa svojim timom putem komentara\n- ⚡ Pratite promjene u strujanju aktivnosti\n- 🚀 Organizirajte svoj projekt", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Jeste li sigurni da želite izbrisati ploču {title}? Time ćete izbrisati sve podatke ploče.", "This week" : "Ovaj tjedan" },"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/hu.js b/l10n/hu.js index e296b8326..255c3b599 100644 --- a/l10n/hu.js +++ b/l10n/hu.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Változások a Kártyák alkalmazásban", "A comment was created on a card" : "Egy hozzászólás lett létrehozva egy kártyán", "Upcoming cards" : "Közelgő kártyák", + "Load more" : "Továbbiak betöltése", "Personal" : "Személyes", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "A(z) „%s” kártyát a(z) „%s” táblán %s hozzárendelte Önhöz.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} hozzárendelte Önhöz a(z) {deck-board} táblán lévő {deck-card} kártyát.", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Archivált kártyák elrejtése", "Show archived cards" : "Archivált kártyák megjelenítése", "Toggle compact mode" : "Kompakt mód be/ki", + "Open details" : "Részletek megnyitása", "Details" : "Részletek", "Loading board" : "Tábla betöltése", "No lists available" : "Nincs elérhető lista", @@ -277,14 +279,18 @@ OC.L10N.register( "Only assigned cards" : "Csak hozzárendelt kártyák", "No reminder" : "Nincs emlékeztető", "An error occurred" : "Hiba történt", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Biztos, hogy törli a(z) {title} táblát? Ez törölni fogja a tábla összes adatát.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Biztos, hogy törli a(z) {title} táblát? Ez törölni fogja a tábla összes adatát, köztük az archivált kártyákat is.", "Delete the board?" : "Törli a táblát?", "Loading filtered view" : "Szűrt nézet betöltése", "No due" : "Nincs határidő", "Search for {searchQuery} in all boards" : "Keresés a(z) {searchQuery} kifejezésre az összes táblában", "No results found" : "Nincs találat", + "{stack} in {board}" : "{stack} itt: {board}", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Létrehozva: {created}\n* Utoljára módosítva: {lastMod}\n* {nbAttachments} melléklet\n* {nbComments} megjegyzés", + "{nbCards} cards" : "{nbCards} kártya", "No upcoming cards" : "Nincsenek közelgő kártyák", "upcoming cards" : "közelgő kártyák", + "Due on {date}" : "Határidő: {date}", "Link to a board" : "Hivatkozás egy táblához", "Link to a card" : "Hivatkozás egy kártyához", "Create a card" : "Kártya létrehozása", @@ -300,6 +306,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "Biztos, hogy átadja a(z) {board} tábla tulajdonjogát {user} számára?", "Transfer the board for {user} successfully" : "A tábla átadása {user} számára sikeres", "Failed to transfer the board for {user}" : "A tábla átadása {user} számára sikertelen", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Biztos, hogy törli a(z) {title} táblát? Ez törölni fogja a tábla összes adatát.", "This week" : "Ez a hét", "Are you sure you want to transfer the board {title} for {user}?" : "Biztos, hogy átadja a(z) {board} tábla tulajdonjogát {user} számára?" }, diff --git a/l10n/hu.json b/l10n/hu.json index e5f998d2f..42d2560a8 100644 --- a/l10n/hu.json +++ b/l10n/hu.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Változások a Kártyák alkalmazásban", "A comment was created on a card" : "Egy hozzászólás lett létrehozva egy kártyán", "Upcoming cards" : "Közelgő kártyák", + "Load more" : "Továbbiak betöltése", "Personal" : "Személyes", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "A(z) „%s” kártyát a(z) „%s” táblán %s hozzárendelte Önhöz.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} hozzárendelte Önhöz a(z) {deck-board} táblán lévő {deck-card} kártyát.", @@ -148,6 +149,7 @@ "Hide archived cards" : "Archivált kártyák elrejtése", "Show archived cards" : "Archivált kártyák megjelenítése", "Toggle compact mode" : "Kompakt mód be/ki", + "Open details" : "Részletek megnyitása", "Details" : "Részletek", "Loading board" : "Tábla betöltése", "No lists available" : "Nincs elérhető lista", @@ -275,14 +277,18 @@ "Only assigned cards" : "Csak hozzárendelt kártyák", "No reminder" : "Nincs emlékeztető", "An error occurred" : "Hiba történt", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Biztos, hogy törli a(z) {title} táblát? Ez törölni fogja a tábla összes adatát.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Biztos, hogy törli a(z) {title} táblát? Ez törölni fogja a tábla összes adatát, köztük az archivált kártyákat is.", "Delete the board?" : "Törli a táblát?", "Loading filtered view" : "Szűrt nézet betöltése", "No due" : "Nincs határidő", "Search for {searchQuery} in all boards" : "Keresés a(z) {searchQuery} kifejezésre az összes táblában", "No results found" : "Nincs találat", + "{stack} in {board}" : "{stack} itt: {board}", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Létrehozva: {created}\n* Utoljára módosítva: {lastMod}\n* {nbAttachments} melléklet\n* {nbComments} megjegyzés", + "{nbCards} cards" : "{nbCards} kártya", "No upcoming cards" : "Nincsenek közelgő kártyák", "upcoming cards" : "közelgő kártyák", + "Due on {date}" : "Határidő: {date}", "Link to a board" : "Hivatkozás egy táblához", "Link to a card" : "Hivatkozás egy kártyához", "Create a card" : "Kártya létrehozása", @@ -298,6 +304,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "Biztos, hogy átadja a(z) {board} tábla tulajdonjogát {user} számára?", "Transfer the board for {user} successfully" : "A tábla átadása {user} számára sikeres", "Failed to transfer the board for {user}" : "A tábla átadása {user} számára sikertelen", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Biztos, hogy törli a(z) {title} táblát? Ez törölni fogja a tábla összes adatát.", "This week" : "Ez a hét", "Are you sure you want to transfer the board {title} for {user}?" : "Biztos, hogy átadja a(z) {board} tábla tulajdonjogát {user} számára?" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/l10n/id.js b/l10n/id.js index 9e39ed0fc..208df0e05 100644 --- a/l10n/id.js +++ b/l10n/id.js @@ -96,6 +96,7 @@ OC.L10N.register( "Invalid date, date format must be YYYY-MM-DD" : "Tanggal salah, format tanggal harus TTTT-BB-HH", "Personal planning and team project organization" : "Perencanaan pribadi dan pengelolaan proyek tim", "Card details" : "Detail kartu", + "Add board" : "Tambah papan", "Select the board to link to a project" : "Pilih papan untuk ditautkan ke proyek", "Search by board title" : "Cari berdasarkan judul papan", "Select board" : "Pilih papan", @@ -212,7 +213,6 @@ OC.L10N.register( "Delete board" : "Hapus papan", "Board {0} deleted" : "{0} papan terhapus", "An error occurred" : "Terjadi kesalahan", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Apakah Anda yakin ingin menghapus papan {title}? Aksi ini akan menghapus seluruh data pada papan ini.", "Delete the board?" : "Hapus papan?", "Link to a board" : "Tautan ke papan", "Link to a card" : "Tautan ke kartu", @@ -220,6 +220,7 @@ OC.L10N.register( "Maximum file size of {size} exceeded" : "Melampaui batas ukuran maksimal {size}", "Share" : "Bagikan", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Longgok adalah alat pengelolaan bergaya kanban yang dapat digunakan untuk perencanaan pribadi dan pengelolaan proyek bagi tim yang terintegrasi dengan Nextcloud.\n\n\n- 📥 Tambah tugas Anda dalam bentuk kartu berurutan\n- 📄 Tulis catatan dalam format Markdown\n- 🔖 Sematkan label untuk pengelompokan yang lebih baik\n- 👥 Bagikan dengan anggota tim, teman atau keluarga\n- 📎 Lampirkan berkas dan sematkan dalam deskripsi Markdown\n- 💬 Diskusikan dengan tim melalui komentar\n- ⚡ Lacak setiap perubahan pada aliran aktivitas\n- 🚀 Buat proyek Anda terkelola", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Apakah Anda yakin ingin menghapus papan {title}? Aksi ini akan menghapus seluruh data pada papan ini.", "This week" : "Pekan ini" }, "nplurals=1; plural=0;"); diff --git a/l10n/id.json b/l10n/id.json index 6b1c98005..4dac49792 100644 --- a/l10n/id.json +++ b/l10n/id.json @@ -94,6 +94,7 @@ "Invalid date, date format must be YYYY-MM-DD" : "Tanggal salah, format tanggal harus TTTT-BB-HH", "Personal planning and team project organization" : "Perencanaan pribadi dan pengelolaan proyek tim", "Card details" : "Detail kartu", + "Add board" : "Tambah papan", "Select the board to link to a project" : "Pilih papan untuk ditautkan ke proyek", "Search by board title" : "Cari berdasarkan judul papan", "Select board" : "Pilih papan", @@ -210,7 +211,6 @@ "Delete board" : "Hapus papan", "Board {0} deleted" : "{0} papan terhapus", "An error occurred" : "Terjadi kesalahan", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Apakah Anda yakin ingin menghapus papan {title}? Aksi ini akan menghapus seluruh data pada papan ini.", "Delete the board?" : "Hapus papan?", "Link to a board" : "Tautan ke papan", "Link to a card" : "Tautan ke kartu", @@ -218,6 +218,7 @@ "Maximum file size of {size} exceeded" : "Melampaui batas ukuran maksimal {size}", "Share" : "Bagikan", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Longgok adalah alat pengelolaan bergaya kanban yang dapat digunakan untuk perencanaan pribadi dan pengelolaan proyek bagi tim yang terintegrasi dengan Nextcloud.\n\n\n- 📥 Tambah tugas Anda dalam bentuk kartu berurutan\n- 📄 Tulis catatan dalam format Markdown\n- 🔖 Sematkan label untuk pengelompokan yang lebih baik\n- 👥 Bagikan dengan anggota tim, teman atau keluarga\n- 📎 Lampirkan berkas dan sematkan dalam deskripsi Markdown\n- 💬 Diskusikan dengan tim melalui komentar\n- ⚡ Lacak setiap perubahan pada aliran aktivitas\n- 🚀 Buat proyek Anda terkelola", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Apakah Anda yakin ingin menghapus papan {title}? Aksi ini akan menghapus seluruh data pada papan ini.", "This week" : "Pekan ini" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/is.js b/l10n/is.js index 7610d6b45..032cf61f4 100644 --- a/l10n/is.js +++ b/l10n/is.js @@ -43,6 +43,7 @@ OC.L10N.register( "Deck" : "Dekk", "Changes in the Deck app" : "Breytingar í Deck spjaldaforritinu", "A comment was created on a card" : "Athugasemd var gerð á spjaldi", + "Load more" : "Hlaða inn meira", "Personal" : "Einka", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Spjaldinu \"%s\" á \"%s\" hefur verið úthlutað til þín af %s.", "The card \"%s\" on \"%s\" has reached its due date." : "Spjaldið \"%s\" á \"%s\" er komið fram yfir lokadagsetningu.", @@ -101,6 +102,7 @@ OC.L10N.register( "Hide archived cards" : "Fela spjöld í geymslu", "Show archived cards" : "Sýna spjöld í geymslu", "Toggle compact mode" : "Víxla þjöppuðum ham af/á", + "Open details" : "Opna nánari upplýsingar", "Details" : "Details", "Loading board" : "Hleð inn borði", "Board not found" : "Borð fannst ekki", diff --git a/l10n/is.json b/l10n/is.json index 22ac684e3..a35d897e4 100644 --- a/l10n/is.json +++ b/l10n/is.json @@ -41,6 +41,7 @@ "Deck" : "Dekk", "Changes in the Deck app" : "Breytingar í Deck spjaldaforritinu", "A comment was created on a card" : "Athugasemd var gerð á spjaldi", + "Load more" : "Hlaða inn meira", "Personal" : "Einka", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Spjaldinu \"%s\" á \"%s\" hefur verið úthlutað til þín af %s.", "The card \"%s\" on \"%s\" has reached its due date." : "Spjaldið \"%s\" á \"%s\" er komið fram yfir lokadagsetningu.", @@ -99,6 +100,7 @@ "Hide archived cards" : "Fela spjöld í geymslu", "Show archived cards" : "Sýna spjöld í geymslu", "Toggle compact mode" : "Víxla þjöppuðum ham af/á", + "Open details" : "Opna nánari upplýsingar", "Details" : "Details", "Loading board" : "Hleð inn borði", "Board not found" : "Borð fannst ekki", diff --git a/l10n/it.js b/l10n/it.js index 9c619a824..698f0ecfe 100644 --- a/l10n/it.js +++ b/l10n/it.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Modifiche nell'applicazione Deck", "A comment was created on a card" : "Un commento è stato creato su una scheda", "Upcoming cards" : "Prossime schede", + "Load more" : "Carica altro", "Personal" : "Personale", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "La scheda \"%s\" in \"%s\" ti è stata assegnata da %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} ti ha assegnato la scheda {deck-card} in {deck-board}.", @@ -149,6 +150,7 @@ OC.L10N.register( "Hide archived cards" : "Nascondi le schede archiviate", "Show archived cards" : "Mostra le carte archiviate", "Toggle compact mode" : "Commuta la modalità compatta", + "Open details" : "Apri i dettagli", "Details" : "Dettagli", "Loading board" : "Caricamento lavagna", "No lists available" : "Nessun elenco disponibile", @@ -269,12 +271,12 @@ OC.L10N.register( "Only assigned cards" : "Solo le schede assegnate", "No reminder" : "Nessun promemoria", "An error occurred" : "Si è verificato un errore", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Sei sicuro di voler eliminare la lavagna {title}? Questo eliminerà tutti i dati di questa lavagna?", "Delete the board?" : "Vuoi eliminare la lavagna?", "Loading filtered view" : "Caricamento della vista filtrata", "No due" : "Nessuna scadenza", "Search for {searchQuery} in all boards" : "Risultato di ricerca per \"{search}\" in tutte le lavagne", "No results found" : "Nessun risultato trovato", + "{stack} in {board}" : "{stack} in {board}", "No upcoming cards" : "Nessuna scheda rimasta", "upcoming cards" : "prossime schede", "Link to a board" : "Collega a una lavagna", @@ -289,6 +291,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "Condividi {file} con una scheda di Deck", "Share" : "Condividi", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck è uno strumento di organizzazione in stile kanban destinato alla pianificazione personale e all'organizzazione di progetti per squadre integrato con Nextcloud.\n\n\n- 📥 Aggiungi le tue attività alle schede e tienile in ordine\n- 📄 Scrivi note aggiuntive in markdown\n- 🔖 Assegna etichette per un'organizzazione ancora migliore\n- 👥 Condividi con la tua squadra, amici o famiglia\n- 📎 Allega file e integrali nella tua descrizione markdown\n- 💬 Discuti con la tua squadra utilizzando i commenti\n- ⚡ Tieni traccia dei cambiamenti nel flusso delle attività\n- 🚀 Organizza il tuo progetto", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Sei sicuro di voler eliminare la lavagna {title}? Questo eliminerà tutti i dati di questa lavagna?", "This week" : "Questa settimana" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/l10n/it.json b/l10n/it.json index 0113649a9..c7f699e16 100644 --- a/l10n/it.json +++ b/l10n/it.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Modifiche nell'applicazione Deck", "A comment was created on a card" : "Un commento è stato creato su una scheda", "Upcoming cards" : "Prossime schede", + "Load more" : "Carica altro", "Personal" : "Personale", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "La scheda \"%s\" in \"%s\" ti è stata assegnata da %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} ti ha assegnato la scheda {deck-card} in {deck-board}.", @@ -147,6 +148,7 @@ "Hide archived cards" : "Nascondi le schede archiviate", "Show archived cards" : "Mostra le carte archiviate", "Toggle compact mode" : "Commuta la modalità compatta", + "Open details" : "Apri i dettagli", "Details" : "Dettagli", "Loading board" : "Caricamento lavagna", "No lists available" : "Nessun elenco disponibile", @@ -267,12 +269,12 @@ "Only assigned cards" : "Solo le schede assegnate", "No reminder" : "Nessun promemoria", "An error occurred" : "Si è verificato un errore", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Sei sicuro di voler eliminare la lavagna {title}? Questo eliminerà tutti i dati di questa lavagna?", "Delete the board?" : "Vuoi eliminare la lavagna?", "Loading filtered view" : "Caricamento della vista filtrata", "No due" : "Nessuna scadenza", "Search for {searchQuery} in all boards" : "Risultato di ricerca per \"{search}\" in tutte le lavagne", "No results found" : "Nessun risultato trovato", + "{stack} in {board}" : "{stack} in {board}", "No upcoming cards" : "Nessuna scheda rimasta", "upcoming cards" : "prossime schede", "Link to a board" : "Collega a una lavagna", @@ -287,6 +289,7 @@ "Share {file} with a Deck card" : "Condividi {file} con una scheda di Deck", "Share" : "Condividi", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck è uno strumento di organizzazione in stile kanban destinato alla pianificazione personale e all'organizzazione di progetti per squadre integrato con Nextcloud.\n\n\n- 📥 Aggiungi le tue attività alle schede e tienile in ordine\n- 📄 Scrivi note aggiuntive in markdown\n- 🔖 Assegna etichette per un'organizzazione ancora migliore\n- 👥 Condividi con la tua squadra, amici o famiglia\n- 📎 Allega file e integrali nella tua descrizione markdown\n- 💬 Discuti con la tua squadra utilizzando i commenti\n- ⚡ Tieni traccia dei cambiamenti nel flusso delle attività\n- 🚀 Organizza il tuo progetto", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Sei sicuro di voler eliminare la lavagna {title}? Questo eliminerà tutti i dati di questa lavagna?", "This week" : "Questa settimana" },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" } \ No newline at end of file diff --git a/l10n/ja.js b/l10n/ja.js index 78a29e35b..f8e5e8749 100644 --- a/l10n/ja.js +++ b/l10n/ja.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "デッキアプリに変更があったとき", "A comment was created on a card" : "カードにコメントが作成されたとき", "Upcoming cards" : "今後のカード", + "Load more" : "さらに読み込む", "Personal" : "個人", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "カード \"%s\"(\"%s\"に所属)が%sによってあなたに割り当てられました。", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} さんが、{deck-board} で、あなたにカード「{deck-card}」を割り当てました。", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "アーカイブされたカードを非表示にする", "Show archived cards" : "アーカイブされたカードを表示する", "Toggle compact mode" : "コンパクトモードの切り替え", + "Open details" : "詳細を開く", "Details" : "詳細", "Loading board" : "ボードを読み込み中", "No lists available" : "利用可能なリストはありません", @@ -274,12 +276,12 @@ OC.L10N.register( "Only assigned cards" : "割り当てられたカードのみ", "No reminder" : "リマインダーなし", "An error occurred" : "エラーが発生しました", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "このボード{title}を削除してもよろしいですか?この操作はこのボードのデータすべてを削除します。", "Delete the board?" : "ボードを削除しますか?", "Loading filtered view" : "フィルタされたビューを読み込み中", "No due" : "日付なし", "Search for {searchQuery} in all boards" : "すべてのボードで{searchQuery}を検索します", "No results found" : "結果が見つかりません", + "{stack} in {board}" : "{board} 内の {stack}", "No upcoming cards" : "今後のカードはありません", "upcoming cards" : "今後のカード", "Link to a board" : "ボードへのリンク", @@ -297,6 +299,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "本当に、 {user} のボード {title} を転送してもよろしいですか?", "Transfer the board for {user} successfully" : "{user} のボードの転送に成功しました", "Failed to transfer the board for {user}" : "{user} のボードの転送に失敗しました", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "このボード{title}を削除してもよろしいですか?この操作はこのボードのデータすべてを削除します。", "This week" : "今週", "Are you sure you want to transfer the board {title} for {user}?" : "本当に、 {user} のボード {title} を転送してもよろしいですか?" }, diff --git a/l10n/ja.json b/l10n/ja.json index 2bc524ff9..e3b334e82 100644 --- a/l10n/ja.json +++ b/l10n/ja.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "デッキアプリに変更があったとき", "A comment was created on a card" : "カードにコメントが作成されたとき", "Upcoming cards" : "今後のカード", + "Load more" : "さらに読み込む", "Personal" : "個人", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "カード \"%s\"(\"%s\"に所属)が%sによってあなたに割り当てられました。", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} さんが、{deck-board} で、あなたにカード「{deck-card}」を割り当てました。", @@ -148,6 +149,7 @@ "Hide archived cards" : "アーカイブされたカードを非表示にする", "Show archived cards" : "アーカイブされたカードを表示する", "Toggle compact mode" : "コンパクトモードの切り替え", + "Open details" : "詳細を開く", "Details" : "詳細", "Loading board" : "ボードを読み込み中", "No lists available" : "利用可能なリストはありません", @@ -272,12 +274,12 @@ "Only assigned cards" : "割り当てられたカードのみ", "No reminder" : "リマインダーなし", "An error occurred" : "エラーが発生しました", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "このボード{title}を削除してもよろしいですか?この操作はこのボードのデータすべてを削除します。", "Delete the board?" : "ボードを削除しますか?", "Loading filtered view" : "フィルタされたビューを読み込み中", "No due" : "日付なし", "Search for {searchQuery} in all boards" : "すべてのボードで{searchQuery}を検索します", "No results found" : "結果が見つかりません", + "{stack} in {board}" : "{board} 内の {stack}", "No upcoming cards" : "今後のカードはありません", "upcoming cards" : "今後のカード", "Link to a board" : "ボードへのリンク", @@ -295,6 +297,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "本当に、 {user} のボード {title} を転送してもよろしいですか?", "Transfer the board for {user} successfully" : "{user} のボードの転送に成功しました", "Failed to transfer the board for {user}" : "{user} のボードの転送に失敗しました", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "このボード{title}を削除してもよろしいですか?この操作はこのボードのデータすべてを削除します。", "This week" : "今週", "Are you sure you want to transfer the board {title} for {user}?" : "本当に、 {user} のボード {title} を転送してもよろしいですか?" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/l10n/kab.js b/l10n/kab.js new file mode 100644 index 000000000..e80aeba76 --- /dev/null +++ b/l10n/kab.js @@ -0,0 +1,25 @@ +OC.L10N.register( + "deck", + { + "Personal" : "Udmawan", + "Finished" : "Immed", + "The file was uploaded" : "Ulac afaylu yettwaznen", + "The file was only partially uploaded" : "Afaylu, cwiṭ kan i yettwaznen segs", + "No file was uploaded" : "Ulac afaylu i d-yettwasulin", + "Missing a temporary folder" : "Ixuṣ ukaram akudan", + "Cancel" : "Sefsex", + "Close" : "Mdel", + "Details" : "Talqayt", + "Sharing" : "Beṭṭu", + "Tags" : "Tibzimin", + "Delete" : "Kkes", + "Edit" : "Ẓreg", + "Download" : "Sider", + "Modified" : "Yettwabeddel", + "Today" : "Ass-a", + "Save" : "Sekles", + "No notifications" : "Ulac tisezmal", + "Share" : "Bḍu", + "This week" : "Dduṛt agi" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/l10n/kab.json b/l10n/kab.json new file mode 100644 index 000000000..e6427d98e --- /dev/null +++ b/l10n/kab.json @@ -0,0 +1,23 @@ +{ "translations": { + "Personal" : "Udmawan", + "Finished" : "Immed", + "The file was uploaded" : "Ulac afaylu yettwaznen", + "The file was only partially uploaded" : "Afaylu, cwiṭ kan i yettwaznen segs", + "No file was uploaded" : "Ulac afaylu i d-yettwasulin", + "Missing a temporary folder" : "Ixuṣ ukaram akudan", + "Cancel" : "Sefsex", + "Close" : "Mdel", + "Details" : "Talqayt", + "Sharing" : "Beṭṭu", + "Tags" : "Tibzimin", + "Delete" : "Kkes", + "Edit" : "Ẓreg", + "Download" : "Sider", + "Modified" : "Yettwabeddel", + "Today" : "Ass-a", + "Save" : "Sekles", + "No notifications" : "Ulac tisezmal", + "Share" : "Bḍu", + "This week" : "Dduṛt agi" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +} \ No newline at end of file diff --git a/l10n/ko.js b/l10n/ko.js index a8d229427..4789615d9 100644 --- a/l10n/ko.js +++ b/l10n/ko.js @@ -4,6 +4,7 @@ OC.L10N.register( "You have created a new board {board}" : "새로운 보드{board}를 만들었습니다.", "Deck" : "덱", "Upcoming cards" : "다음 카드들", + "Load more" : "더 불러오기", "Personal" : "개인", "The card \"%s\" on \"%s\" has reached its due date." : "카드 \"%s\"(\"%s\"에 있음)의 만료 날짜가 다가왔습니다.", "The board \"%s\" has been shared with you by %s." : "\"%s\" 게시판을 %s 님이 공유했습니다.", @@ -61,6 +62,7 @@ OC.L10N.register( "No due date" : "기한 없음", "Hide archived cards" : "보관된 카드 숨기기", "Show archived cards" : "보관된 카드 보기", + "Open details" : "자세한 정보 열기", "Details" : "세부사항", "Sharing" : "공유", "Tags" : "태그", @@ -117,11 +119,11 @@ OC.L10N.register( "Delete board" : "게시판 삭제", "No reminder" : "알림 없음", "An error occurred" : "오류가 발생함", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "정말로 보드 {title}을 지우시겠습니까? 보드의 모든 데이터가 삭제됩니다.", "Delete the board?" : "보드를 삭제합니까?", "No results found" : "결과 없음", "Something went wrong" : "잘못된 접근", "Share" : "공유", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "정말로 보드 {title}을 지우시겠습니까? 보드의 모든 데이터가 삭제됩니다.", "This week" : "이번 주" }, "nplurals=1; plural=0;"); diff --git a/l10n/ko.json b/l10n/ko.json index f35b06398..9341eb411 100644 --- a/l10n/ko.json +++ b/l10n/ko.json @@ -2,6 +2,7 @@ "You have created a new board {board}" : "새로운 보드{board}를 만들었습니다.", "Deck" : "덱", "Upcoming cards" : "다음 카드들", + "Load more" : "더 불러오기", "Personal" : "개인", "The card \"%s\" on \"%s\" has reached its due date." : "카드 \"%s\"(\"%s\"에 있음)의 만료 날짜가 다가왔습니다.", "The board \"%s\" has been shared with you by %s." : "\"%s\" 게시판을 %s 님이 공유했습니다.", @@ -59,6 +60,7 @@ "No due date" : "기한 없음", "Hide archived cards" : "보관된 카드 숨기기", "Show archived cards" : "보관된 카드 보기", + "Open details" : "자세한 정보 열기", "Details" : "세부사항", "Sharing" : "공유", "Tags" : "태그", @@ -115,11 +117,11 @@ "Delete board" : "게시판 삭제", "No reminder" : "알림 없음", "An error occurred" : "오류가 발생함", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "정말로 보드 {title}을 지우시겠습니까? 보드의 모든 데이터가 삭제됩니다.", "Delete the board?" : "보드를 삭제합니까?", "No results found" : "결과 없음", "Something went wrong" : "잘못된 접근", "Share" : "공유", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "정말로 보드 {title}을 지우시겠습니까? 보드의 모든 데이터가 삭제됩니다.", "This week" : "이번 주" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/lt_LT.js b/l10n/lt_LT.js index d7e4ee117..ee12228d9 100644 --- a/l10n/lt_LT.js +++ b/l10n/lt_LT.js @@ -66,6 +66,7 @@ OC.L10N.register( "Changes in the Deck app" : "Pakeitimai Darbų programėlėje", "A comment was created on a card" : "Kortelėje buvo sukurtas komentaras", "Upcoming cards" : "Artėjančios kortelės", + "Load more" : "Įkelti daugiau", "Personal" : "Asmeniniai", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortelę \"%s\" ties \"%s\" priskyrė jums %s.", "The card \"%s\" on \"%s\" has reached its due date." : "Kortelė „%s“, esanti lentoje „%s“, pasiekė savo galutinį terminą.", @@ -253,7 +254,6 @@ OC.L10N.register( "Only assigned cards" : "Tik priskirtos kortelės", "No reminder" : "Jokio priminimo", "An error occurred" : "Įvyko klaida", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ar tikrai norite ištrinti lentą, pavadinimu {title}? Tai ištrins visus šios lentos duomenis.", "Delete the board?" : "Ištrinti lentą?", "No due" : "Be galutinio termino", "No results found" : "Nerasta jokių rezultatų", @@ -264,6 +264,7 @@ OC.L10N.register( "Maximum file size of {size} exceeded" : "Viršytas maksimalus {size} failo dydis", "Error creating the share" : "Klaida kuriant viešinį", "Share" : "Bendrinti", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ar tikrai norite ištrinti lentą, pavadinimu {title}? Tai ištrins visus šios lentos duomenis.", "This week" : "Šią savaitę" }, "nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/l10n/lt_LT.json b/l10n/lt_LT.json index 47c3991de..ae9ce2459 100644 --- a/l10n/lt_LT.json +++ b/l10n/lt_LT.json @@ -64,6 +64,7 @@ "Changes in the Deck app" : "Pakeitimai Darbų programėlėje", "A comment was created on a card" : "Kortelėje buvo sukurtas komentaras", "Upcoming cards" : "Artėjančios kortelės", + "Load more" : "Įkelti daugiau", "Personal" : "Asmeniniai", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortelę \"%s\" ties \"%s\" priskyrė jums %s.", "The card \"%s\" on \"%s\" has reached its due date." : "Kortelė „%s“, esanti lentoje „%s“, pasiekė savo galutinį terminą.", @@ -251,7 +252,6 @@ "Only assigned cards" : "Tik priskirtos kortelės", "No reminder" : "Jokio priminimo", "An error occurred" : "Įvyko klaida", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ar tikrai norite ištrinti lentą, pavadinimu {title}? Tai ištrins visus šios lentos duomenis.", "Delete the board?" : "Ištrinti lentą?", "No due" : "Be galutinio termino", "No results found" : "Nerasta jokių rezultatų", @@ -262,6 +262,7 @@ "Maximum file size of {size} exceeded" : "Viršytas maksimalus {size} failo dydis", "Error creating the share" : "Klaida kuriant viešinį", "Share" : "Bendrinti", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ar tikrai norite ištrinti lentą, pavadinimu {title}? Tai ištrins visus šios lentos duomenis.", "This week" : "Šią savaitę" },"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);" } \ No newline at end of file diff --git a/l10n/lv.js b/l10n/lv.js index 0d7c42cc8..620146b7a 100644 --- a/l10n/lv.js +++ b/l10n/lv.js @@ -16,6 +16,7 @@ OC.L10N.register( "Do you want to overwrite it?" : "Vai tu gribi pārrakstīt to?", "Hide archived cards" : "Slēpt arhivētās kartes", "Show archived cards" : "Rādīt arhivētās kartes", + "Open details" : "Atvērt detaļas", "Details" : "Detaļas", "Sharing" : "Koplietošana", "Tags" : "Birkas", diff --git a/l10n/lv.json b/l10n/lv.json index 22892b730..e1dedb69a 100644 --- a/l10n/lv.json +++ b/l10n/lv.json @@ -14,6 +14,7 @@ "Do you want to overwrite it?" : "Vai tu gribi pārrakstīt to?", "Hide archived cards" : "Slēpt arhivētās kartes", "Show archived cards" : "Rādīt arhivētās kartes", + "Open details" : "Atvērt detaļas", "Details" : "Detaļas", "Sharing" : "Koplietošana", "Tags" : "Birkas", diff --git a/l10n/mk.js b/l10n/mk.js index 33c8051bb..9019ffac3 100644 --- a/l10n/mk.js +++ b/l10n/mk.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Промени во апликацијата Deck", "A comment was created on a card" : "Коментар е креиран на картица", "Upcoming cards" : "Престојни картици", + "Load more" : "Вчитај повеќе", "Personal" : "Лично", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Картицата \"%s\" на \"%s\" ти е доделена од %s.", "The card \"%s\" on \"%s\" has reached its due date." : "Картицата \"%s\" на \"%s\" го достигна датумот на истекување.", @@ -254,7 +255,6 @@ OC.L10N.register( "Only assigned cards" : "Само доделени картици", "No reminder" : "Нема потсетник", "An error occurred" : "Настана грешка", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Дали сте сигурени дека сакате да ја избришете оваа табла {title}? Ова ќе ги избрише и сите податоци на таблата.", "Delete the board?" : "Бришење на таблата?", "Loading filtered view" : "Вчитување на филтриран поглед", "No due" : "Не истекува", @@ -273,6 +273,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "Сподели {file} со Deck картица", "Share" : "Сподели", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Дали сте сигурени дека сакате да ја избришете оваа табла {title}? Ова ќе ги избрише и сите податоци на таблата.", "This week" : "Оваа недела" }, "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); diff --git a/l10n/mk.json b/l10n/mk.json index c13a53994..763e9da25 100644 --- a/l10n/mk.json +++ b/l10n/mk.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Промени во апликацијата Deck", "A comment was created on a card" : "Коментар е креиран на картица", "Upcoming cards" : "Престојни картици", + "Load more" : "Вчитај повеќе", "Personal" : "Лично", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Картицата \"%s\" на \"%s\" ти е доделена од %s.", "The card \"%s\" on \"%s\" has reached its due date." : "Картицата \"%s\" на \"%s\" го достигна датумот на истекување.", @@ -252,7 +253,6 @@ "Only assigned cards" : "Само доделени картици", "No reminder" : "Нема потсетник", "An error occurred" : "Настана грешка", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Дали сте сигурени дека сакате да ја избришете оваа табла {title}? Ова ќе ги избрише и сите податоци на таблата.", "Delete the board?" : "Бришење на таблата?", "Loading filtered view" : "Вчитување на филтриран поглед", "No due" : "Не истекува", @@ -271,6 +271,7 @@ "Share {file} with a Deck card" : "Сподели {file} со Deck картица", "Share" : "Сподели", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Дали сте сигурени дека сакате да ја избришете оваа табла {title}? Ова ќе ги избрише и сите податоци на таблата.", "This week" : "Оваа недела" },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" } \ No newline at end of file diff --git a/l10n/nb.js b/l10n/nb.js index 0ea4e34e7..ecfc4f242 100644 --- a/l10n/nb.js +++ b/l10n/nb.js @@ -8,6 +8,7 @@ OC.L10N.register( "You have restored the board {board}" : "Du har gjennopprettet tavle {board}", "{user} has restored the board {board}" : "{user} har gjennopprettet tavle {board}", "You have shared the board {board} with {acl}" : "Du har delt tavle {board} med {acl}", + "{user} has shared the board {board} with {acl}" : "{user} har delt table {board} med {acl}", "You have removed {acl} from the board {board}" : "Du har fjernet {acl} fra tavle {board}", "{user} has removed {acl} from the board {board}" : "{user} har fjernet {acl} fra tavle {board}", "You have renamed the board {before} to {board}" : "Du har endret navn på tavle {before} til {board}", @@ -16,22 +17,48 @@ OC.L10N.register( "{user} has archived the board {before}" : "{user} har arkivert tavle {board}", "You have unarchived the board {board}" : "Du har hentet tavle {board} fra arkiv", "{user} has unarchived the board {before}" : "{user} har hentet tavle {board} fra arkiv", + "You have created a new list {stack} on board {board}" : "Du har opprettet en ny stabel {stack} på tavle {board}", + "{user} has created a new list {stack} on board {board}" : "{user} har opprettet en ny stabel {stack} på tavle {board}", + "You have renamed list {before} to {stack} on board {board}" : "Du har endret navn på stabel {before} til {stack} på tavle {board}", + "{user} has renamed list {before} to {stack} on board {board}" : "{user} har endret navn på stabel {before} til {stack} på tavle {board}", + "You have deleted list {stack} on board {board}" : "Du har slettet stabel {stack} på tavle {board}", + "{user} has deleted list {stack} on board {board}" : "{user} har slettet stabel {stack} på tavle {board}", + "You have created card {card} in list {stack} on board {board}" : "Du har opprettet kort {card} i stabel {stack} på tavle {board}", + "{user} has created card {card} in list {stack} on board {board}" : "{user} har opprettet kort {card} i stabel {stack} på tavle {board}", + "You have deleted card {card} in list {stack} on board {board}" : "Du har slettet kort {card} i stabel {stack} på tavle {board}", + "{user} has deleted card {card} in list {stack} on board {board}" : "{user} har slettet kort {card} i stabel {stack} på tavle {board}", "You have renamed the card {before} to {card}" : "Du har endret navn fra {before} til {card}", "{user} has renamed the card {before} to {card}" : "{user} har endret navn fra {before} til {card}", + "You have added a description to card {card} in list {stack} on board {board}" : "Du har lagt til beskrivelse på kort {card} i stable {stack} på table {board}", + "{user} has added a description to card {card} in list {stack} on board {board}" : "{user} har lagt til beskrivelse på kort {card} i stabel {stack} på tavle {board}", + "You have updated the description of card {card} in list {stack} on board {board}" : "Du har oppdatert beskrivelsen på kort {card} i stabel {stack} på tavle {board}", + "{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} har oppdatert beskrivelsen på kort {card} i stabel {stack} på tavle {board}", + "You have archived card {card} in list {stack} on board {board}" : "Du har arkivert kort {card} i stabel {stack} på tavle {board}", + "{user} has archived card {card} in list {stack} on board {board}" : "{user} har arkivert kort {card} i stabel {stack} på tavle {board}", + "You have unarchived card {card} in list {stack} on board {board}" : "Du har hentet arkivert kort {card} i stabel {stack} på tavle {board}", + "{user} has unarchived card {card} in list {stack} on board {board}" : "{user} har hentet arkivert kort {card} i stabel {stack} på tavle {board}", "You have removed the due date of card {card}" : "Du har fjernet forfallsdato for kort {card}", "{user} has removed the due date of card {card}" : "{user} har fjernet forfallsdato for kort {card}", "You have set the due date of card {card} to {after}" : "Du har satt forfallsdato på kort {card} etter {after}", "{user} has set the due date of card {card} to {after}" : "{user} har satt forfallsdato på kort {card} etter {after}", "You have updated the due date of card {card} to {after}" : "Du har oppdatert forfallsdato på kort {card} etter {after}", "{user} has updated the due date of card {card} to {after}" : "{user} har oppdatert forfallsdato på kort {card} etter {after}", + "You have added the tag {label} to card {card} in list {stack} on board {board}" : "Du har lagt til merke {label} til kort {card} i stabel {stack} på tavle {board}", + "{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} har lagt til merke {label} til kort {card} i stabel {stack} på tavle {board}", + "You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Du har fjernet merke {label} fra kort {card} i stabel {stack} på tavle {board}", + "{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} har fjernet merke {label} fra kort {card} i stabel {stack} på tavle {board}", "You have assigned {assigneduser} to card {card} on board {board}" : "Du har tildelt {assigneduser} til kort {card} på tavle {board}", "{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} har tildelt {assigneduser} til kort {card} på tavle {board}", "You have unassigned {assigneduser} from card {card} on board {board}" : "Du har fjernet {assigneduser} fra kort {card} på tavle {board}", "{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} har fjernet {assigneduser} fra kort {card} på tavle {board}", + "You have moved the card {card} from list {stackBefore} to {stack}" : "Du har flyttet kort {card} fra stabel {stackBefore} til {stack}", + "{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} har flyttet kort {card} fra stabel {stackBefore} til {stack}", "You have added the attachment {attachment} to card {card}" : "Du har lagt til vedlegget {attachment} ti kortet {card}", "{user} has added the attachment {attachment} to card {card}" : "{user} har lagt til vedlegget {attachment} på kortet {card}", "You have updated the attachment {attachment} on card {card}" : "Du har oppdatert vedlegget {attachment} på kortet {card}", + "{user} has updated the attachment {attachment} on card {card}" : "{user} har oppdateret vedlegget {attachment} på kortet {card}", "You have deleted the attachment {attachment} from card {card}" : "Du har slettet vedlegget {attachment} på kortet {card}", + "{user} has deleted the attachment {attachment} from card {card}" : "{user} har slettet vedlegget {attachment} fra kortet {card}", "You have restored the attachment {attachment} to card {card}" : "Du har gjennopprettet vedlegget {attachment} på kortet {card}", "{user} has restored the attachment {attachment} to card {card}" : "{user} har gjennopprettet vedlegget {attachment} på kortet {card}", "You have commented on card {card}" : "Du har kommetnert på kort {card}", @@ -39,11 +66,19 @@ OC.L10N.register( "A card description inside the Deck app has been changed" : "En kort beskrivelsei Stokk-appen er endret", "Deck" : "Stokk", "Changes in the Deck app" : "Endringer i Stokk-appen", + "A comment was created on a card" : "En kommentar ble skrevet på kortet", + "Upcoming cards" : "Kommende kort", + "Load more" : "Last mer", "Personal" : "Personlig", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortet \"%s\" på \"%s\" er endret til deg av %s.", + "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} har tildelt kortet {deck-card} på {deck-board} til deg.", "The card \"%s\" on \"%s\" has reached its due date." : "Kortet \"%s\" på \"%s\" har nådd sin utløpsdato.", + "The card {deck-card} on {deck-board} has reached its due date." : "Kortet {deck-card} på {deck-board} har nådd sin utløpsdato.", "%s has mentioned you in a comment on \"%s\"." : "%shar nevnt deg i en kommentar på \"%s\".", + "{user} has mentioned you in a comment on {deck-card}." : "{user} har nevnt deg i en kommentar på {deck-card}.", "The board \"%s\" has been shared with you by %s." : "Brettet \"%s\" har blitt delt med deg av %s.", + "{user} has shared {deck-board} with you." : "{user} har delt brettet {deck-board} med deg.", + "Card comments" : "Kommentarer på kortet", "%s on %s" : "%s på %s", "No data was provided to create an attachment." : "Ingen data for å opprette vedlegg.", "Finished" : "Fullført", @@ -66,51 +101,124 @@ OC.L10N.register( "Could not write file to disk" : "Kan ikke skrive til disk", "A PHP extension stopped the file upload" : "En PHP utvidelse stoppet når fil ble lastet opp", "No file uploaded or file size exceeds maximum of %s" : "Ingen fil lastet opp eller filen er større enn %s", + "This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Denne kommentaren har enn %s tegn.\nLa til som vedlegg til kortet med navnet %s.\nTilgjengelig på URL: %s.", "Card not found" : "Kort ikke funnet", + "Path is already shared with this card" : "Stien er allerede delt med dette kortet", "Invalid date, date format must be YYYY-MM-DD" : "Feil dato, dato må være i formatet YYYY-MM-DD", + "Personal planning and team project organization" : "Personlig planlegging og organisering av prosjekter i team", + "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Stokk er et kanban inspirert verktøy for organisering for personlig planlegging og prosjekt organisering for team integrert med Nextcloud.\n\n\n- 📥 Legg til oppgaver på kort og hold orden på disse.\n- 📄 Legg til notater.\n- 🔖 Tildel merke for enda bedre organisering.\n- 👥 Del med team, venner eller familile.\n- 📎 Legg ved filer som kan integreres i beskrivelser.\n- 💬 Diskuter med ditt team ved å bruke kommentarer.\n- ⚡ Hold oversikt over endringer i aktivitetsstrøm.\n- 🚀 Få dine prosjekt organisert.", + "Card details" : "Kort-detaljer", "Add board" : "Legg til tavle", "Select the board to link to a project" : "Velg tavle som skal lenkes til prosjekt", + "Search by board title" : "Søk på tittel på tavle", "Select board" : "Velg tavle", + "Create a new card" : "Opprett et nytt kort", + "Select a board" : "Velg en tavle", + "Select a list" : "Velg en stabel", + "Card title" : "Kortittel", "Cancel" : "Avbryt", + "Creating the new card …" : "Oppretter det nye kortet ...", + "Card \"{card}\" was added to \"{board}\"" : "Kort \"{card}\" ble lagt til i \"{board}\"", + "Open card" : "Åpne kort", "Close" : "Lukk", + "Create card" : "Opprett kort", + "Select a card" : "Velg et kort", + "Select the card to link to a project" : "Velg kort som skal lenkes til prosjekt", + "Link to card" : "Lenke til kort", "File already exists" : "Filen finnes allerede", + "A file with the name {filename} already exists." : "En fil med navnet {filename} finnes allerede.", "Do you want to overwrite it?" : "Vil du overskrive?", + "Overwrite file" : "Overskriv fil", + "Keep existing file" : "Behold eksisterende fil", + "This board is read only" : "Denne tavlen er kun lesbar", + "Drop your files to upload" : "Dropp filer for å laste opp", "Add card" : "Legg til kort", "Archived cards" : "Arkiver tavle", "Add list" : "Legg til liste", + "List name" : "Listenavn", + "Active filters" : "Aktivt filter", + "Apply filter" : "Aktiver filter", "Filter by tag" : "Filtrer på knagg", "Filter by assigned user" : "Filtrer på tildelt bruker", "Unassigned" : "Ikke tildelt", "Filter by due date" : "Filtrer på forfallsdato", "Overdue" : "Utløpt", + "Next 24 hours" : "Neste 24 timer", "Next 7 days" : "Neste 7 dager", "Next 30 days" : "Neste 30 dager", "No due date" : "Ingen forfallsdato", + "Clear filter" : "Tøm filter", "Hide archived cards" : "Skjul arkiverte kort", "Show archived cards" : "Vis arkiverkte kort", "Toggle compact mode" : "Endre kompakt modus", + "Open details" : "Åpne detaljer", "Details" : "Detaljer", + "Loading board" : "Laster tavle", + "No lists available" : "Ingen stabler tilgjengelig", + "Create a new list to add cards to this board" : "Lag en ny stabel for å legge til kort til denne tavlen", + "Board not found" : "Tavle ikke funnet", "Sharing" : "Deling", "Tags" : "Merkelapper", "Deleted items" : "Slettede element", "Timeline" : "Tidslinje", + "Deleted lists" : "Slettede stabler", "Undo" : "Angre", "Deleted cards" : "Slettede kort", + "Share board with a user, group or circle …" : "Del tavle med bruker, gruppe eller sirkel", + "Searching for users, groups and circles …" : "Søker etter brukere, grupper og sirkler ...", + "No participants found" : "Ingen deltakere funnet", + "Board owner" : "Tavle-eier", + "(Group)" : "(Gruppe)", + "(Circle)" : "(Sirkel)", "Can edit" : "Kan redigere", "Can share" : "Kan dele", + "Can manage" : "Kan behandle", "Owner" : "Eier", "Delete" : "Slett", + "Failed to create share with {displayName}" : "Klarte ikke å opprette deling med {displayName}", + "Are you sure you want to transfer the board {title} to {user}?" : "Er du sikker på at du vil overføre tavlen {title} til {user}?", + "Transfer the board." : "Overfør tavle.", "Transfer" : "Overfør", + "The board has been transferred to {user}" : "Tavlen har blitt overført til {user}", + "Failed to transfer the board to {user}" : "Klarte ikke overføre tavlen til {user}", + "Add a new list" : "Legg til en ny stabel", + "Archive all cards" : "Arkiver alle kort", "Delete list" : "Slett listen", + "Archive all cards in this list" : "Arkiver alle kort i en stabel", + "Add a new card" : "Legg til nytt kort", + "Card name" : "Navn på kort", + "List deleted" : "Stabel slettet", "Edit" : "Rediger", + "Add a new tag" : "Legg til nytt merke", + "title and color value must be provided" : "Du må oppgi verdier for tittel og farge", + "Board name" : "Navn på tavle", "Members" : "Medlemmer", + "Upload new files" : "Last opp nye filer", + "Share from Files" : "Del fra Filer", + "Pending share" : "Ventende deling", + "Add this attachment" : "Legg til vedlegg", + "Show in Files" : "Vis i Filer", "Download" : "Last ned", + "Remove attachment" : "Fjern vedlegg", + "Delete Attachment" : "Slett vedlegg", + "Restore Attachment" : "Gjenopprett vedlegg", + "File to share" : "Fil for deling", "Invalid path selected" : "Ugyldig angitt sti", + "Open in sidebar view" : "Åpne med sidepanel", + "Open in bigger view" : "Åpen i større visning", "Attachments" : "Vedlegg", "Comments" : "Kommentarer", "Modified" : "Endret", "Created" : "Opprettet", + "The title cannot be empty." : "Tittel kan ikke være tom", + "No comments yet. Begin the discussion!" : "Ingen kommentarer ennå. Start diskusjonen!", + "Failed to load comments" : "Feil i lasting av kommentarer", + "Assign a tag to this card…" : "Legg til et merke til dette kortet...", + "Assign to users" : "Tildel brukere", + "Assign to users/groups/circles" : "Tildel brukere/grupper/sirkler", + "Assign a user to this card…" : "Tildel bruker til dette kortet...", "Due date" : "Forfallsdato", + "Set a due date" : "Set forfallsdato", "Remove due date" : "Fjern forfallsdato", "Select Date" : "Velg dato", "Today" : "I dag", @@ -118,33 +226,89 @@ OC.L10N.register( "Next week" : "Neste uke", "Next month" : "Neste måned", "Save" : "Lagre", + "The comment cannot be empty." : "Kommentaren kan ikke være tom.", + "The comment cannot be longer than 1000 characters." : "Kommentaren kan ikke være lenger enn 1000 tegn.", + "In reply to" : "Som svar på", + "Cancel reply" : "Avbryt svar", "Reply" : "Svar", "Update" : "Oppdater", "Description" : "Beskrivelse", + "(Unsaved)" : "(Ikke lagret)", + "(Saving…)" : "(Lagrer...)", "Formatting help" : "Formateringshjelp", "Edit description" : "Rediger beskrivelse", + "View description" : "Se beskrivelse", + "Add Attachment" : "Legg til vedlegg", + "Write a description …" : "Skriv en beskrivelse ...", + "Choose attachment" : "Velg vedlegg", "(group)" : "(gruppe)", + "Todo items" : "Gjøremålspunkter", + "{count} comments, {unread} unread" : "{count} kommentarer, {unread} ulest", + "Edit card title" : "Rediger korttittel", + "Assign to me" : "Tildel meg", + "Unassign myself" : "Fjern meg fra tildeling", "Move card" : "Flytt kort", "Unarchive card" : "Hent kort fra arkiv", "Archive card" : "Arkiver kort", "Delete card" : "Slett kort", + "Move card to another board" : "Flytt kort til annen tavle", + "List is empty" : "Stabel er tom", + "Card deleted" : "Kort slettet", "seconds ago" : "sekunder siden", + "All boards" : "Alle tabler", "Archived boards" : "Arkiverte tavler", "Shared with you" : "Delt med deg", + "Deck settings" : "Innstillinger for Stokk", + "Use bigger card view" : "Bruk større visning på kort", + "Show boards in calendar/tasks" : "Vis tavler i kalender/oppgaver", + "Limit deck usage of groups" : "Begrens stokk-bruk til grupper", "Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Begrensning av tavler vil hindre tilgang til de brukere som ikke er medlem av en gruppe fra å lage egne tavler. Bruker kan arbeide på de tavler som er delt med dem.", "Board details" : "Forumseksjonsdetaljer", "Edit board" : "Rediger tavle", "Clone board" : "Klon tavle", "Unarchive board" : "Aktiver tavle", "Archive board" : "Arkiver tavle", + "Turn on due date reminders" : "Skru på påminnelser for forfallsdato", + "Turn off due date reminders" : "Skru av påminnelser for forfallsdato", + "Due date reminders" : "Påminnelser for forfallsdato", + "All cards" : "Alle kort", + "Assigned cards" : "Tildelte kort", "No notifications" : "Ingen varsler", "Delete board" : "Slett tavle", + "Board {0} deleted" : "Tavle {0} slettet", + "Only assigned cards" : "Kun tildelte kort", "No reminder" : "Ingen varsel", "An error occurred" : "En feil oppstod", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Are du sikker på sletting av tavlen {title}? Handlingen vil slette all data i denne tavlen, inkludert arkiverte kort.", + "Delete the board?" : "Slett tavlen?", + "Loading filtered view" : "Laster filtrert visning", + "No due" : "Ingen forfall", + "Search for {searchQuery} in all boards" : "Søk etter {searchQuery} i alle tavler", + "No results found" : "Ingen resultater funnet", + "{stack} in {board}" : "{stack} i {board}", + "Click to expand description" : "Klikk for å utvide beskrivelsen", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Opprettet {created}\n* Sist endret {lastMod}\n* {nbAttachments} vedlegg\n* {nbComments} kommentarer", + "{nbCards} cards" : "{nbCards} kort", + "No upcoming cards" : "Ingen kommende kort", + "upcoming cards" : "kommende kort", + "Due on {date}" : "Utløper {date}", "Link to a board" : "Lenke til tavle", + "Link to a card" : "Lenke til et kort", + "Create a card" : "Opprett kort", + "Message from {author} in {conversationName}" : "Melding fra {author} i {conversationName}", + "Something went wrong" : "Noe gikk galt", + "Failed to upload {name}" : "Klarte ikke laste opp {name}", "Maximum file size of {size} exceeded" : "Maksimal størrelse for filer på {size} er overskredet", + "Error creating the share" : "Feil ved oppretting av deling", + "Share with a Deck card" : "Del med et Stokk-kort", + "Share {file} with a Deck card" : "Del {file} med et Stokk-kort", "Share" : "Del", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Stokk er et kanban inspirert verktøy for organisering for personlig planlegging og prosjekt organisering for team integrert med Nextcloud.\n\n\n- 📥 Legg til oppgaver på kort og hold orden på disse.\n- 📄 Legg til notater.\n- 🔖 Tildel merke for enda bedre organisering.\n- 👥 Del med team, venner eller familile.\n- 📎 Legg ved filer som kan integreres i beskrivelser.\n- 💬 Diskuter med ditt team ved å bruke kommentarer.\n- ⚡ Hold oversikt over endringer i aktivitetsstrøm.\n- 🚀 Få dine prosjekt organisert.", - "This week" : "Denne uken" + "Are you sure you want to transfer the board {title} for {user} ?" : "Er du sikker på at du vil overføre tavlen {title} for {user} ?", + "Transfer the board for {user} successfully" : "Tavlen ble overført for {user}", + "Failed to transfer the board for {user}" : "Klarte ikke overføre tavlen for {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Er du sikker på sletting av tavlen {title}? Dette vil slette alt innholdet på denne tavlen.", + "This week" : "Denne uken", + "Are you sure you want to transfer the board {title} for {user}?" : "Er du sikker på at du vil overføre tavlen {title} for {user}?" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/nb.json b/l10n/nb.json index d57d1f621..365a72393 100644 --- a/l10n/nb.json +++ b/l10n/nb.json @@ -6,6 +6,7 @@ "You have restored the board {board}" : "Du har gjennopprettet tavle {board}", "{user} has restored the board {board}" : "{user} har gjennopprettet tavle {board}", "You have shared the board {board} with {acl}" : "Du har delt tavle {board} med {acl}", + "{user} has shared the board {board} with {acl}" : "{user} har delt table {board} med {acl}", "You have removed {acl} from the board {board}" : "Du har fjernet {acl} fra tavle {board}", "{user} has removed {acl} from the board {board}" : "{user} har fjernet {acl} fra tavle {board}", "You have renamed the board {before} to {board}" : "Du har endret navn på tavle {before} til {board}", @@ -14,22 +15,48 @@ "{user} has archived the board {before}" : "{user} har arkivert tavle {board}", "You have unarchived the board {board}" : "Du har hentet tavle {board} fra arkiv", "{user} has unarchived the board {before}" : "{user} har hentet tavle {board} fra arkiv", + "You have created a new list {stack} on board {board}" : "Du har opprettet en ny stabel {stack} på tavle {board}", + "{user} has created a new list {stack} on board {board}" : "{user} har opprettet en ny stabel {stack} på tavle {board}", + "You have renamed list {before} to {stack} on board {board}" : "Du har endret navn på stabel {before} til {stack} på tavle {board}", + "{user} has renamed list {before} to {stack} on board {board}" : "{user} har endret navn på stabel {before} til {stack} på tavle {board}", + "You have deleted list {stack} on board {board}" : "Du har slettet stabel {stack} på tavle {board}", + "{user} has deleted list {stack} on board {board}" : "{user} har slettet stabel {stack} på tavle {board}", + "You have created card {card} in list {stack} on board {board}" : "Du har opprettet kort {card} i stabel {stack} på tavle {board}", + "{user} has created card {card} in list {stack} on board {board}" : "{user} har opprettet kort {card} i stabel {stack} på tavle {board}", + "You have deleted card {card} in list {stack} on board {board}" : "Du har slettet kort {card} i stabel {stack} på tavle {board}", + "{user} has deleted card {card} in list {stack} on board {board}" : "{user} har slettet kort {card} i stabel {stack} på tavle {board}", "You have renamed the card {before} to {card}" : "Du har endret navn fra {before} til {card}", "{user} has renamed the card {before} to {card}" : "{user} har endret navn fra {before} til {card}", + "You have added a description to card {card} in list {stack} on board {board}" : "Du har lagt til beskrivelse på kort {card} i stable {stack} på table {board}", + "{user} has added a description to card {card} in list {stack} on board {board}" : "{user} har lagt til beskrivelse på kort {card} i stabel {stack} på tavle {board}", + "You have updated the description of card {card} in list {stack} on board {board}" : "Du har oppdatert beskrivelsen på kort {card} i stabel {stack} på tavle {board}", + "{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} har oppdatert beskrivelsen på kort {card} i stabel {stack} på tavle {board}", + "You have archived card {card} in list {stack} on board {board}" : "Du har arkivert kort {card} i stabel {stack} på tavle {board}", + "{user} has archived card {card} in list {stack} on board {board}" : "{user} har arkivert kort {card} i stabel {stack} på tavle {board}", + "You have unarchived card {card} in list {stack} on board {board}" : "Du har hentet arkivert kort {card} i stabel {stack} på tavle {board}", + "{user} has unarchived card {card} in list {stack} on board {board}" : "{user} har hentet arkivert kort {card} i stabel {stack} på tavle {board}", "You have removed the due date of card {card}" : "Du har fjernet forfallsdato for kort {card}", "{user} has removed the due date of card {card}" : "{user} har fjernet forfallsdato for kort {card}", "You have set the due date of card {card} to {after}" : "Du har satt forfallsdato på kort {card} etter {after}", "{user} has set the due date of card {card} to {after}" : "{user} har satt forfallsdato på kort {card} etter {after}", "You have updated the due date of card {card} to {after}" : "Du har oppdatert forfallsdato på kort {card} etter {after}", "{user} has updated the due date of card {card} to {after}" : "{user} har oppdatert forfallsdato på kort {card} etter {after}", + "You have added the tag {label} to card {card} in list {stack} on board {board}" : "Du har lagt til merke {label} til kort {card} i stabel {stack} på tavle {board}", + "{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} har lagt til merke {label} til kort {card} i stabel {stack} på tavle {board}", + "You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Du har fjernet merke {label} fra kort {card} i stabel {stack} på tavle {board}", + "{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} har fjernet merke {label} fra kort {card} i stabel {stack} på tavle {board}", "You have assigned {assigneduser} to card {card} on board {board}" : "Du har tildelt {assigneduser} til kort {card} på tavle {board}", "{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} har tildelt {assigneduser} til kort {card} på tavle {board}", "You have unassigned {assigneduser} from card {card} on board {board}" : "Du har fjernet {assigneduser} fra kort {card} på tavle {board}", "{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} har fjernet {assigneduser} fra kort {card} på tavle {board}", + "You have moved the card {card} from list {stackBefore} to {stack}" : "Du har flyttet kort {card} fra stabel {stackBefore} til {stack}", + "{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} har flyttet kort {card} fra stabel {stackBefore} til {stack}", "You have added the attachment {attachment} to card {card}" : "Du har lagt til vedlegget {attachment} ti kortet {card}", "{user} has added the attachment {attachment} to card {card}" : "{user} har lagt til vedlegget {attachment} på kortet {card}", "You have updated the attachment {attachment} on card {card}" : "Du har oppdatert vedlegget {attachment} på kortet {card}", + "{user} has updated the attachment {attachment} on card {card}" : "{user} har oppdateret vedlegget {attachment} på kortet {card}", "You have deleted the attachment {attachment} from card {card}" : "Du har slettet vedlegget {attachment} på kortet {card}", + "{user} has deleted the attachment {attachment} from card {card}" : "{user} har slettet vedlegget {attachment} fra kortet {card}", "You have restored the attachment {attachment} to card {card}" : "Du har gjennopprettet vedlegget {attachment} på kortet {card}", "{user} has restored the attachment {attachment} to card {card}" : "{user} har gjennopprettet vedlegget {attachment} på kortet {card}", "You have commented on card {card}" : "Du har kommetnert på kort {card}", @@ -37,11 +64,19 @@ "A card description inside the Deck app has been changed" : "En kort beskrivelsei Stokk-appen er endret", "Deck" : "Stokk", "Changes in the Deck app" : "Endringer i Stokk-appen", + "A comment was created on a card" : "En kommentar ble skrevet på kortet", + "Upcoming cards" : "Kommende kort", + "Load more" : "Last mer", "Personal" : "Personlig", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortet \"%s\" på \"%s\" er endret til deg av %s.", + "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} har tildelt kortet {deck-card} på {deck-board} til deg.", "The card \"%s\" on \"%s\" has reached its due date." : "Kortet \"%s\" på \"%s\" har nådd sin utløpsdato.", + "The card {deck-card} on {deck-board} has reached its due date." : "Kortet {deck-card} på {deck-board} har nådd sin utløpsdato.", "%s has mentioned you in a comment on \"%s\"." : "%shar nevnt deg i en kommentar på \"%s\".", + "{user} has mentioned you in a comment on {deck-card}." : "{user} har nevnt deg i en kommentar på {deck-card}.", "The board \"%s\" has been shared with you by %s." : "Brettet \"%s\" har blitt delt med deg av %s.", + "{user} has shared {deck-board} with you." : "{user} har delt brettet {deck-board} med deg.", + "Card comments" : "Kommentarer på kortet", "%s on %s" : "%s på %s", "No data was provided to create an attachment." : "Ingen data for å opprette vedlegg.", "Finished" : "Fullført", @@ -64,51 +99,124 @@ "Could not write file to disk" : "Kan ikke skrive til disk", "A PHP extension stopped the file upload" : "En PHP utvidelse stoppet når fil ble lastet opp", "No file uploaded or file size exceeds maximum of %s" : "Ingen fil lastet opp eller filen er større enn %s", + "This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Denne kommentaren har enn %s tegn.\nLa til som vedlegg til kortet med navnet %s.\nTilgjengelig på URL: %s.", "Card not found" : "Kort ikke funnet", + "Path is already shared with this card" : "Stien er allerede delt med dette kortet", "Invalid date, date format must be YYYY-MM-DD" : "Feil dato, dato må være i formatet YYYY-MM-DD", + "Personal planning and team project organization" : "Personlig planlegging og organisering av prosjekter i team", + "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Stokk er et kanban inspirert verktøy for organisering for personlig planlegging og prosjekt organisering for team integrert med Nextcloud.\n\n\n- 📥 Legg til oppgaver på kort og hold orden på disse.\n- 📄 Legg til notater.\n- 🔖 Tildel merke for enda bedre organisering.\n- 👥 Del med team, venner eller familile.\n- 📎 Legg ved filer som kan integreres i beskrivelser.\n- 💬 Diskuter med ditt team ved å bruke kommentarer.\n- ⚡ Hold oversikt over endringer i aktivitetsstrøm.\n- 🚀 Få dine prosjekt organisert.", + "Card details" : "Kort-detaljer", "Add board" : "Legg til tavle", "Select the board to link to a project" : "Velg tavle som skal lenkes til prosjekt", + "Search by board title" : "Søk på tittel på tavle", "Select board" : "Velg tavle", + "Create a new card" : "Opprett et nytt kort", + "Select a board" : "Velg en tavle", + "Select a list" : "Velg en stabel", + "Card title" : "Kortittel", "Cancel" : "Avbryt", + "Creating the new card …" : "Oppretter det nye kortet ...", + "Card \"{card}\" was added to \"{board}\"" : "Kort \"{card}\" ble lagt til i \"{board}\"", + "Open card" : "Åpne kort", "Close" : "Lukk", + "Create card" : "Opprett kort", + "Select a card" : "Velg et kort", + "Select the card to link to a project" : "Velg kort som skal lenkes til prosjekt", + "Link to card" : "Lenke til kort", "File already exists" : "Filen finnes allerede", + "A file with the name {filename} already exists." : "En fil med navnet {filename} finnes allerede.", "Do you want to overwrite it?" : "Vil du overskrive?", + "Overwrite file" : "Overskriv fil", + "Keep existing file" : "Behold eksisterende fil", + "This board is read only" : "Denne tavlen er kun lesbar", + "Drop your files to upload" : "Dropp filer for å laste opp", "Add card" : "Legg til kort", "Archived cards" : "Arkiver tavle", "Add list" : "Legg til liste", + "List name" : "Listenavn", + "Active filters" : "Aktivt filter", + "Apply filter" : "Aktiver filter", "Filter by tag" : "Filtrer på knagg", "Filter by assigned user" : "Filtrer på tildelt bruker", "Unassigned" : "Ikke tildelt", "Filter by due date" : "Filtrer på forfallsdato", "Overdue" : "Utløpt", + "Next 24 hours" : "Neste 24 timer", "Next 7 days" : "Neste 7 dager", "Next 30 days" : "Neste 30 dager", "No due date" : "Ingen forfallsdato", + "Clear filter" : "Tøm filter", "Hide archived cards" : "Skjul arkiverte kort", "Show archived cards" : "Vis arkiverkte kort", "Toggle compact mode" : "Endre kompakt modus", + "Open details" : "Åpne detaljer", "Details" : "Detaljer", + "Loading board" : "Laster tavle", + "No lists available" : "Ingen stabler tilgjengelig", + "Create a new list to add cards to this board" : "Lag en ny stabel for å legge til kort til denne tavlen", + "Board not found" : "Tavle ikke funnet", "Sharing" : "Deling", "Tags" : "Merkelapper", "Deleted items" : "Slettede element", "Timeline" : "Tidslinje", + "Deleted lists" : "Slettede stabler", "Undo" : "Angre", "Deleted cards" : "Slettede kort", + "Share board with a user, group or circle …" : "Del tavle med bruker, gruppe eller sirkel", + "Searching for users, groups and circles …" : "Søker etter brukere, grupper og sirkler ...", + "No participants found" : "Ingen deltakere funnet", + "Board owner" : "Tavle-eier", + "(Group)" : "(Gruppe)", + "(Circle)" : "(Sirkel)", "Can edit" : "Kan redigere", "Can share" : "Kan dele", + "Can manage" : "Kan behandle", "Owner" : "Eier", "Delete" : "Slett", + "Failed to create share with {displayName}" : "Klarte ikke å opprette deling med {displayName}", + "Are you sure you want to transfer the board {title} to {user}?" : "Er du sikker på at du vil overføre tavlen {title} til {user}?", + "Transfer the board." : "Overfør tavle.", "Transfer" : "Overfør", + "The board has been transferred to {user}" : "Tavlen har blitt overført til {user}", + "Failed to transfer the board to {user}" : "Klarte ikke overføre tavlen til {user}", + "Add a new list" : "Legg til en ny stabel", + "Archive all cards" : "Arkiver alle kort", "Delete list" : "Slett listen", + "Archive all cards in this list" : "Arkiver alle kort i en stabel", + "Add a new card" : "Legg til nytt kort", + "Card name" : "Navn på kort", + "List deleted" : "Stabel slettet", "Edit" : "Rediger", + "Add a new tag" : "Legg til nytt merke", + "title and color value must be provided" : "Du må oppgi verdier for tittel og farge", + "Board name" : "Navn på tavle", "Members" : "Medlemmer", + "Upload new files" : "Last opp nye filer", + "Share from Files" : "Del fra Filer", + "Pending share" : "Ventende deling", + "Add this attachment" : "Legg til vedlegg", + "Show in Files" : "Vis i Filer", "Download" : "Last ned", + "Remove attachment" : "Fjern vedlegg", + "Delete Attachment" : "Slett vedlegg", + "Restore Attachment" : "Gjenopprett vedlegg", + "File to share" : "Fil for deling", "Invalid path selected" : "Ugyldig angitt sti", + "Open in sidebar view" : "Åpne med sidepanel", + "Open in bigger view" : "Åpen i større visning", "Attachments" : "Vedlegg", "Comments" : "Kommentarer", "Modified" : "Endret", "Created" : "Opprettet", + "The title cannot be empty." : "Tittel kan ikke være tom", + "No comments yet. Begin the discussion!" : "Ingen kommentarer ennå. Start diskusjonen!", + "Failed to load comments" : "Feil i lasting av kommentarer", + "Assign a tag to this card…" : "Legg til et merke til dette kortet...", + "Assign to users" : "Tildel brukere", + "Assign to users/groups/circles" : "Tildel brukere/grupper/sirkler", + "Assign a user to this card…" : "Tildel bruker til dette kortet...", "Due date" : "Forfallsdato", + "Set a due date" : "Set forfallsdato", "Remove due date" : "Fjern forfallsdato", "Select Date" : "Velg dato", "Today" : "I dag", @@ -116,33 +224,89 @@ "Next week" : "Neste uke", "Next month" : "Neste måned", "Save" : "Lagre", + "The comment cannot be empty." : "Kommentaren kan ikke være tom.", + "The comment cannot be longer than 1000 characters." : "Kommentaren kan ikke være lenger enn 1000 tegn.", + "In reply to" : "Som svar på", + "Cancel reply" : "Avbryt svar", "Reply" : "Svar", "Update" : "Oppdater", "Description" : "Beskrivelse", + "(Unsaved)" : "(Ikke lagret)", + "(Saving…)" : "(Lagrer...)", "Formatting help" : "Formateringshjelp", "Edit description" : "Rediger beskrivelse", + "View description" : "Se beskrivelse", + "Add Attachment" : "Legg til vedlegg", + "Write a description …" : "Skriv en beskrivelse ...", + "Choose attachment" : "Velg vedlegg", "(group)" : "(gruppe)", + "Todo items" : "Gjøremålspunkter", + "{count} comments, {unread} unread" : "{count} kommentarer, {unread} ulest", + "Edit card title" : "Rediger korttittel", + "Assign to me" : "Tildel meg", + "Unassign myself" : "Fjern meg fra tildeling", "Move card" : "Flytt kort", "Unarchive card" : "Hent kort fra arkiv", "Archive card" : "Arkiver kort", "Delete card" : "Slett kort", + "Move card to another board" : "Flytt kort til annen tavle", + "List is empty" : "Stabel er tom", + "Card deleted" : "Kort slettet", "seconds ago" : "sekunder siden", + "All boards" : "Alle tabler", "Archived boards" : "Arkiverte tavler", "Shared with you" : "Delt med deg", + "Deck settings" : "Innstillinger for Stokk", + "Use bigger card view" : "Bruk større visning på kort", + "Show boards in calendar/tasks" : "Vis tavler i kalender/oppgaver", + "Limit deck usage of groups" : "Begrens stokk-bruk til grupper", "Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Begrensning av tavler vil hindre tilgang til de brukere som ikke er medlem av en gruppe fra å lage egne tavler. Bruker kan arbeide på de tavler som er delt med dem.", "Board details" : "Forumseksjonsdetaljer", "Edit board" : "Rediger tavle", "Clone board" : "Klon tavle", "Unarchive board" : "Aktiver tavle", "Archive board" : "Arkiver tavle", + "Turn on due date reminders" : "Skru på påminnelser for forfallsdato", + "Turn off due date reminders" : "Skru av påminnelser for forfallsdato", + "Due date reminders" : "Påminnelser for forfallsdato", + "All cards" : "Alle kort", + "Assigned cards" : "Tildelte kort", "No notifications" : "Ingen varsler", "Delete board" : "Slett tavle", + "Board {0} deleted" : "Tavle {0} slettet", + "Only assigned cards" : "Kun tildelte kort", "No reminder" : "Ingen varsel", "An error occurred" : "En feil oppstod", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Are du sikker på sletting av tavlen {title}? Handlingen vil slette all data i denne tavlen, inkludert arkiverte kort.", + "Delete the board?" : "Slett tavlen?", + "Loading filtered view" : "Laster filtrert visning", + "No due" : "Ingen forfall", + "Search for {searchQuery} in all boards" : "Søk etter {searchQuery} i alle tavler", + "No results found" : "Ingen resultater funnet", + "{stack} in {board}" : "{stack} i {board}", + "Click to expand description" : "Klikk for å utvide beskrivelsen", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Opprettet {created}\n* Sist endret {lastMod}\n* {nbAttachments} vedlegg\n* {nbComments} kommentarer", + "{nbCards} cards" : "{nbCards} kort", + "No upcoming cards" : "Ingen kommende kort", + "upcoming cards" : "kommende kort", + "Due on {date}" : "Utløper {date}", "Link to a board" : "Lenke til tavle", + "Link to a card" : "Lenke til et kort", + "Create a card" : "Opprett kort", + "Message from {author} in {conversationName}" : "Melding fra {author} i {conversationName}", + "Something went wrong" : "Noe gikk galt", + "Failed to upload {name}" : "Klarte ikke laste opp {name}", "Maximum file size of {size} exceeded" : "Maksimal størrelse for filer på {size} er overskredet", + "Error creating the share" : "Feil ved oppretting av deling", + "Share with a Deck card" : "Del med et Stokk-kort", + "Share {file} with a Deck card" : "Del {file} med et Stokk-kort", "Share" : "Del", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Stokk er et kanban inspirert verktøy for organisering for personlig planlegging og prosjekt organisering for team integrert med Nextcloud.\n\n\n- 📥 Legg til oppgaver på kort og hold orden på disse.\n- 📄 Legg til notater.\n- 🔖 Tildel merke for enda bedre organisering.\n- 👥 Del med team, venner eller familile.\n- 📎 Legg ved filer som kan integreres i beskrivelser.\n- 💬 Diskuter med ditt team ved å bruke kommentarer.\n- ⚡ Hold oversikt over endringer i aktivitetsstrøm.\n- 🚀 Få dine prosjekt organisert.", - "This week" : "Denne uken" + "Are you sure you want to transfer the board {title} for {user} ?" : "Er du sikker på at du vil overføre tavlen {title} for {user} ?", + "Transfer the board for {user} successfully" : "Tavlen ble overført for {user}", + "Failed to transfer the board for {user}" : "Klarte ikke overføre tavlen for {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Er du sikker på sletting av tavlen {title}? Dette vil slette alt innholdet på denne tavlen.", + "This week" : "Denne uken", + "Are you sure you want to transfer the board {title} for {user}?" : "Er du sikker på at du vil overføre tavlen {title} for {user}?" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/nl.js b/l10n/nl.js index b74d57ba8..50f422c04 100644 --- a/l10n/nl.js +++ b/l10n/nl.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Wijzigingen in de Deck app", "A comment was created on a card" : "Er is commentaar gegeven op een card", "Upcoming cards" : "Aanstaande kaarten", + "Load more" : "Laad meer", "Personal" : "Persoonlijk", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "De kaart \"%s\" op \"%s\" is aan jou toegewezen door %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} heeft kaart {deck-card} op {deck-board} aan jou toegewezen.", @@ -149,6 +150,7 @@ OC.L10N.register( "Hide archived cards" : "Gearchiveerde kaarten verbergen", "Show archived cards" : "Gearchiveerde kaarten weergeven", "Toggle compact mode" : "Omschakelen compacte modus", + "Open details" : "Details openen", "Details" : "Details", "Loading board" : "Bord laden", "No lists available" : "Geen lijsten beschikbaar", @@ -269,12 +271,12 @@ OC.L10N.register( "Only assigned cards" : "Uitsluitend toegewezen kaarten", "No reminder" : "Geen herinnering", "An error occurred" : "Er is een fout opgetreden", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Weet je zeker dat je bord {title} met wilt verwijderen? Dit verwijderd alle informatie van dit bord.", "Delete the board?" : "Bord verwijderen?", "Loading filtered view" : "Gefilterde weergave wordt geladen", "No due" : "Geen vervallen", "Search for {searchQuery} in all boards" : "Zoek naar {searchQuery} in alle borden", "No results found" : "Geen resultaten gevonden", + "{stack} in {board}" : "{stack} in {board}", "No upcoming cards" : "Geen aanstaande kaarten", "upcoming cards" : "Aanstaande kaarten", "Link to a board" : "Verbind met een bord", @@ -289,6 +291,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "Delen {file} met een Deck kaart", "Share" : "Delen", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck is een soort kanban organisatietool gericht op persoonlijke planning en projectorganisatie voor teams geïntegreerd in Nextcloud.\n\n\n- 📥 Voeg taken toe aan kaarten en sorteer ze\n- 📄 Schrijf extra notities in markdown\n- 🔖 Ken labels toe voor betere organisatie\n- 👥 Deel met je team, vrienden of familie\n- 📎 Voeg bestanden toe en plaats ze in je markdown beschrijving\n- 💬 Discussieer binnen je team met reacties\n- ⚡ Volg de wijzigingen in het activiteiten kanaal\n- 🚀 Organiseer je project", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Weet je zeker dat je bord {title} met wilt verwijderen? Dit verwijderd alle informatie van dit bord.", "This week" : "Deze week" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/nl.json b/l10n/nl.json index a2a7f7216..02018d879 100644 --- a/l10n/nl.json +++ b/l10n/nl.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Wijzigingen in de Deck app", "A comment was created on a card" : "Er is commentaar gegeven op een card", "Upcoming cards" : "Aanstaande kaarten", + "Load more" : "Laad meer", "Personal" : "Persoonlijk", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "De kaart \"%s\" op \"%s\" is aan jou toegewezen door %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} heeft kaart {deck-card} op {deck-board} aan jou toegewezen.", @@ -147,6 +148,7 @@ "Hide archived cards" : "Gearchiveerde kaarten verbergen", "Show archived cards" : "Gearchiveerde kaarten weergeven", "Toggle compact mode" : "Omschakelen compacte modus", + "Open details" : "Details openen", "Details" : "Details", "Loading board" : "Bord laden", "No lists available" : "Geen lijsten beschikbaar", @@ -267,12 +269,12 @@ "Only assigned cards" : "Uitsluitend toegewezen kaarten", "No reminder" : "Geen herinnering", "An error occurred" : "Er is een fout opgetreden", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Weet je zeker dat je bord {title} met wilt verwijderen? Dit verwijderd alle informatie van dit bord.", "Delete the board?" : "Bord verwijderen?", "Loading filtered view" : "Gefilterde weergave wordt geladen", "No due" : "Geen vervallen", "Search for {searchQuery} in all boards" : "Zoek naar {searchQuery} in alle borden", "No results found" : "Geen resultaten gevonden", + "{stack} in {board}" : "{stack} in {board}", "No upcoming cards" : "Geen aanstaande kaarten", "upcoming cards" : "Aanstaande kaarten", "Link to a board" : "Verbind met een bord", @@ -287,6 +289,7 @@ "Share {file} with a Deck card" : "Delen {file} met een Deck kaart", "Share" : "Delen", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck is een soort kanban organisatietool gericht op persoonlijke planning en projectorganisatie voor teams geïntegreerd in Nextcloud.\n\n\n- 📥 Voeg taken toe aan kaarten en sorteer ze\n- 📄 Schrijf extra notities in markdown\n- 🔖 Ken labels toe voor betere organisatie\n- 👥 Deel met je team, vrienden of familie\n- 📎 Voeg bestanden toe en plaats ze in je markdown beschrijving\n- 💬 Discussieer binnen je team met reacties\n- ⚡ Volg de wijzigingen in het activiteiten kanaal\n- 🚀 Organiseer je project", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Weet je zeker dat je bord {title} met wilt verwijderen? Dit verwijderd alle informatie van dit bord.", "This week" : "Deze week" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/oc.js b/l10n/oc.js index d7a01570f..613749abe 100644 --- a/l10n/oc.js +++ b/l10n/oc.js @@ -52,6 +52,7 @@ OC.L10N.register( "Shared with you" : "Shared with you", "No notifications" : "Cap de notificacion", "An error occurred" : "Una error s’es producha", + "{stack} in {board}" : "{stack} dins {board}", "Create a card" : "Crear una carta", "Share" : "Partejar", "This week" : "Aquesta setmana" diff --git a/l10n/oc.json b/l10n/oc.json index 8c7a97fc9..811572743 100644 --- a/l10n/oc.json +++ b/l10n/oc.json @@ -50,6 +50,7 @@ "Shared with you" : "Shared with you", "No notifications" : "Cap de notificacion", "An error occurred" : "Una error s’es producha", + "{stack} in {board}" : "{stack} dins {board}", "Create a card" : "Crear una carta", "Share" : "Partejar", "This week" : "Aquesta setmana" diff --git a/l10n/pl.js b/l10n/pl.js index f784f7b70..5426f1e98 100644 --- a/l10n/pl.js +++ b/l10n/pl.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Zmiany w aplikacji Tablica", "A comment was created on a card" : "Na karcie utworzono komentarz", "Upcoming cards" : "Nadchodzące karty", + "Load more" : "Wczytaj więcej", "Personal" : "Osobiste", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Karta \"%s\" na \"%s\" została przydzielona Tobie przez %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} przydzielił Tobie kartę {deck-card} na {deck-board}.", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Ukryj zarchiwizowane karty", "Show archived cards" : "Pokaż zarchiwizowane karty", "Toggle compact mode" : "Przełącz w tryb kompaktowy", + "Open details" : "Otwórz szczegóły", "Details" : "Szczegóły", "Loading board" : "Wczytywanie tablicy", "No lists available" : "Brak dostępnych list", @@ -277,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "Tylko przydzielone karty", "No reminder" : "Bez przypomnienia", "An error occurred" : "Wystąpił błąd", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Czy na pewno chcesz usunąć tablicę {title}? Spowoduje to usunięcie wszystkich danych z tej tablicy.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Czy na pewno chcesz usunąć tablicę {title}? Spowoduje to usunięcie wszystkich danych z tej tablicy łącznie z zarchiwizowanymi kartami.", "Delete the board?" : "Usunąć tablicę?", "Loading filtered view" : "Wczytywanie przefiltrowanego widoku", "No due" : "Bez ważności", "Search for {searchQuery} in all boards" : "Wyszukaj dla {searchQuery} na wszystkich tablicach", "No results found" : "Nie znaleziono wyników", + "{stack} in {board}" : "{stack} na {board}", + "Click to expand description" : "Kliknij, aby rozwinąć opis", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Utworzono {created}\n* Ostatnia modyfikacja {lastMod}\n* Załączniki {nbAttachments}\n* Komentarze {nbComments}", + "{nbCards} cards" : "Karty {nbCards}", "No upcoming cards" : "Brak nadchodzących kart", "upcoming cards" : "nadchodzące karty", + "Due on {date}" : "Termin {date}", "Link to a board" : "Link do tablicy", "Link to a card" : "Link do karty", "Create a card" : "Utwórz kartę", @@ -300,6 +307,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "Czy na pewno chcesz przenieść tablicę {title} dla {user}?", "Transfer the board for {user} successfully" : "Przeniesienie tablicy dla {user} pomyślne", "Failed to transfer the board for {user}" : "Nie udało się przenieść tablicy dla {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Czy na pewno chcesz usunąć tablicę {title}? Spowoduje to usunięcie wszystkich danych z tej tablicy.", "This week" : "W tym tygodniu", "Are you sure you want to transfer the board {title} for {user}?" : "Czy na pewno chcesz przenieść tablicę {title} dla {user}?" }, diff --git a/l10n/pl.json b/l10n/pl.json index e18097c72..fd8d55abe 100644 --- a/l10n/pl.json +++ b/l10n/pl.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Zmiany w aplikacji Tablica", "A comment was created on a card" : "Na karcie utworzono komentarz", "Upcoming cards" : "Nadchodzące karty", + "Load more" : "Wczytaj więcej", "Personal" : "Osobiste", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Karta \"%s\" na \"%s\" została przydzielona Tobie przez %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} przydzielił Tobie kartę {deck-card} na {deck-board}.", @@ -148,6 +149,7 @@ "Hide archived cards" : "Ukryj zarchiwizowane karty", "Show archived cards" : "Pokaż zarchiwizowane karty", "Toggle compact mode" : "Przełącz w tryb kompaktowy", + "Open details" : "Otwórz szczegóły", "Details" : "Szczegóły", "Loading board" : "Wczytywanie tablicy", "No lists available" : "Brak dostępnych list", @@ -275,14 +277,19 @@ "Only assigned cards" : "Tylko przydzielone karty", "No reminder" : "Bez przypomnienia", "An error occurred" : "Wystąpił błąd", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Czy na pewno chcesz usunąć tablicę {title}? Spowoduje to usunięcie wszystkich danych z tej tablicy.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Czy na pewno chcesz usunąć tablicę {title}? Spowoduje to usunięcie wszystkich danych z tej tablicy łącznie z zarchiwizowanymi kartami.", "Delete the board?" : "Usunąć tablicę?", "Loading filtered view" : "Wczytywanie przefiltrowanego widoku", "No due" : "Bez ważności", "Search for {searchQuery} in all boards" : "Wyszukaj dla {searchQuery} na wszystkich tablicach", "No results found" : "Nie znaleziono wyników", + "{stack} in {board}" : "{stack} na {board}", + "Click to expand description" : "Kliknij, aby rozwinąć opis", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Utworzono {created}\n* Ostatnia modyfikacja {lastMod}\n* Załączniki {nbAttachments}\n* Komentarze {nbComments}", + "{nbCards} cards" : "Karty {nbCards}", "No upcoming cards" : "Brak nadchodzących kart", "upcoming cards" : "nadchodzące karty", + "Due on {date}" : "Termin {date}", "Link to a board" : "Link do tablicy", "Link to a card" : "Link do karty", "Create a card" : "Utwórz kartę", @@ -298,6 +305,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "Czy na pewno chcesz przenieść tablicę {title} dla {user}?", "Transfer the board for {user} successfully" : "Przeniesienie tablicy dla {user} pomyślne", "Failed to transfer the board for {user}" : "Nie udało się przenieść tablicy dla {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Czy na pewno chcesz usunąć tablicę {title}? Spowoduje to usunięcie wszystkich danych z tej tablicy.", "This week" : "W tym tygodniu", "Are you sure you want to transfer the board {title} for {user}?" : "Czy na pewno chcesz przenieść tablicę {title} dla {user}?" },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" diff --git a/l10n/pt_BR.js b/l10n/pt_BR.js index bfd7b0e7a..6a7ff5e4d 100644 --- a/l10n/pt_BR.js +++ b/l10n/pt_BR.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Mudanças no aplicativo Deck", "A comment was created on a card" : "Um comentário foi criado no cartão", "Upcoming cards" : "Próximos cartões", + "Load more" : "Carregar mais", "Personal" : "Pessoal", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "O cartão \"%s\" em \"%s\" foi vinculado com você por %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{usuário} atribuiu a carta {deck-card} no {deck-board} para você.", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Ocultar cartões arquivados", "Show archived cards" : "Exibir cartões arquivados", "Toggle compact mode" : "Alternar para modo compacto", + "Open details" : "Abrir detalhes", "Details" : "Detalhes", "Loading board" : "Carregando painel", "No lists available" : "Nenhuma lista disponível", @@ -277,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "Apenas cartões atribuídos", "No reminder" : "Nenhum lembrete", "An error occurred" : "Ocorreu um erro", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Deseja realmente excluir o painel {title}? Isto excluirá todos os dados deste painel.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Tem certeza de que deseja excluir o quadro {title}? Isso excluirá todos os dados deste quadro, incluindo cartões arquivados.", "Delete the board?" : "Excluir o painel?", "Loading filtered view" : "Carregando exibição filtrada", "No due" : "Sem vencimento", "Search for {searchQuery} in all boards" : "Pesquisar por {searchQuery} em todos os painéis", "No results found" : "Nenhum resultado encontrado", + "{stack} in {board}" : "{stack} de {board}", + "Click to expand description" : "Clique para expandir a descrição", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Criado em {created}\n* Última modificação em {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentários", + "{nbCards} cards" : "{nbCards} cartões", "No upcoming cards" : "Não há mais cartões", "upcoming cards" : "próximos cartões", + "Due on {date}" : "Vencimento em {date}", "Link to a board" : "Linkar a um painel", "Link to a card" : "Vincular a um cartão", "Create a card" : "Criar um cartão", @@ -300,6 +307,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "Tem certeza de que deseja transferir o quadro {title} para {user}?", "Transfer the board for {user} successfully" : "Transferida a reunião para {user} com sucesso", "Failed to transfer the board for {user}" : "Falha ao transferir a reunião para {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Deseja realmente excluir o painel {title}? Isto excluirá todos os dados deste painel.", "This week" : "Esta semana", "Are you sure you want to transfer the board {title} for {user}?" : "Tem certeza de que deseja transferir o quadro {title} para {user}?" }, diff --git a/l10n/pt_BR.json b/l10n/pt_BR.json index eb0631265..dcf8162cc 100644 --- a/l10n/pt_BR.json +++ b/l10n/pt_BR.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Mudanças no aplicativo Deck", "A comment was created on a card" : "Um comentário foi criado no cartão", "Upcoming cards" : "Próximos cartões", + "Load more" : "Carregar mais", "Personal" : "Pessoal", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "O cartão \"%s\" em \"%s\" foi vinculado com você por %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{usuário} atribuiu a carta {deck-card} no {deck-board} para você.", @@ -148,6 +149,7 @@ "Hide archived cards" : "Ocultar cartões arquivados", "Show archived cards" : "Exibir cartões arquivados", "Toggle compact mode" : "Alternar para modo compacto", + "Open details" : "Abrir detalhes", "Details" : "Detalhes", "Loading board" : "Carregando painel", "No lists available" : "Nenhuma lista disponível", @@ -275,14 +277,19 @@ "Only assigned cards" : "Apenas cartões atribuídos", "No reminder" : "Nenhum lembrete", "An error occurred" : "Ocorreu um erro", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Deseja realmente excluir o painel {title}? Isto excluirá todos os dados deste painel.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Tem certeza de que deseja excluir o quadro {title}? Isso excluirá todos os dados deste quadro, incluindo cartões arquivados.", "Delete the board?" : "Excluir o painel?", "Loading filtered view" : "Carregando exibição filtrada", "No due" : "Sem vencimento", "Search for {searchQuery} in all boards" : "Pesquisar por {searchQuery} em todos os painéis", "No results found" : "Nenhum resultado encontrado", + "{stack} in {board}" : "{stack} de {board}", + "Click to expand description" : "Clique para expandir a descrição", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Criado em {created}\n* Última modificação em {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentários", + "{nbCards} cards" : "{nbCards} cartões", "No upcoming cards" : "Não há mais cartões", "upcoming cards" : "próximos cartões", + "Due on {date}" : "Vencimento em {date}", "Link to a board" : "Linkar a um painel", "Link to a card" : "Vincular a um cartão", "Create a card" : "Criar um cartão", @@ -298,6 +305,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "Tem certeza de que deseja transferir o quadro {title} para {user}?", "Transfer the board for {user} successfully" : "Transferida a reunião para {user} com sucesso", "Failed to transfer the board for {user}" : "Falha ao transferir a reunião para {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Deseja realmente excluir o painel {title}? Isto excluirá todos os dados deste painel.", "This week" : "Esta semana", "Are you sure you want to transfer the board {title} for {user}?" : "Tem certeza de que deseja transferir o quadro {title} para {user}?" },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" diff --git a/l10n/pt_PT.js b/l10n/pt_PT.js index 94cc3535a..abb055c9b 100644 --- a/l10n/pt_PT.js +++ b/l10n/pt_PT.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Alterações na aplicação Quadro", "A comment was created on a card" : "Um comentário foi criado num cartão", "Upcoming cards" : "Próximos cartões", + "Load more" : "Carregar mais", "Personal" : "Pessoal", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "O cartão \"%s\" em \"%s\" foi-lhe vinculado por %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{usuário} atribuiu-lhe o cartão {deck-card} no {deck-board}.", @@ -118,6 +119,7 @@ OC.L10N.register( "Details" : "Detalhes", "Sharing" : "Partilha", "Tags" : "Etiquetas", + "Timeline" : "Linha do tempo", "Undo" : "Desfazer", "(Group)" : "(Grupo)", "Can edit" : "Can edit", @@ -154,6 +156,7 @@ OC.L10N.register( "Archive board" : "Arquivar quadro", "No notifications" : "Sem notificações", "Delete board" : "Eliminar quadro", + "No reminder" : "Nenhum lembrete", "An error occurred" : "Ocorreu um erro", "Share" : "Partilhar", "This week" : "Esta semana" diff --git a/l10n/pt_PT.json b/l10n/pt_PT.json index 7cf339ad5..052cdfc58 100644 --- a/l10n/pt_PT.json +++ b/l10n/pt_PT.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Alterações na aplicação Quadro", "A comment was created on a card" : "Um comentário foi criado num cartão", "Upcoming cards" : "Próximos cartões", + "Load more" : "Carregar mais", "Personal" : "Pessoal", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "O cartão \"%s\" em \"%s\" foi-lhe vinculado por %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{usuário} atribuiu-lhe o cartão {deck-card} no {deck-board}.", @@ -116,6 +117,7 @@ "Details" : "Detalhes", "Sharing" : "Partilha", "Tags" : "Etiquetas", + "Timeline" : "Linha do tempo", "Undo" : "Desfazer", "(Group)" : "(Grupo)", "Can edit" : "Can edit", @@ -152,6 +154,7 @@ "Archive board" : "Arquivar quadro", "No notifications" : "Sem notificações", "Delete board" : "Eliminar quadro", + "No reminder" : "Nenhum lembrete", "An error occurred" : "Ocorreu um erro", "Share" : "Partilhar", "This week" : "Esta semana" diff --git a/l10n/ru.js b/l10n/ru.js index d3a613b86..1a0b11873 100644 --- a/l10n/ru.js +++ b/l10n/ru.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Изменения в приложении Карточки", "A comment was created on a card" : "Добавлен комментарий к карточке", "Upcoming cards" : "Ожидающие выполнения", + "Load more" : "Загрузить больше", "Personal" : "Личное", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Вам назначена карточка «%s» с рабочей доски «%s» пользователем %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} назначил Вам карточку {deck-card} из {deck-board}.", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Скрыть архивные карточки", "Show archived cards" : "Просмотреть или скрыть архивные карточки", "Toggle compact mode" : "Выбор компактного или обычного режима просмотра", + "Open details" : "Открыть подробности", "Details" : "Свойства", "Loading board" : "Загрузка доски", "No lists available" : "Нет ни одного списка", @@ -274,12 +276,12 @@ OC.L10N.register( "Only assigned cards" : "Только для назначенных карточек", "No reminder" : "Не напоминать", "An error occurred" : "Произошла ошибка", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Подтвердите удаление доски «{title}»; это действие приведёт к удалению также все данных, принадлежащих этой доске.", "Delete the board?" : "Удалить доску?", "Loading filtered view" : "Выполняется отбор", "No due" : "Без назначенной даты", "Search for {searchQuery} in all boards" : "Искать {searchQuery} на всех досках", "No results found" : "Результаты отсутствуют", + "{stack} in {board}" : "«{stack}» с доски «{board}»", "No upcoming cards" : "Отсутствуют карточки, ожидающие выполнения", "upcoming cards" : "карточки, ожидающие выполнения", "Link to a board" : "Ссылка на доску", @@ -297,6 +299,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "Вы уверены, что хотите передать доску {title} для {user}?", "Transfer the board for {user} successfully" : "Передача доски для {user} выполнена успешно", "Failed to transfer the board for {user}" : "Не удалось передать доску для {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Подтвердите удаление доски «{title}»; это действие приведёт к удалению также все данных, принадлежащих этой доске.", "This week" : "Эта неделя", "Are you sure you want to transfer the board {title} for {user}?" : "Вы уверены, что хотите передать доску {title} для {user}?" }, diff --git a/l10n/ru.json b/l10n/ru.json index ca13c4bf1..d2da22679 100644 --- a/l10n/ru.json +++ b/l10n/ru.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Изменения в приложении Карточки", "A comment was created on a card" : "Добавлен комментарий к карточке", "Upcoming cards" : "Ожидающие выполнения", + "Load more" : "Загрузить больше", "Personal" : "Личное", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Вам назначена карточка «%s» с рабочей доски «%s» пользователем %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} назначил Вам карточку {deck-card} из {deck-board}.", @@ -148,6 +149,7 @@ "Hide archived cards" : "Скрыть архивные карточки", "Show archived cards" : "Просмотреть или скрыть архивные карточки", "Toggle compact mode" : "Выбор компактного или обычного режима просмотра", + "Open details" : "Открыть подробности", "Details" : "Свойства", "Loading board" : "Загрузка доски", "No lists available" : "Нет ни одного списка", @@ -272,12 +274,12 @@ "Only assigned cards" : "Только для назначенных карточек", "No reminder" : "Не напоминать", "An error occurred" : "Произошла ошибка", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Подтвердите удаление доски «{title}»; это действие приведёт к удалению также все данных, принадлежащих этой доске.", "Delete the board?" : "Удалить доску?", "Loading filtered view" : "Выполняется отбор", "No due" : "Без назначенной даты", "Search for {searchQuery} in all boards" : "Искать {searchQuery} на всех досках", "No results found" : "Результаты отсутствуют", + "{stack} in {board}" : "«{stack}» с доски «{board}»", "No upcoming cards" : "Отсутствуют карточки, ожидающие выполнения", "upcoming cards" : "карточки, ожидающие выполнения", "Link to a board" : "Ссылка на доску", @@ -295,6 +297,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "Вы уверены, что хотите передать доску {title} для {user}?", "Transfer the board for {user} successfully" : "Передача доски для {user} выполнена успешно", "Failed to transfer the board for {user}" : "Не удалось передать доску для {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Подтвердите удаление доски «{title}»; это действие приведёт к удалению также все данных, принадлежащих этой доске.", "This week" : "Эта неделя", "Are you sure you want to transfer the board {title} for {user}?" : "Вы уверены, что хотите передать доску {title} для {user}?" },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" diff --git a/l10n/sc.js b/l10n/sc.js index ef3b6cf0b..f0461b968 100644 --- a/l10n/sc.js +++ b/l10n/sc.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Càmbios in s'aplicatzione Deck", "A comment was created on a card" : "Unu cummentu est istadu creadu in s'ischeda", "Upcoming cards" : "Ischedas imbenientes", + "Load more" : "Càrriga àteru", "Personal" : "Personale", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "S'ischeda \"%s\" in \"%s\" s'est istadu assignadu dae %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} t'at assignadu s'ischeda {deck-card} in {deck-board}.", @@ -265,12 +266,12 @@ OC.L10N.register( "Only assigned cards" : "Isceti ischedas assignadas", "No reminder" : "Perunu apuntu", "An error occurred" : "B'at àpidu un'errore", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ses seguru chi cheres cantzellare sa lavagna {title}? Custa operatzione at a cantzellare totu is datos de custa lavagna.", "Delete the board?" : "Cheres cantzellare sa lavagna?", "Loading filtered view" : "Carrigamentu de sa bista cun su filtru", "No due" : "Peruna iscadèntzia", "Search for {searchQuery} in all boards" : "Chirca {searchQuery} in totu is lavagnas", "No results found" : "Perunu resurtadu agatadu", + "{stack} in {board}" : "{stack} in {board}", "No upcoming cards" : "Peruna ischeda abarrada", "upcoming cards" : "ischedas abarradas", "Link to a board" : "Collega a una tabella", @@ -285,6 +286,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "Cumpartzi {file} cun un'ischeda de deck", "Share" : "Cumpartzi", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck est unu trastu de organizatzione a sa moda de kanban destinadu a sa pranificatzione personale e a s'organizatzione de progetos in iscuadra integradu cun Nextcloud\n\n- 📥 Agiunghe is atividades tuas a is ischedas e mantene·ddas ordinadas\n- 📄 Iscrie notas in agiunta in markdown\n- 🔖 Assigna etichetas pro t'organizare mègius ancora\n- 👥 Cumpatzi cun s'iscuadra tua, famìlia e amigos\n- 📎 Aligongia archìvios e integra·ddos in sa descritzione tua in markdown\n- 💬 Chistiona cun s'iscuadra tua impreende is cummentos\n- ⚡ Mantene su rastru de is cummentos tuos in su flussu de atividades\n- 🚀 Organiza su progetu tuo", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ses seguru chi cheres cantzellare sa lavagna {title}? Custa operatzione at a cantzellare totu is datos de custa lavagna.", "This week" : "Custa chida" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/sc.json b/l10n/sc.json index acb2e43f6..fee718c89 100644 --- a/l10n/sc.json +++ b/l10n/sc.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Càmbios in s'aplicatzione Deck", "A comment was created on a card" : "Unu cummentu est istadu creadu in s'ischeda", "Upcoming cards" : "Ischedas imbenientes", + "Load more" : "Càrriga àteru", "Personal" : "Personale", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "S'ischeda \"%s\" in \"%s\" s'est istadu assignadu dae %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} t'at assignadu s'ischeda {deck-card} in {deck-board}.", @@ -263,12 +264,12 @@ "Only assigned cards" : "Isceti ischedas assignadas", "No reminder" : "Perunu apuntu", "An error occurred" : "B'at àpidu un'errore", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ses seguru chi cheres cantzellare sa lavagna {title}? Custa operatzione at a cantzellare totu is datos de custa lavagna.", "Delete the board?" : "Cheres cantzellare sa lavagna?", "Loading filtered view" : "Carrigamentu de sa bista cun su filtru", "No due" : "Peruna iscadèntzia", "Search for {searchQuery} in all boards" : "Chirca {searchQuery} in totu is lavagnas", "No results found" : "Perunu resurtadu agatadu", + "{stack} in {board}" : "{stack} in {board}", "No upcoming cards" : "Peruna ischeda abarrada", "upcoming cards" : "ischedas abarradas", "Link to a board" : "Collega a una tabella", @@ -283,6 +284,7 @@ "Share {file} with a Deck card" : "Cumpartzi {file} cun un'ischeda de deck", "Share" : "Cumpartzi", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck est unu trastu de organizatzione a sa moda de kanban destinadu a sa pranificatzione personale e a s'organizatzione de progetos in iscuadra integradu cun Nextcloud\n\n- 📥 Agiunghe is atividades tuas a is ischedas e mantene·ddas ordinadas\n- 📄 Iscrie notas in agiunta in markdown\n- 🔖 Assigna etichetas pro t'organizare mègius ancora\n- 👥 Cumpatzi cun s'iscuadra tua, famìlia e amigos\n- 📎 Aligongia archìvios e integra·ddos in sa descritzione tua in markdown\n- 💬 Chistiona cun s'iscuadra tua impreende is cummentos\n- ⚡ Mantene su rastru de is cummentos tuos in su flussu de atividades\n- 🚀 Organiza su progetu tuo", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ses seguru chi cheres cantzellare sa lavagna {title}? Custa operatzione at a cantzellare totu is datos de custa lavagna.", "This week" : "Custa chida" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/sk.js b/l10n/sk.js index 6667cd91d..28473e5e7 100644 --- a/l10n/sk.js +++ b/l10n/sk.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Zmeny v apke Nástenka", "A comment was created on a card" : "Na karte bol vytvorený komentár. ", "Upcoming cards" : "Nadchádzajúce karty", + "Load more" : "Načítať viac", "Personal" : "Osobné", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Používateľ %s vám priradil kartu „%s“ na „%s“.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} vám priradil kartu {deck-card} na {deck-board}.", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Skryť archivované karty", "Show archived cards" : "Zobraziť archivované karty", "Toggle compact mode" : "Vyp/zap. kompaktný režim", + "Open details" : "Otvoriť detaily", "Details" : "Podrobnosti", "Loading board" : "Načítanie nástenky", "No lists available" : "Nie sú k dispozícii žiadne zoznamy", @@ -174,7 +176,11 @@ OC.L10N.register( "Owner" : "Vlastník", "Delete" : "Zmazať", "Failed to create share with {displayName}" : "Nepodarilo sa vytvoriť sprístupnenie pre {displayName}", + "Are you sure you want to transfer the board {title} to {user}?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user}?", + "Transfer the board." : "Prenos nástenky.", "Transfer" : "Prenos", + "The board has been transferred to {user}" : "Nástenka bola presunutá na {user}", + "Failed to transfer the board to {user}" : "Chyba pri presune nástenky na {user}", "Add a new list" : "Pridať nový zoznam", "Archive all cards" : "Archivovať všetky karty", "Delete list" : "Vymazať zoznam", @@ -236,7 +242,9 @@ OC.L10N.register( "Write a description …" : "Napíšte popis...", "Choose attachment" : "Vybrať prílohu", "(group)" : "(skupina)", + "Todo items" : "Položky úloh", "{count} comments, {unread} unread" : "{count} komentárov, {unread} neprečítaných", + "Edit card title" : "Upraviť názov karty", "Assign to me" : "Priradiť mne", "Unassign myself" : "Zrušiť priradenie mne", "Move card" : "Presunúť kartu", @@ -250,6 +258,7 @@ OC.L10N.register( "All boards" : "Všetky nástenky", "Archived boards" : "Archivované nástenky", "Shared with you" : "Vám sprístupnené", + "Deck settings" : "Nastavenia paluby", "Use bigger card view" : "Použiť väčšie zobrazenie karty", "Show boards in calendar/tasks" : "Zobrazovať nástenky v kalendári/úlohách", "Limit deck usage of groups" : "Obmedziť použitie Deck na skupiny", @@ -270,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "Len priradené karty", "No reminder" : "Žiadna pripomienka", "An error occurred" : "Vyskytla sa chyba", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Naozaj chcete chcete vymazať nástenku {title}? Toto zmaže všetky údaje o tejto nástenke.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Naozaj chcete chcete vymazať nástenku {title}? Toto zmaže všetky údaje o tejto nástenke vrátane archivovaných kariet.", "Delete the board?" : "Vymazať nástenku?", "Loading filtered view" : "Načítavanie filtrovaného pohľadu", "No due" : "Žiadny termín dokončenia", "Search for {searchQuery} in all boards" : "Vyhľadať {searchQuery} na všetkých plochách", "No results found" : "Neboli nájdené žiadne výsledky", + "{stack} in {board}" : "{stack} v {board}", + "Click to expand description" : "Kliknite pre rozšírenie popisu", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Vytvorené dňa {created}\n* Naposledy upravené {lastMod}\n* {nbAttachments} príloh\n* Komentáre: {nbComments}", + "{nbCards} cards" : "{nbCards} kariet", "No upcoming cards" : "Žiadne nadchádzajúce karty", "upcoming cards" : "nadchádzajúce karty", + "Due on {date}" : "Platné do {date}", "Link to a board" : "Odkaz na nástenku", "Link to a card" : "Prepojiť s kartou", "Create a card" : "Vytvoriť kartu", @@ -290,6 +304,11 @@ OC.L10N.register( "Share {file} with a Deck card" : "Zdieľať {file} s kartou Deck", "Share" : "Zdieľať", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Karty sú nástroj zacielený na osobné alebo projektové plánovanie tímov v štýle Kanban integrovaný do Nextcloud.\n\n\n- 📥 Zadávajte a usporadúvajte svoje úlohy do kariet\n- 📄 Zapisujte si dodatočné poznámky\n- 🔖 Priraďujte štítky pre ešte lepšiu organizáciu\n- 👥 Zdieľajte so svojim tímom, priateľmi alebo rodinou\n- 🚀 Dostaňte svoj projekt pod kontrolu", - "This week" : "Tento týždeň" + "Are you sure you want to transfer the board {title} for {user} ?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user} ?", + "Transfer the board for {user} successfully" : "Presun nástenky na {user} bolo úspešné", + "Failed to transfer the board for {user}" : "Chyba pri presune nástenky na {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Naozaj chcete chcete vymazať nástenku {title}? Toto zmaže všetky údaje o tejto nástenke.", + "This week" : "Tento týždeň", + "Are you sure you want to transfer the board {title} for {user}?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user}?" }, "nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"); diff --git a/l10n/sk.json b/l10n/sk.json index 3abca3a53..d52045bfd 100644 --- a/l10n/sk.json +++ b/l10n/sk.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Zmeny v apke Nástenka", "A comment was created on a card" : "Na karte bol vytvorený komentár. ", "Upcoming cards" : "Nadchádzajúce karty", + "Load more" : "Načítať viac", "Personal" : "Osobné", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Používateľ %s vám priradil kartu „%s“ na „%s“.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} vám priradil kartu {deck-card} na {deck-board}.", @@ -148,6 +149,7 @@ "Hide archived cards" : "Skryť archivované karty", "Show archived cards" : "Zobraziť archivované karty", "Toggle compact mode" : "Vyp/zap. kompaktný režim", + "Open details" : "Otvoriť detaily", "Details" : "Podrobnosti", "Loading board" : "Načítanie nástenky", "No lists available" : "Nie sú k dispozícii žiadne zoznamy", @@ -172,7 +174,11 @@ "Owner" : "Vlastník", "Delete" : "Zmazať", "Failed to create share with {displayName}" : "Nepodarilo sa vytvoriť sprístupnenie pre {displayName}", + "Are you sure you want to transfer the board {title} to {user}?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user}?", + "Transfer the board." : "Prenos nástenky.", "Transfer" : "Prenos", + "The board has been transferred to {user}" : "Nástenka bola presunutá na {user}", + "Failed to transfer the board to {user}" : "Chyba pri presune nástenky na {user}", "Add a new list" : "Pridať nový zoznam", "Archive all cards" : "Archivovať všetky karty", "Delete list" : "Vymazať zoznam", @@ -234,7 +240,9 @@ "Write a description …" : "Napíšte popis...", "Choose attachment" : "Vybrať prílohu", "(group)" : "(skupina)", + "Todo items" : "Položky úloh", "{count} comments, {unread} unread" : "{count} komentárov, {unread} neprečítaných", + "Edit card title" : "Upraviť názov karty", "Assign to me" : "Priradiť mne", "Unassign myself" : "Zrušiť priradenie mne", "Move card" : "Presunúť kartu", @@ -248,6 +256,7 @@ "All boards" : "Všetky nástenky", "Archived boards" : "Archivované nástenky", "Shared with you" : "Vám sprístupnené", + "Deck settings" : "Nastavenia paluby", "Use bigger card view" : "Použiť väčšie zobrazenie karty", "Show boards in calendar/tasks" : "Zobrazovať nástenky v kalendári/úlohách", "Limit deck usage of groups" : "Obmedziť použitie Deck na skupiny", @@ -268,14 +277,19 @@ "Only assigned cards" : "Len priradené karty", "No reminder" : "Žiadna pripomienka", "An error occurred" : "Vyskytla sa chyba", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Naozaj chcete chcete vymazať nástenku {title}? Toto zmaže všetky údaje o tejto nástenke.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Naozaj chcete chcete vymazať nástenku {title}? Toto zmaže všetky údaje o tejto nástenke vrátane archivovaných kariet.", "Delete the board?" : "Vymazať nástenku?", "Loading filtered view" : "Načítavanie filtrovaného pohľadu", "No due" : "Žiadny termín dokončenia", "Search for {searchQuery} in all boards" : "Vyhľadať {searchQuery} na všetkých plochách", "No results found" : "Neboli nájdené žiadne výsledky", + "{stack} in {board}" : "{stack} v {board}", + "Click to expand description" : "Kliknite pre rozšírenie popisu", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Vytvorené dňa {created}\n* Naposledy upravené {lastMod}\n* {nbAttachments} príloh\n* Komentáre: {nbComments}", + "{nbCards} cards" : "{nbCards} kariet", "No upcoming cards" : "Žiadne nadchádzajúce karty", "upcoming cards" : "nadchádzajúce karty", + "Due on {date}" : "Platné do {date}", "Link to a board" : "Odkaz na nástenku", "Link to a card" : "Prepojiť s kartou", "Create a card" : "Vytvoriť kartu", @@ -288,6 +302,11 @@ "Share {file} with a Deck card" : "Zdieľať {file} s kartou Deck", "Share" : "Zdieľať", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Karty sú nástroj zacielený na osobné alebo projektové plánovanie tímov v štýle Kanban integrovaný do Nextcloud.\n\n\n- 📥 Zadávajte a usporadúvajte svoje úlohy do kariet\n- 📄 Zapisujte si dodatočné poznámky\n- 🔖 Priraďujte štítky pre ešte lepšiu organizáciu\n- 👥 Zdieľajte so svojim tímom, priateľmi alebo rodinou\n- 🚀 Dostaňte svoj projekt pod kontrolu", - "This week" : "Tento týždeň" + "Are you sure you want to transfer the board {title} for {user} ?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user} ?", + "Transfer the board for {user} successfully" : "Presun nástenky na {user} bolo úspešné", + "Failed to transfer the board for {user}" : "Chyba pri presune nástenky na {user}", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Naozaj chcete chcete vymazať nástenku {title}? Toto zmaže všetky údaje o tejto nástenke.", + "This week" : "Tento týždeň", + "Are you sure you want to transfer the board {title} for {user}?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user}?" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);" } \ No newline at end of file diff --git a/l10n/sl.js b/l10n/sl.js index 20d0cd8e8..40da60332 100644 --- a/l10n/sl.js +++ b/l10n/sl.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Spremembe v programu Deck", "A comment was created on a card" : "Nalogi je dodana nova opomba", "Upcoming cards" : "Prihajajoče naloge", + "Load more" : "Naloži več", "Personal" : "Osebno", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Nalogo »%s« na »%s« vam dodeli %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} vam dodeli nalogo »{deck-card}« na »{deck-board}«.", @@ -147,6 +148,7 @@ OC.L10N.register( "Hide archived cards" : "Skrij arhivirane naloge", "Show archived cards" : "Prikaži arhivirane naloge", "Toggle compact mode" : "Preklopi način prikaza", + "Open details" : "Odpri podrobnosti", "Details" : "Podrobnosti", "Loading board" : "Poteka nalaganje zbirke", "No lists available" : "Ni razpoložljivih seznamov", @@ -266,12 +268,12 @@ OC.L10N.register( "Only assigned cards" : "Le dodeljene naloge", "No reminder" : "Ni vpisanih opomnikov", "An error occurred" : "Prišlo je do napake.", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ali ste prepričani, da želite izbrisati zbirko »{title}«? S tem boste izbrisali tudi vse podatke zbirke.", "Delete the board?" : "Ali želite izbrisati zbirko?", "Loading filtered view" : "Poteka nalaganje filtriranega pogleda", "No due" : "Ni datuma preteka", "Search for {searchQuery} in all boards" : "Poišči {searchQuery} med vsemi zbirkami nalog.", "No results found" : "Ni najdenih zadetkov", + "{stack} in {board}" : "{stack} v {board}", "No upcoming cards" : "Ni prihajajočih nalog", "upcoming cards" : "prihajajoče naloge", "Link to a board" : "Povezava do zbirke", @@ -286,6 +288,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "Poveži datoteko {file} z nalogo Deck", "Share" : "Souporaba", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Program Deck je orodje za osebno načrtovanje in projektno delo v slogu kanban, ki se izvrstno vključuje v okolje Nextcloud.\n\nOrodje omogoča:\n- 📥 dodajanje in urejanje nalog\n- 📄 zapis dodatnih opomb v zapisu markdown\n- 🔖 dodeljevanje oznak za lažje urejanje in iskanje\n- 👥 souporabo v skupini, s prijatelji ali družino\n- 📎 pripenjanje in vstavljanje datotek v opise\n- 💬 opombe k posamezni nalogi\n- ⚡ sledenje spremembam in dejavnosti\n- 🚀 Organizaciji projekta", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ali ste prepričani, da želite izbrisati zbirko »{title}«? S tem boste izbrisali tudi vse podatke zbirke.", "This week" : "Ta teden" }, "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/l10n/sl.json b/l10n/sl.json index 6da44b2ca..bf7124ac7 100644 --- a/l10n/sl.json +++ b/l10n/sl.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Spremembe v programu Deck", "A comment was created on a card" : "Nalogi je dodana nova opomba", "Upcoming cards" : "Prihajajoče naloge", + "Load more" : "Naloži več", "Personal" : "Osebno", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Nalogo »%s« na »%s« vam dodeli %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} vam dodeli nalogo »{deck-card}« na »{deck-board}«.", @@ -145,6 +146,7 @@ "Hide archived cards" : "Skrij arhivirane naloge", "Show archived cards" : "Prikaži arhivirane naloge", "Toggle compact mode" : "Preklopi način prikaza", + "Open details" : "Odpri podrobnosti", "Details" : "Podrobnosti", "Loading board" : "Poteka nalaganje zbirke", "No lists available" : "Ni razpoložljivih seznamov", @@ -264,12 +266,12 @@ "Only assigned cards" : "Le dodeljene naloge", "No reminder" : "Ni vpisanih opomnikov", "An error occurred" : "Prišlo je do napake.", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ali ste prepričani, da želite izbrisati zbirko »{title}«? S tem boste izbrisali tudi vse podatke zbirke.", "Delete the board?" : "Ali želite izbrisati zbirko?", "Loading filtered view" : "Poteka nalaganje filtriranega pogleda", "No due" : "Ni datuma preteka", "Search for {searchQuery} in all boards" : "Poišči {searchQuery} med vsemi zbirkami nalog.", "No results found" : "Ni najdenih zadetkov", + "{stack} in {board}" : "{stack} v {board}", "No upcoming cards" : "Ni prihajajočih nalog", "upcoming cards" : "prihajajoče naloge", "Link to a board" : "Povezava do zbirke", @@ -284,6 +286,7 @@ "Share {file} with a Deck card" : "Poveži datoteko {file} z nalogo Deck", "Share" : "Souporaba", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Program Deck je orodje za osebno načrtovanje in projektno delo v slogu kanban, ki se izvrstno vključuje v okolje Nextcloud.\n\nOrodje omogoča:\n- 📥 dodajanje in urejanje nalog\n- 📄 zapis dodatnih opomb v zapisu markdown\n- 🔖 dodeljevanje oznak za lažje urejanje in iskanje\n- 👥 souporabo v skupini, s prijatelji ali družino\n- 📎 pripenjanje in vstavljanje datotek v opise\n- 💬 opombe k posamezni nalogi\n- ⚡ sledenje spremembam in dejavnosti\n- 🚀 Organizaciji projekta", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ali ste prepričani, da želite izbrisati zbirko »{title}«? S tem boste izbrisali tudi vse podatke zbirke.", "This week" : "Ta teden" },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" } \ No newline at end of file diff --git a/l10n/sq.js b/l10n/sq.js index 55a0e1ea3..a8a2f4f5a 100644 --- a/l10n/sq.js +++ b/l10n/sq.js @@ -24,6 +24,7 @@ OC.L10N.register( "Add card" : "Shto kartë", "Hide archived cards" : "Fsheh kartat e arkivuara ", "Show archived cards" : "Trego kartat e arkivuara", + "Open details" : "Hapni detajet", "Details" : "Detajet", "Sharing" : "Ndarje", "Tags" : "Etiketa", diff --git a/l10n/sq.json b/l10n/sq.json index 3049d8874..c73bda776 100644 --- a/l10n/sq.json +++ b/l10n/sq.json @@ -22,6 +22,7 @@ "Add card" : "Shto kartë", "Hide archived cards" : "Fsheh kartat e arkivuara ", "Show archived cards" : "Trego kartat e arkivuara", + "Open details" : "Hapni detajet", "Details" : "Detajet", "Sharing" : "Ndarje", "Tags" : "Etiketa", diff --git a/l10n/sr.js b/l10n/sr.js index 1f21958db..52e2d913f 100644 --- a/l10n/sr.js +++ b/l10n/sr.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Измене у Deck апликацији", "A comment was created on a card" : "Направљен је коментар на картици", "Upcoming cards" : "Предстојеће картице", + "Load more" : "Учитај још", "Personal" : "Лично", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Корисник %s Вам је доделио картицу „%s“ са табле „%s“.", "The card \"%s\" on \"%s\" has reached its due date." : "Картици „%s“ на табли „%s“ је истекао рок.", @@ -136,6 +137,7 @@ OC.L10N.register( "Hide archived cards" : "Сакриј архивиране картице", "Show archived cards" : "Прикажи архивиране картице", "Toggle compact mode" : "Укључи/искључи компактни режим", + "Open details" : "Отвори детаље", "Details" : "Детаљи", "Loading board" : "Учитавам таблу", "No lists available" : "Нема доступних спискова", @@ -236,7 +238,6 @@ OC.L10N.register( "Delete board" : "Избриши таблу", "Board {0} deleted" : "Табла {0} обрисана", "An error occurred" : "Догодила се грешка", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Да ли стварно желите да обришете таблу {title}? Овим ћете обрисати све податке са табле.", "Delete the board?" : "Обрисати таблу?", "Loading filtered view" : "Учитам филтрирани преглед", "No due" : "Нема рокова", @@ -250,6 +251,7 @@ OC.L10N.register( "Error creating the share" : "Грешка при прављењу дељења", "Share" : "Подели", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck је алатка канбан организационог стила намењена за лично планирање и организацију пројеката за тимове интегрисане са Некстклаудом.\n\n\n- 📥 Додајте Ваше задатке на картице и распоређујте их како желите\n- 📄 Допишите додатне белешке markdown синтаксом\n- 🔖 Додељујте ознаке за још боље организовање\n- 👥 Делите са Вашим тимом, пријатељима или породицом\n- 📎 Качите фајлове и уградите их у Ваш markdown опис\n- 💬 Дискутујте са тимом преко коментара\n- ⚡ Пазите на промене коришћењем тока активности\n- 🚀 Организујте Ваше пројекте", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Да ли стварно желите да обришете таблу {title}? Овим ћете обрисати све податке са табле.", "This week" : "Ове недеље" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); diff --git a/l10n/sr.json b/l10n/sr.json index 02633eceb..013462cec 100644 --- a/l10n/sr.json +++ b/l10n/sr.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Измене у Deck апликацији", "A comment was created on a card" : "Направљен је коментар на картици", "Upcoming cards" : "Предстојеће картице", + "Load more" : "Учитај још", "Personal" : "Лично", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Корисник %s Вам је доделио картицу „%s“ са табле „%s“.", "The card \"%s\" on \"%s\" has reached its due date." : "Картици „%s“ на табли „%s“ је истекао рок.", @@ -134,6 +135,7 @@ "Hide archived cards" : "Сакриј архивиране картице", "Show archived cards" : "Прикажи архивиране картице", "Toggle compact mode" : "Укључи/искључи компактни режим", + "Open details" : "Отвори детаље", "Details" : "Детаљи", "Loading board" : "Учитавам таблу", "No lists available" : "Нема доступних спискова", @@ -234,7 +236,6 @@ "Delete board" : "Избриши таблу", "Board {0} deleted" : "Табла {0} обрисана", "An error occurred" : "Догодила се грешка", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Да ли стварно желите да обришете таблу {title}? Овим ћете обрисати све податке са табле.", "Delete the board?" : "Обрисати таблу?", "Loading filtered view" : "Учитам филтрирани преглед", "No due" : "Нема рокова", @@ -248,6 +249,7 @@ "Error creating the share" : "Грешка при прављењу дељења", "Share" : "Подели", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck је алатка канбан организационог стила намењена за лично планирање и организацију пројеката за тимове интегрисане са Некстклаудом.\n\n\n- 📥 Додајте Ваше задатке на картице и распоређујте их како желите\n- 📄 Допишите додатне белешке markdown синтаксом\n- 🔖 Додељујте ознаке за још боље организовање\n- 👥 Делите са Вашим тимом, пријатељима или породицом\n- 📎 Качите фајлове и уградите их у Ваш markdown опис\n- 💬 Дискутујте са тимом преко коментара\n- ⚡ Пазите на промене коришћењем тока активности\n- 🚀 Организујте Ваше пројекте", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Да ли стварно желите да обришете таблу {title}? Овим ћете обрисати све податке са табле.", "This week" : "Ове недеље" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" } \ No newline at end of file diff --git a/l10n/sv.js b/l10n/sv.js index bbc219050..ed64cdb9d 100644 --- a/l10n/sv.js +++ b/l10n/sv.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Ändringar i Deck-appen", "A comment was created on a card" : "En kommentar skapades på ett kort", "Upcoming cards" : "Kommande kort", + "Load more" : "Ladda mer", "Personal" : "Personlig", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortet \"%s\" på \"%s\" har tilldelats dig av %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} har tilldelat kortet {deck-card} från {deck-board} till dig.", @@ -149,6 +150,7 @@ OC.L10N.register( "Hide archived cards" : "Göm arkiverade kort", "Show archived cards" : "Visa arkiverade kort", "Toggle compact mode" : "Växla kompakt läge", + "Open details" : "Öppna detaljer", "Details" : "Detaljer", "Loading board" : "Läser in tavla", "No lists available" : "Inga listor tillgängliga", @@ -269,7 +271,6 @@ OC.L10N.register( "Only assigned cards" : "Bara tilldelade kort", "No reminder" : "Ingen påminnelse", "An error occurred" : "Ett fel uppstod", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Är du säker på att du vill radera tavla {title}? Detta kommer att radera all information från denna tavla.", "Delete the board?" : "Ta bort tavlan?", "Loading filtered view" : "Laddar filtrerad vy", "No due" : "Inget slut", @@ -289,6 +290,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "Dela {file} med ett Deck-kort", "Share" : "Dela", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck är en kanban-liknande projekt- och organiseringsapp för arbetsgrupper i Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och ordna dem\n- 📄 Skriv anteckningar i markdown\n- 🔖 Tilldela etiketter för organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i markdown-anteckningarna\n- 💬 Diskutera i arbetsgruppen genom kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Börja organisera din arbetsgrupp nu!", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Är du säker på att du vill radera tavla {title}? Detta kommer att radera all information från denna tavla.", "This week" : "Denna vecka" }, "nplurals=2; plural=(n != 1);"); diff --git a/l10n/sv.json b/l10n/sv.json index 892ace090..151107f32 100644 --- a/l10n/sv.json +++ b/l10n/sv.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Ändringar i Deck-appen", "A comment was created on a card" : "En kommentar skapades på ett kort", "Upcoming cards" : "Kommande kort", + "Load more" : "Ladda mer", "Personal" : "Personlig", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortet \"%s\" på \"%s\" har tilldelats dig av %s.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} har tilldelat kortet {deck-card} från {deck-board} till dig.", @@ -147,6 +148,7 @@ "Hide archived cards" : "Göm arkiverade kort", "Show archived cards" : "Visa arkiverade kort", "Toggle compact mode" : "Växla kompakt läge", + "Open details" : "Öppna detaljer", "Details" : "Detaljer", "Loading board" : "Läser in tavla", "No lists available" : "Inga listor tillgängliga", @@ -267,7 +269,6 @@ "Only assigned cards" : "Bara tilldelade kort", "No reminder" : "Ingen påminnelse", "An error occurred" : "Ett fel uppstod", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Är du säker på att du vill radera tavla {title}? Detta kommer att radera all information från denna tavla.", "Delete the board?" : "Ta bort tavlan?", "Loading filtered view" : "Laddar filtrerad vy", "No due" : "Inget slut", @@ -287,6 +288,7 @@ "Share {file} with a Deck card" : "Dela {file} med ett Deck-kort", "Share" : "Dela", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck är en kanban-liknande projekt- och organiseringsapp för arbetsgrupper i Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och ordna dem\n- 📄 Skriv anteckningar i markdown\n- 🔖 Tilldela etiketter för organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i markdown-anteckningarna\n- 💬 Diskutera i arbetsgruppen genom kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Börja organisera din arbetsgrupp nu!", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Är du säker på att du vill radera tavla {title}? Detta kommer att radera all information från denna tavla.", "This week" : "Denna vecka" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/l10n/tr.js b/l10n/tr.js index f4cf1c1c4..3696da062 100644 --- a/l10n/tr.js +++ b/l10n/tr.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Tahta uygulamasındaki değişiklikler", "A comment was created on a card" : "Bir kart için bir yorum yapıldı", "Upcoming cards" : "Yaklaşan kartlar", + "Load more" : "Diğerlerini yükle", "Personal" : "Kişisel", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "\"%s\" kartı \"%s\" zamanında %s tarafından size atandı.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user}, {deck-board} panosundaki {deck-card} kartını size atadı.", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "Arşivlenmiş kartları gizle", "Show archived cards" : "Arşivlenmiş kartları görüntüle", "Toggle compact mode" : "Sıkışık kipi değiştir", + "Open details" : "Ayrıntıları aç", "Details" : "Ayrıntılar", "Loading board" : "Pano yükleniyor", "No lists available" : "Kullanılabilecek bir liste yok", @@ -277,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "Yalnızca atanmış kartlar", "No reminder" : "Anımsatıcı yok", "An error occurred" : "Bir sorun çıktı", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "{title} panosunu silmek istediğinize emin misiniz? Bu işlem, bu panodaki tüm verileri silecek.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "{title} panosunu silmek istediğinize emin misiniz? Bu işlem, bu panodaki ve arşivlenmiş kartlarındaki tüm verileri silecek.", "Delete the board?" : "Pano silinsin mi?", "Loading filtered view" : "Süzülmüş görünüm yükleniyor", "No due" : "Bitiş yok", "Search for {searchQuery} in all boards" : "Tüm panolarda {searchQuery} için sonuçlar", "No results found" : "Herhangi bir sonuç bulunamadı", + "{stack} in {board}" : "{stack} {board} panosunda", + "Click to expand description" : "Açıklamayı genişletmek için tıklayın", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Oluşturulma: {created}\n* Son değiştirilme: {lastMod}\n* {nbAttachments} ek dosya\n* {nbComments} yorum", + "{nbCards} cards" : "{nbCards} kart", "No upcoming cards" : "Yaklaşan bir kart yok", "upcoming cards" : "yaklaşan kartlar", + "Due on {date}" : "{date} tarihinde bitecek", "Link to a board" : "Bir pano ile ilişkilendir", "Link to a card" : "Bir kart ile ilişkilendir", "Create a card" : "Bir kart ekle", @@ -300,6 +307,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "{title} panosunu {user} kullanıcısına aktarmak istediğinize emin misiniz?", "Transfer the board for {user} successfully" : "Pano {user} kullanıcısına aktarıldı", "Failed to transfer the board for {user}" : "Pano {user} kullanıcısına aktarılamadı", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "{title} panosunu silmek istediğinize emin misiniz? Bu işlem, bu panodaki tüm verileri silecek.", "This week" : "Bu hafta", "Are you sure you want to transfer the board {title} for {user}?" : "{title} panosunu {user} kullanıcısına aktarmak istediğinize emin misiniz?" }, diff --git a/l10n/tr.json b/l10n/tr.json index 8e4466c63..9c85a4ae6 100644 --- a/l10n/tr.json +++ b/l10n/tr.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Tahta uygulamasındaki değişiklikler", "A comment was created on a card" : "Bir kart için bir yorum yapıldı", "Upcoming cards" : "Yaklaşan kartlar", + "Load more" : "Diğerlerini yükle", "Personal" : "Kişisel", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "\"%s\" kartı \"%s\" zamanında %s tarafından size atandı.", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user}, {deck-board} panosundaki {deck-card} kartını size atadı.", @@ -148,6 +149,7 @@ "Hide archived cards" : "Arşivlenmiş kartları gizle", "Show archived cards" : "Arşivlenmiş kartları görüntüle", "Toggle compact mode" : "Sıkışık kipi değiştir", + "Open details" : "Ayrıntıları aç", "Details" : "Ayrıntılar", "Loading board" : "Pano yükleniyor", "No lists available" : "Kullanılabilecek bir liste yok", @@ -275,14 +277,19 @@ "Only assigned cards" : "Yalnızca atanmış kartlar", "No reminder" : "Anımsatıcı yok", "An error occurred" : "Bir sorun çıktı", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "{title} panosunu silmek istediğinize emin misiniz? Bu işlem, bu panodaki tüm verileri silecek.", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "{title} panosunu silmek istediğinize emin misiniz? Bu işlem, bu panodaki ve arşivlenmiş kartlarındaki tüm verileri silecek.", "Delete the board?" : "Pano silinsin mi?", "Loading filtered view" : "Süzülmüş görünüm yükleniyor", "No due" : "Bitiş yok", "Search for {searchQuery} in all boards" : "Tüm panolarda {searchQuery} için sonuçlar", "No results found" : "Herhangi bir sonuç bulunamadı", + "{stack} in {board}" : "{stack} {board} panosunda", + "Click to expand description" : "Açıklamayı genişletmek için tıklayın", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Oluşturulma: {created}\n* Son değiştirilme: {lastMod}\n* {nbAttachments} ek dosya\n* {nbComments} yorum", + "{nbCards} cards" : "{nbCards} kart", "No upcoming cards" : "Yaklaşan bir kart yok", "upcoming cards" : "yaklaşan kartlar", + "Due on {date}" : "{date} tarihinde bitecek", "Link to a board" : "Bir pano ile ilişkilendir", "Link to a card" : "Bir kart ile ilişkilendir", "Create a card" : "Bir kart ekle", @@ -298,6 +305,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "{title} panosunu {user} kullanıcısına aktarmak istediğinize emin misiniz?", "Transfer the board for {user} successfully" : "Pano {user} kullanıcısına aktarıldı", "Failed to transfer the board for {user}" : "Pano {user} kullanıcısına aktarılamadı", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "{title} panosunu silmek istediğinize emin misiniz? Bu işlem, bu panodaki tüm verileri silecek.", "This week" : "Bu hafta", "Are you sure you want to transfer the board {title} for {user}?" : "{title} panosunu {user} kullanıcısına aktarmak istediğinize emin misiniz?" },"pluralForm" :"nplurals=2; plural=(n > 1);" diff --git a/l10n/uk.js b/l10n/uk.js index 57b99081c..baf53233a 100644 --- a/l10n/uk.js +++ b/l10n/uk.js @@ -12,9 +12,31 @@ OC.L10N.register( "You have removed {acl} from the board {board}" : "Ви вилучили {acl} з дошки {board}", "{user} has removed {acl} from the board {board}" : "{user} вилучив {acl} з дошки {board}", "You have renamed the board {before} to {board}" : "Ви перейменували дошку з {before} у {board}", + "{user} has renamed the board {before} to {board}" : "{user} змінив назву дошки {before} на {board}", + "You have archived the board {board}" : "Ви заархівували дошку {board}", + "{user} has archived the board {before}" : "{user} заархівував дошку {before}", + "You have unarchived the board {board}" : "Ви розархівували дошку {board}", + "{user} has unarchived the board {before}" : "{user} розархівував дошку {перед}", + "You have created a new list {stack} on board {board}" : "Ви створили новий список {stack} на борту {board}", + "{user} has created a new list {stack} on board {board}" : "{user} створив новий список {stack} на дошці {board}", + "You have renamed list {before} to {stack} on board {board}" : "Ви перейменували список {before} на {stack} на дошці {board}", + "{user} has renamed list {before} to {stack} on board {board}" : "{user} змінив назву списку {before} на {stack} на дошці {board}", + "You have deleted list {stack} on board {board}" : "Ви видалили список {stack} на дошці {board}", + "{user} has deleted list {stack} on board {board}" : "{user} видалив список {stack} на дошці {board}", + "You have created card {card} in list {stack} on board {board}" : "Ви створили картку {card} у списку {stack} на дошці {board}", + "{user} has created card {card} in list {stack} on board {board}" : "{user} створив картку {card} у списку {stack} на дошці {board}", + "You have deleted card {card} in list {stack} on board {board}" : "Ви видалили картку {card} у списку {stack} на дошці {board}", + "{user} has deleted card {card} in list {stack} on board {board}" : "{user} видалив картку {card} у списку {stack} на дошці {board}", + "You have renamed the card {before} to {card}" : "Ви перейменували картку {before} на {card}", + "{user} has renamed the card {before} to {card}" : "{user} змінив назву картки {before} на {card}", + "You have added a description to card {card} in list {stack} on board {board}" : "Ви додали опис картки {card} у списку {stack} на дошці {board}", + "{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав опис до картки {card} у списку {stack} на дошці {board}", + "You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}", "Deck" : "Колода", "Changes in the Deck app" : "Зміни у застосунку Колода", + "Load more" : "Більше", "Personal" : "Особисте", + "%s on %s" : "%s на %s", "Finished" : "Завершено", "To review" : "На перегляд", "Action needed" : "Потребує дій", @@ -31,10 +53,12 @@ OC.L10N.register( "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Розмір вивантаженого файлу перевищує директиву MAX_FILE_SIZE вказану в HTML формі", "The file was only partially uploaded" : "Файл завантажено лише частково", "No file was uploaded" : "Не вивантажено жодного файлу", - "Missing a temporary folder" : "Відсутня тека для тимчасових файлів", + "Missing a temporary folder" : "Відсутній каталог тимчасових файлів", "Could not write file to disk" : "Неможливо записати файл на диск", "A PHP extension stopped the file upload" : "Розширення PHP призупинило завантаження файлу", + "No file uploaded or file size exceeds maximum of %s" : "Немає завантажених файлів або розмір файлу перевищує максимум %s", "Card not found" : "Картку не знайдено", + "Invalid date, date format must be YYYY-MM-DD" : "Недійсна дата, формат дати має бути РРРР-ММ-ДД", "Card details" : "Деталі картки", "Add board" : "Додати дошку", "Select the board to link to a project" : "Виберіть дошку для прив'зки до проєкту", @@ -74,7 +98,7 @@ OC.L10N.register( "Details" : "Деталі", "Loading board" : "Завантаження дошки", "Board not found" : "Дошку не знайдено", - "Sharing" : "Поділитись", + "Sharing" : "Поділитися", "Tags" : "Теги", "Deleted items" : "Вилучені елементи", "Timeline" : "Дії", @@ -146,6 +170,7 @@ OC.L10N.register( "All boards" : "Усі дошки", "Archived boards" : "Архівні дошки", "Shared with you" : "Вам надано доступ", + "Show boards in calendar/tasks" : "Показувати дошки в календарі та завданнях", "Limit deck usage of groups" : "Обмежити доступ до колоди для груп", "Board details" : "Деталі дошки", "Edit board" : "Редагувати дошку", @@ -155,12 +180,16 @@ OC.L10N.register( "No notifications" : "Немає сповіщень", "Delete board" : "Вилучити дошку", "Board {0} deleted" : "Дошку {0} вилучено", + "No reminder" : "Відсутні нагадування", "An error occurred" : "Виникла помилка", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ви впевнені, що хочете видалити дошку {title}? Це призведе до видалення всіх даних цієї дошки, включаючи архівні картки.", "Delete the board?" : "Вилучити дошку?", "Link to a board" : "Прив'язати до дошки", "Link to a card" : "Прив'язати до картки", + "Message from {author} in {conversationName}" : "Повідомлення від {author} у {conversationName}", "Something went wrong" : "От халепа!", "Maximum file size of {size} exceeded" : "Досягнуто максимальний розмір файлу {size}", + "Error creating the share" : "Помилка створення спільного доступу", "Share" : "Поділитися", "This week" : "Цього тижня" }, diff --git a/l10n/uk.json b/l10n/uk.json index 7e7ee1b12..06f38a5eb 100644 --- a/l10n/uk.json +++ b/l10n/uk.json @@ -10,9 +10,31 @@ "You have removed {acl} from the board {board}" : "Ви вилучили {acl} з дошки {board}", "{user} has removed {acl} from the board {board}" : "{user} вилучив {acl} з дошки {board}", "You have renamed the board {before} to {board}" : "Ви перейменували дошку з {before} у {board}", + "{user} has renamed the board {before} to {board}" : "{user} змінив назву дошки {before} на {board}", + "You have archived the board {board}" : "Ви заархівували дошку {board}", + "{user} has archived the board {before}" : "{user} заархівував дошку {before}", + "You have unarchived the board {board}" : "Ви розархівували дошку {board}", + "{user} has unarchived the board {before}" : "{user} розархівував дошку {перед}", + "You have created a new list {stack} on board {board}" : "Ви створили новий список {stack} на борту {board}", + "{user} has created a new list {stack} on board {board}" : "{user} створив новий список {stack} на дошці {board}", + "You have renamed list {before} to {stack} on board {board}" : "Ви перейменували список {before} на {stack} на дошці {board}", + "{user} has renamed list {before} to {stack} on board {board}" : "{user} змінив назву списку {before} на {stack} на дошці {board}", + "You have deleted list {stack} on board {board}" : "Ви видалили список {stack} на дошці {board}", + "{user} has deleted list {stack} on board {board}" : "{user} видалив список {stack} на дошці {board}", + "You have created card {card} in list {stack} on board {board}" : "Ви створили картку {card} у списку {stack} на дошці {board}", + "{user} has created card {card} in list {stack} on board {board}" : "{user} створив картку {card} у списку {stack} на дошці {board}", + "You have deleted card {card} in list {stack} on board {board}" : "Ви видалили картку {card} у списку {stack} на дошці {board}", + "{user} has deleted card {card} in list {stack} on board {board}" : "{user} видалив картку {card} у списку {stack} на дошці {board}", + "You have renamed the card {before} to {card}" : "Ви перейменували картку {before} на {card}", + "{user} has renamed the card {before} to {card}" : "{user} змінив назву картки {before} на {card}", + "You have added a description to card {card} in list {stack} on board {board}" : "Ви додали опис картки {card} у списку {stack} на дошці {board}", + "{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав опис до картки {card} у списку {stack} на дошці {board}", + "You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}", "Deck" : "Колода", "Changes in the Deck app" : "Зміни у застосунку Колода", + "Load more" : "Більше", "Personal" : "Особисте", + "%s on %s" : "%s на %s", "Finished" : "Завершено", "To review" : "На перегляд", "Action needed" : "Потребує дій", @@ -29,10 +51,12 @@ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Розмір вивантаженого файлу перевищує директиву MAX_FILE_SIZE вказану в HTML формі", "The file was only partially uploaded" : "Файл завантажено лише частково", "No file was uploaded" : "Не вивантажено жодного файлу", - "Missing a temporary folder" : "Відсутня тека для тимчасових файлів", + "Missing a temporary folder" : "Відсутній каталог тимчасових файлів", "Could not write file to disk" : "Неможливо записати файл на диск", "A PHP extension stopped the file upload" : "Розширення PHP призупинило завантаження файлу", + "No file uploaded or file size exceeds maximum of %s" : "Немає завантажених файлів або розмір файлу перевищує максимум %s", "Card not found" : "Картку не знайдено", + "Invalid date, date format must be YYYY-MM-DD" : "Недійсна дата, формат дати має бути РРРР-ММ-ДД", "Card details" : "Деталі картки", "Add board" : "Додати дошку", "Select the board to link to a project" : "Виберіть дошку для прив'зки до проєкту", @@ -72,7 +96,7 @@ "Details" : "Деталі", "Loading board" : "Завантаження дошки", "Board not found" : "Дошку не знайдено", - "Sharing" : "Поділитись", + "Sharing" : "Поділитися", "Tags" : "Теги", "Deleted items" : "Вилучені елементи", "Timeline" : "Дії", @@ -144,6 +168,7 @@ "All boards" : "Усі дошки", "Archived boards" : "Архівні дошки", "Shared with you" : "Вам надано доступ", + "Show boards in calendar/tasks" : "Показувати дошки в календарі та завданнях", "Limit deck usage of groups" : "Обмежити доступ до колоди для груп", "Board details" : "Деталі дошки", "Edit board" : "Редагувати дошку", @@ -153,12 +178,16 @@ "No notifications" : "Немає сповіщень", "Delete board" : "Вилучити дошку", "Board {0} deleted" : "Дошку {0} вилучено", + "No reminder" : "Відсутні нагадування", "An error occurred" : "Виникла помилка", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ви впевнені, що хочете видалити дошку {title}? Це призведе до видалення всіх даних цієї дошки, включаючи архівні картки.", "Delete the board?" : "Вилучити дошку?", "Link to a board" : "Прив'язати до дошки", "Link to a card" : "Прив'язати до картки", + "Message from {author} in {conversationName}" : "Повідомлення від {author} у {conversationName}", "Something went wrong" : "От халепа!", "Maximum file size of {size} exceeded" : "Досягнуто максимальний розмір файлу {size}", + "Error creating the share" : "Помилка створення спільного доступу", "Share" : "Поділитися", "This week" : "Цього тижня" },"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);" diff --git a/l10n/uz.js b/l10n/uz.js new file mode 100644 index 000000000..f3d110ec4 --- /dev/null +++ b/l10n/uz.js @@ -0,0 +1,25 @@ +OC.L10N.register( + "deck", + { + "Personal" : "Personal", + "copy" : "copy", + "Done" : "Done", + "Cancel" : "Cancel", + "Close" : "Close", + "Details" : "Details", + "Sharing" : "Ulashish", + "Tags" : "Tags", + "Can edit" : "Can edit", + "Owner" : "Owner", + "Delete" : "Delete", + "Download" : "Download", + "Comments" : "Comments", + "Modified" : "Modified", + "Today" : "Today", + "Save" : "Save", + "Update" : "Update", + "seconds ago" : "seconds ago", + "Shared with you" : "Shared with you", + "This week" : "This week" +}, +"nplurals=1; plural=0;"); diff --git a/l10n/uz.json b/l10n/uz.json new file mode 100644 index 000000000..ade766b9f --- /dev/null +++ b/l10n/uz.json @@ -0,0 +1,23 @@ +{ "translations": { + "Personal" : "Personal", + "copy" : "copy", + "Done" : "Done", + "Cancel" : "Cancel", + "Close" : "Close", + "Details" : "Details", + "Sharing" : "Ulashish", + "Tags" : "Tags", + "Can edit" : "Can edit", + "Owner" : "Owner", + "Delete" : "Delete", + "Download" : "Download", + "Comments" : "Comments", + "Modified" : "Modified", + "Today" : "Today", + "Save" : "Save", + "Update" : "Update", + "seconds ago" : "seconds ago", + "Shared with you" : "Shared with you", + "This week" : "This week" +},"pluralForm" :"nplurals=1; plural=0;" +} \ No newline at end of file diff --git a/l10n/vi.js b/l10n/vi.js index fda5d9e99..16c273bbf 100644 --- a/l10n/vi.js +++ b/l10n/vi.js @@ -19,6 +19,7 @@ OC.L10N.register( "{user} has renamed the card {before} to {card}" : "{user} đã thay đổi tên của tác vụ {before} thành {card}", "Deck" : "Kế hoạch", "Upcoming cards" : "Thẻ sắp đến", + "Load more" : "Tải thêm", "Personal" : "Cá nhân", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Tác vụ \"%s\" trong \"%s\" đã được phân công cho bạn bởi %s.", "The card \"%s\" on \"%s\" has reached its due date." : "Tác vụ \"%s\" trong \"%s\" đã đến ngày hạn chót.", @@ -119,6 +120,7 @@ OC.L10N.register( "Delete board" : "Xóa dự án", "No reminder" : "Không có nhắc hẹn", "An error occurred" : "Có lỗi đã xảy ra", + "{stack} in {board}" : "{stack} trong {board}", "Maximum file size of {size} exceeded" : "Đã vượt quá kích thước {size} tối đa tập tin", "Share" : "Chia sẻ", "This week" : "Tuần này" diff --git a/l10n/vi.json b/l10n/vi.json index f98119867..ce640c9af 100644 --- a/l10n/vi.json +++ b/l10n/vi.json @@ -17,6 +17,7 @@ "{user} has renamed the card {before} to {card}" : "{user} đã thay đổi tên của tác vụ {before} thành {card}", "Deck" : "Kế hoạch", "Upcoming cards" : "Thẻ sắp đến", + "Load more" : "Tải thêm", "Personal" : "Cá nhân", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "Tác vụ \"%s\" trong \"%s\" đã được phân công cho bạn bởi %s.", "The card \"%s\" on \"%s\" has reached its due date." : "Tác vụ \"%s\" trong \"%s\" đã đến ngày hạn chót.", @@ -117,6 +118,7 @@ "Delete board" : "Xóa dự án", "No reminder" : "Không có nhắc hẹn", "An error occurred" : "Có lỗi đã xảy ra", + "{stack} in {board}" : "{stack} trong {board}", "Maximum file size of {size} exceeded" : "Đã vượt quá kích thước {size} tối đa tập tin", "Share" : "Chia sẻ", "This week" : "Tuần này" diff --git a/l10n/zh_CN.js b/l10n/zh_CN.js index d45bfa5ad..f44193f4b 100644 --- a/l10n/zh_CN.js +++ b/l10n/zh_CN.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "看板应用中的改变", "A comment was created on a card" : "卡片上创建了一个 评论", "Upcoming cards" : "即将到来的卡片", + "Load more" : "加载更多", "Personal" : "个人", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "卡片 \"%s\" (在 \"%s\" 中)已由%s指派给您。", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} 已将卡片 {deck-card}, 其位于 {deck-board} ,分配给了你", @@ -147,6 +148,7 @@ OC.L10N.register( "Hide archived cards" : "隐藏已归档卡片", "Show archived cards" : "显示已归档卡片", "Toggle compact mode" : "切换简洁模式", + "Open details" : "打开详情", "Details" : "详情", "Loading board" : "正在加载面板", "No lists available" : "无列表可用", @@ -267,12 +269,12 @@ OC.L10N.register( "Only assigned cards" : "仅限已指派的卡片", "No reminder" : "无提醒", "An error occurred" : "发生错误", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "你确定你要删除 {title}面板吗?面板内所有数据都将因此被删除。", "Delete the board?" : "是否删除面板?", "Loading filtered view" : "正在加载已筛选的视图", "No due" : "没有到期的", "Search for {searchQuery} in all boards" : "在所有看板中搜索 {searchQuery}", "No results found" : "未找到结果", + "{stack} in {board}" : "{stack} 于 {board}", "No upcoming cards" : "没有即将到来的卡片", "upcoming cards" : "即将到来的卡片", "Link to a board" : "链接到一个面板", @@ -287,6 +289,7 @@ OC.L10N.register( "Share {file} with a Deck card" : "将{file}分享给一张看板卡片", "Share" : "分享", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "“看板”是 Nextcloud 集成的一款看板式任务管理工具,用于个人计划与项目安排。\n\n\n- 📥 将您的任务添加到卡片上,并将它们有序排列\n- 📄 将您的补充说明用markdown写下来\n- 🔖 利用指派标签更好地进行筹划\n- 👥 与您的团队,朋友或家人共享\n- 📎 附加文件并将它们嵌入到您的markdown说明中\n- 💬 用评论与您的团队讨论\n- ⚡ 在活动流中紧跟变化\n- 🚀 使您的项目井井有条", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "你确定你要删除 {title}面板吗?面板内所有数据都将因此被删除。", "This week" : "本周" }, "nplurals=1; plural=0;"); diff --git a/l10n/zh_CN.json b/l10n/zh_CN.json index 8e0bdbee8..1906731e6 100644 --- a/l10n/zh_CN.json +++ b/l10n/zh_CN.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "看板应用中的改变", "A comment was created on a card" : "卡片上创建了一个 评论", "Upcoming cards" : "即将到来的卡片", + "Load more" : "加载更多", "Personal" : "个人", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "卡片 \"%s\" (在 \"%s\" 中)已由%s指派给您。", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} 已将卡片 {deck-card}, 其位于 {deck-board} ,分配给了你", @@ -145,6 +146,7 @@ "Hide archived cards" : "隐藏已归档卡片", "Show archived cards" : "显示已归档卡片", "Toggle compact mode" : "切换简洁模式", + "Open details" : "打开详情", "Details" : "详情", "Loading board" : "正在加载面板", "No lists available" : "无列表可用", @@ -265,12 +267,12 @@ "Only assigned cards" : "仅限已指派的卡片", "No reminder" : "无提醒", "An error occurred" : "发生错误", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "你确定你要删除 {title}面板吗?面板内所有数据都将因此被删除。", "Delete the board?" : "是否删除面板?", "Loading filtered view" : "正在加载已筛选的视图", "No due" : "没有到期的", "Search for {searchQuery} in all boards" : "在所有看板中搜索 {searchQuery}", "No results found" : "未找到结果", + "{stack} in {board}" : "{stack} 于 {board}", "No upcoming cards" : "没有即将到来的卡片", "upcoming cards" : "即将到来的卡片", "Link to a board" : "链接到一个面板", @@ -285,6 +287,7 @@ "Share {file} with a Deck card" : "将{file}分享给一张看板卡片", "Share" : "分享", "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "“看板”是 Nextcloud 集成的一款看板式任务管理工具,用于个人计划与项目安排。\n\n\n- 📥 将您的任务添加到卡片上,并将它们有序排列\n- 📄 将您的补充说明用markdown写下来\n- 🔖 利用指派标签更好地进行筹划\n- 👥 与您的团队,朋友或家人共享\n- 📎 附加文件并将它们嵌入到您的markdown说明中\n- 💬 用评论与您的团队讨论\n- ⚡ 在活动流中紧跟变化\n- 🚀 使您的项目井井有条", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "你确定你要删除 {title}面板吗?面板内所有数据都将因此被删除。", "This week" : "本周" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/l10n/zh_HK.js b/l10n/zh_HK.js index 9d23dc9eb..9d115578d 100644 --- a/l10n/zh_HK.js +++ b/l10n/zh_HK.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Deck 應用程式中的改變", "A comment was created on a card" : "卡片上創建了一個 意見", "Upcoming cards" : "快將到期的卡片", + "Load more" : "載入更多", "Personal" : "個人", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "%s 已將 “%s” 中的卡片 “%s” 指派給您。", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} 已將 {deck-board} 中的卡片 {deck-card} 指派給您。", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "隱藏已存檔的卡片", "Show archived cards" : "顯示已存檔的卡片", "Toggle compact mode" : "切換簡潔模式", + "Open details" : "開啟細節", "Details" : "詳情", "Loading board" : "正在加載面板", "No lists available" : "無清單可用", @@ -277,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "僅指派了的卡片", "No reminder" : "無提醒", "An error occurred" : "發生錯誤", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "你確定你要刪除 {title} 面板嗎?面板內所有數據都將因此被刪除。", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "你確定你要刪除 {title} 面板嗎?面板內所有數據(包括已封存的卡片)都將因此被刪除。", "Delete the board?" : "是否刪除面板?", "Loading filtered view" : "正在加載已過濾視圖", "No due" : "沒有到期的", "Search for {searchQuery} in all boards" : "在所有面板中搜索 {searchQuery}", "No results found" : "沒有結果", + "{stack} in {board}" : "{board} 中的 {stack}", + "Click to expand description" : "點擊展開描述", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 創建於 {created}\n* 最後修改於 {lastMod}\n* {nbAttachments} 個附件\n* {nbComments} 則留言", + "{nbCards} cards" : "{nbCards} 張卡片", "No upcoming cards" : "沒有快將到期的卡片", "upcoming cards" : "快將到期的卡片", + "Due on {date}" : "於 {date} 到期", "Link to a board" : "連結到面板", "Link to a card" : "連結到卡片", "Create a card" : "建立卡片", @@ -300,6 +307,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "您想要轉移 {user} 的面板 {title} 嗎?", "Transfer the board for {user} successfully" : "轉移 {user} 的面板成功", "Failed to transfer the board for {user}" : "轉移 {user} 的面板失敗", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "你確定你要刪除 {title} 面板嗎?面板內所有數據都將因此被刪除。", "This week" : "本星期", "Are you sure you want to transfer the board {title} for {user}?" : "您想要轉移 {user} 的面板 {title} 嗎?" }, diff --git a/l10n/zh_HK.json b/l10n/zh_HK.json index c20491bd3..93e20db4d 100644 --- a/l10n/zh_HK.json +++ b/l10n/zh_HK.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Deck 應用程式中的改變", "A comment was created on a card" : "卡片上創建了一個 意見", "Upcoming cards" : "快將到期的卡片", + "Load more" : "載入更多", "Personal" : "個人", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "%s 已將 “%s” 中的卡片 “%s” 指派給您。", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} 已將 {deck-board} 中的卡片 {deck-card} 指派給您。", @@ -148,6 +149,7 @@ "Hide archived cards" : "隱藏已存檔的卡片", "Show archived cards" : "顯示已存檔的卡片", "Toggle compact mode" : "切換簡潔模式", + "Open details" : "開啟細節", "Details" : "詳情", "Loading board" : "正在加載面板", "No lists available" : "無清單可用", @@ -275,14 +277,19 @@ "Only assigned cards" : "僅指派了的卡片", "No reminder" : "無提醒", "An error occurred" : "發生錯誤", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "你確定你要刪除 {title} 面板嗎?面板內所有數據都將因此被刪除。", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "你確定你要刪除 {title} 面板嗎?面板內所有數據(包括已封存的卡片)都將因此被刪除。", "Delete the board?" : "是否刪除面板?", "Loading filtered view" : "正在加載已過濾視圖", "No due" : "沒有到期的", "Search for {searchQuery} in all boards" : "在所有面板中搜索 {searchQuery}", "No results found" : "沒有結果", + "{stack} in {board}" : "{board} 中的 {stack}", + "Click to expand description" : "點擊展開描述", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 創建於 {created}\n* 最後修改於 {lastMod}\n* {nbAttachments} 個附件\n* {nbComments} 則留言", + "{nbCards} cards" : "{nbCards} 張卡片", "No upcoming cards" : "沒有快將到期的卡片", "upcoming cards" : "快將到期的卡片", + "Due on {date}" : "於 {date} 到期", "Link to a board" : "連結到面板", "Link to a card" : "連結到卡片", "Create a card" : "建立卡片", @@ -298,6 +305,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "您想要轉移 {user} 的面板 {title} 嗎?", "Transfer the board for {user} successfully" : "轉移 {user} 的面板成功", "Failed to transfer the board for {user}" : "轉移 {user} 的面板失敗", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "你確定你要刪除 {title} 面板嗎?面板內所有數據都將因此被刪除。", "This week" : "本星期", "Are you sure you want to transfer the board {title} for {user}?" : "您想要轉移 {user} 的面板 {title} 嗎?" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/l10n/zh_TW.js b/l10n/zh_TW.js index 8d3cd56d4..14f445972 100644 --- a/l10n/zh_TW.js +++ b/l10n/zh_TW.js @@ -68,6 +68,7 @@ OC.L10N.register( "Changes in the Deck app" : "Deck 應用程式中的變更", "A comment was created on a card" : "已在卡片上建立了留言", "Upcoming cards" : "接下來的卡片", + "Load more" : "載入更多", "Personal" : "個人", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "卡片「%s」位於「%s」已由 %s 分配給您。", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} 已將位於 {deck-board} 的 {deck-card} 卡片分配給您。", @@ -150,6 +151,7 @@ OC.L10N.register( "Hide archived cards" : "隱藏已封存的卡片", "Show archived cards" : "顯示已封存的卡片", "Toggle compact mode" : "切換簡潔模式", + "Open details" : "開啟細節", "Details" : "詳細資料", "Loading board" : "正在載入佈告欄", "No lists available" : "沒有可用的列表", @@ -277,14 +279,19 @@ OC.L10N.register( "Only assigned cards" : "僅已分配的卡片", "No reminder" : "無提醒", "An error occurred" : "發生錯誤", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "您確定要刪除佈告欄 {title} 嗎?這將會刪除所有此佈告欄的資料。", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "您確定要刪除佈告欄 {title} 嗎?這將會刪除所有此佈告欄的資料,包含封存的卡片。", "Delete the board?" : "刪除佈告欄?", "Loading filtered view" : "正在載入過濾的檢視", "No due" : "無到期日", "Search for {searchQuery} in all boards" : "在所有佈告欄中搜尋 {searchQuery}", "No results found" : "找不到結果", + "{stack} in {board}" : "{stack} 於 {board}", + "Click to expand description" : "點擊展開描述", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 建立於 {created}\n* 最後修改於 {lastMod}\n* {nbAttachments} 個附件\n* {nbComments} 則留言", + "{nbCards} cards" : "{nbCards} 張卡片", "No upcoming cards" : "無接下來的卡片", "upcoming cards" : "接下來的卡片", + "Due on {date}" : "於 {date} 到期", "Link to a board" : "連結到佈告欄", "Link to a card" : "連結到卡片", "Create a card" : "建立卡片", @@ -300,6 +307,7 @@ OC.L10N.register( "Are you sure you want to transfer the board {title} for {user} ?" : "您想要轉移 {user} 的看板 {title} 嗎?", "Transfer the board for {user} successfully" : "轉移 {user} 的看板成功", "Failed to transfer the board for {user}" : "轉移 {user} 的看板失敗", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "您確定要刪除佈告欄 {title} 嗎?這將會刪除所有此佈告欄的資料。", "This week" : "本週", "Are you sure you want to transfer the board {title} for {user}?" : "您想要轉移 {user} 的看板 {title} 嗎?" }, diff --git a/l10n/zh_TW.json b/l10n/zh_TW.json index 64cb26f11..6f9698b54 100644 --- a/l10n/zh_TW.json +++ b/l10n/zh_TW.json @@ -66,6 +66,7 @@ "Changes in the Deck app" : "Deck 應用程式中的變更", "A comment was created on a card" : "已在卡片上建立了留言", "Upcoming cards" : "接下來的卡片", + "Load more" : "載入更多", "Personal" : "個人", "The card \"%s\" on \"%s\" has been assigned to you by %s." : "卡片「%s」位於「%s」已由 %s 分配給您。", "{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} 已將位於 {deck-board} 的 {deck-card} 卡片分配給您。", @@ -148,6 +149,7 @@ "Hide archived cards" : "隱藏已封存的卡片", "Show archived cards" : "顯示已封存的卡片", "Toggle compact mode" : "切換簡潔模式", + "Open details" : "開啟細節", "Details" : "詳細資料", "Loading board" : "正在載入佈告欄", "No lists available" : "沒有可用的列表", @@ -275,14 +277,19 @@ "Only assigned cards" : "僅已分配的卡片", "No reminder" : "無提醒", "An error occurred" : "發生錯誤", - "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "您確定要刪除佈告欄 {title} 嗎?這將會刪除所有此佈告欄的資料。", + "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "您確定要刪除佈告欄 {title} 嗎?這將會刪除所有此佈告欄的資料,包含封存的卡片。", "Delete the board?" : "刪除佈告欄?", "Loading filtered view" : "正在載入過濾的檢視", "No due" : "無到期日", "Search for {searchQuery} in all boards" : "在所有佈告欄中搜尋 {searchQuery}", "No results found" : "找不到結果", + "{stack} in {board}" : "{stack} 於 {board}", + "Click to expand description" : "點擊展開描述", + "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 建立於 {created}\n* 最後修改於 {lastMod}\n* {nbAttachments} 個附件\n* {nbComments} 則留言", + "{nbCards} cards" : "{nbCards} 張卡片", "No upcoming cards" : "無接下來的卡片", "upcoming cards" : "接下來的卡片", + "Due on {date}" : "於 {date} 到期", "Link to a board" : "連結到佈告欄", "Link to a card" : "連結到卡片", "Create a card" : "建立卡片", @@ -298,6 +305,7 @@ "Are you sure you want to transfer the board {title} for {user} ?" : "您想要轉移 {user} 的看板 {title} 嗎?", "Transfer the board for {user} successfully" : "轉移 {user} 的看板成功", "Failed to transfer the board for {user}" : "轉移 {user} 的看板失敗", + "Are you sure you want to delete the board {title}? This will delete all the data of this board." : "您確定要刪除佈告欄 {title} 嗎?這將會刪除所有此佈告欄的資料。", "This week" : "本週", "Are you sure you want to transfer the board {title} for {user}?" : "您想要轉移 {user} 的看板 {title} 嗎?" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/lib/Activity/ActivityManager.php b/lib/Activity/ActivityManager.php index 9fc7286fa..4a74e2d9d 100644 --- a/lib/Activity/ActivityManager.php +++ b/lib/Activity/ActivityManager.php @@ -367,7 +367,15 @@ class ActivityManager { case self::SUBJECT_CARD_USER_ASSIGN: case self::SUBJECT_CARD_USER_UNASSIGN: $subjectParams = $this->findDetailsForCard($entity->getId(), $subject); - break; + + if (isset($additionalParams['after']) && $additionalParams['after'] instanceof \DateTimeInterface) { + $additionalParams['after'] = $additionalParams['after']->format('c'); + } + if (isset($additionalParams['before']) && $additionalParams['before'] instanceof \DateTimeInterface) { + $additionalParams['before'] = $additionalParams['before']->format('c'); + } + + break; case self::SUBJECT_ATTACHMENT_CREATE: case self::SUBJECT_ATTACHMENT_UPDATE: case self::SUBJECT_ATTACHMENT_DELETE: diff --git a/lib/Activity/DeckProvider.php b/lib/Activity/DeckProvider.php index 2bca8fc64..a2a5c9d8c 100644 --- a/lib/Activity/DeckProvider.php +++ b/lib/Activity/DeckProvider.php @@ -121,6 +121,7 @@ class DeckProvider implements IProvider { 'link' => $this->deckUrl('/board/' . $event->getObjectId()), ]; $params['board'] = $board; + $event->setLink($this->deckUrl('/board/' . $event->getObjectId())); } if (isset($subjectParams['card']) && $event->getObjectType() === ActivityManager::DECK_OBJECT_CARD) { @@ -134,8 +135,8 @@ class DeckProvider implements IProvider { ]; if (array_key_exists('board', $subjectParams)) { - $archivedParam = $subjectParams['card']['archived'] ? 'archived/' : ''; $card['link'] = $this->cardService->getRedirectUrlForCard($event->getObjectId()); + $event->setLink($card['link']); } $params['card'] = $card; } @@ -311,12 +312,19 @@ class DeckProvider implements IProvider { $userLanguage = $this->config->getUserValue($event->getAuthor(), 'core', 'lang', $this->l10nFactory->findLanguage()); $userLocale = $this->config->getUserValue($event->getAuthor(), 'core', 'locale', $this->l10nFactory->findLocale()); $l10n = $this->l10nFactory->get('deck', $userLanguage, $userLocale); - $date = new \DateTime($subjectParams['after']); - $date->setTimezone(new \DateTimeZone(\date_default_timezone_get())); + if (is_array($subjectParams['after'])) { + // Unluckily there was a time when we stored jsonSerialized date objects in the database + // Broken in 1.8.0 and fixed again in 1.8.1 + $date = new \DateTime($subjectParams['after']['date']); + $date->setTimezone(new \DateTimeZone(\date_default_timezone_get())); + } else { + $date = new \DateTime($subjectParams['after']); + $date->setTimezone(new \DateTimeZone(\date_default_timezone_get())); + } $params['after'] = [ 'type' => 'highlight', 'id' => 'dt:' . $subjectParams['after'], - 'name' => $l10n->l('datetime', $date) + 'name' => $l10n->l('datetime', $date), ]; } return $params; diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index 53eb60258..edbd2b3a2 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -36,7 +36,6 @@ use OCA\Deck\Db\AclMapper; use OCA\Deck\Db\AssignmentMapper; use OCA\Deck\Db\BoardMapper; use OCA\Deck\Db\CardMapper; -use OCA\Deck\Db\User; use OCA\Deck\Event\AclCreatedEvent; use OCA\Deck\Event\AclDeletedEvent; use OCA\Deck\Event\AclUpdatedEvent; @@ -48,6 +47,7 @@ use OCA\Deck\Listeners\FullTextSearchEventListener; use OCA\Deck\Middleware\DefaultBoardMiddleware; use OCA\Deck\Middleware\ExceptionMiddleware; use OCA\Deck\Notification\Notifier; +use OCA\Deck\Reference\CardReferenceProvider; use OCA\Deck\Search\CardCommentProvider; use OCA\Deck\Search\DeckProvider; use OCA\Deck\Service\PermissionService; @@ -58,6 +58,7 @@ use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; use OCP\AppFramework\Bootstrap\IRegistrationContext; use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent; +use OCP\Collaboration\Reference\RenderReferenceEvent; use OCP\Collaboration\Resources\IProviderManager; use OCP\Comments\CommentsEntityEvent; use OCP\Comments\ICommentsManager; @@ -83,6 +84,14 @@ class Application extends App implements IBootstrap { public function __construct(array $urlParams = []) { parent::__construct(self::APP_ID, $urlParams); + + // TODO move this back to ::register after fixing the autoload issue + // (and use a listener class) + $container = $this->getContainer(); + $eventDispatcher = $container->get(IEventDispatcher::class); + $eventDispatcher->addListener(RenderReferenceEvent::class, function () { + Util::addScript(self::APP_ID, self::APP_ID . '-card-reference'); + }); } public function boot(IBootContext $context): void { @@ -121,8 +130,12 @@ class Application extends App implements IBootstrap { $context->registerSearchProvider(CardCommentProvider::class); $context->registerDashboardWidget(DeckWidget::class); + // reference widget + $context->registerReferenceProvider(CardReferenceProvider::class); + // $context->registerEventListener(RenderReferenceEvent::class, CardReferenceListener::class); + $context->registerEventListener(BeforeTemplateRenderedEvent::class, BeforeTemplateRenderedListener::class); - + // Event listening for full text search indexing $context->registerEventListener(CardCreatedEvent::class, FullTextSearchEventListener::class); $context->registerEventListener(CardUpdatedEvent::class, FullTextSearchEventListener::class); diff --git a/lib/DAV/Calendar.php b/lib/DAV/Calendar.php index 6e73999a4..7e02013b5 100644 --- a/lib/DAV/Calendar.php +++ b/lib/DAV/Calendar.php @@ -52,12 +52,6 @@ class Calendar extends ExternalCalendar { $this->board = $board; $this->principalUri = $principalUri; - - if ($board) { - $this->children = $this->backend->getChildren($board->getId()); - } else { - $this->children = []; - } } public function getOwner() { @@ -122,7 +116,7 @@ class Calendar extends ExternalCalendar { public function getChild($name) { if ($this->childExists($name)) { $card = array_values(array_filter( - $this->children, + $this->getBackendChildren(), function ($card) use (&$name) { return $card->getCalendarPrefix() . '-' . $card->getId() . '.ics' === $name; } @@ -137,7 +131,7 @@ class Calendar extends ExternalCalendar { public function getChildren() { $childNames = array_map(function ($card) { return $card->getCalendarPrefix() . '-' . $card->getId() . '.ics'; - }, $this->children); + }, $this->getBackendChildren()); $children = []; @@ -148,9 +142,23 @@ class Calendar extends ExternalCalendar { return $children; } + private function getBackendChildren() { + if ($this->children) { + return $this->children; + } + + if ($this->board) { + $this->children = $this->backend->getChildren($this->board->getId()); + } else { + $this->children = []; + } + + return $this->children; + } + public function childExists($name) { return count(array_filter( - $this->children, + $this->getBackendChildren(), function ($card) use (&$name) { return $card->getCalendarPrefix() . '-' . $card->getId() . '.ics' === $name; } diff --git a/lib/Dashboard/DeckWidget.php b/lib/Dashboard/DeckWidget.php index 99a6b5dd2..cdb5db1d8 100644 --- a/lib/Dashboard/DeckWidget.php +++ b/lib/Dashboard/DeckWidget.php @@ -26,18 +26,34 @@ declare(strict_types=1); namespace OCA\Deck\Dashboard; -use OCP\Dashboard\IWidget; +use DateTime; +use OCA\Deck\AppInfo\Application; +use OCA\Deck\Db\Label; +use OCA\Deck\Service\OverviewService; +use OCP\Dashboard\IAPIWidget; +use OCP\Dashboard\IButtonWidget; +use OCP\Dashboard\IIconWidget; +use OCP\Dashboard\Model\WidgetButton; +use OCP\Dashboard\Model\WidgetItem; +use OCP\IDateTimeFormatter; use OCP\IL10N; +use OCP\IURLGenerator; +use OCP\Util; -class DeckWidget implements IWidget { +class DeckWidget implements IAPIWidget, IButtonWidget, IIconWidget { + private IL10N $l10n; + private OverviewService $dashboardService; + private IURLGenerator $urlGenerator; + private IDateTimeFormatter $dateTimeFormatter; - /** - * @var IL10N - */ - private $l10n; - - public function __construct(IL10N $l10n) { + public function __construct(IL10N $l10n, + OverviewService $dashboardService, + IDateTimeFormatter $dateTimeFormatter, + IURLGenerator $urlGenerator) { $this->l10n = $l10n; + $this->dashboardService = $dashboardService; + $this->urlGenerator = $urlGenerator; + $this->dateTimeFormatter = $dateTimeFormatter; } /** @@ -68,17 +84,88 @@ class DeckWidget implements IWidget { return 'icon-deck'; } + /** + * @inheritDoc + */ + public function getIconUrl(): string { + return $this->urlGenerator->getAbsoluteURL( + $this->urlGenerator->imagePath(Application::APP_ID, 'deck-dark.svg') + ); + } + /** * @inheritDoc */ public function getUrl(): ?string { - return null; + return $this->urlGenerator->getAbsoluteURL( + $this->urlGenerator->linkToRoute(Application::APP_ID . '.page.index') + ); } /** * @inheritDoc */ public function load(): void { - \OCP\Util::addScript('deck', 'deck-dashboard'); + Util::addScript('deck', 'deck-dashboard'); + } + + /** + * @inheritDoc + */ + public function getItems(string $userId, ?string $since = null, int $limit = 7): array { + $upcomingCards = $this->dashboardService->findUpcomingCards($userId); + $nowTimestamp = (new Datetime())->getTimestamp(); + $sinceTimestamp = $since !== null ? (new Datetime($since))->getTimestamp() : null; + $upcomingCards = array_filter($upcomingCards, static function (array $card) use ($nowTimestamp, $sinceTimestamp) { + if ($card['duedate']) { + $ts = (new Datetime($card['duedate']))->getTimestamp(); + return $ts > $nowTimestamp && ($sinceTimestamp === null || $ts > $sinceTimestamp); + } + return false; + }); + usort($upcomingCards, static function ($a, $b) { + $a = new Datetime($a['duedate']); + $ta = $a->getTimestamp(); + $b = new Datetime($b['duedate']); + $tb = $b->getTimestamp(); + return ($ta > $tb) ? 1 : -1; + }); + $upcomingCards = array_slice($upcomingCards, 0, $limit); + $urlGenerator = $this->urlGenerator; + $dateTimeFormatter = $this->dateTimeFormatter; + return array_map(static function (array $card) use ($urlGenerator, $dateTimeFormatter) { + $formattedDueDate = $dateTimeFormatter->formatDateTime(new DateTime($card['duedate'])); + return new WidgetItem( + $card['title'] . ' (' . $formattedDueDate . ')', + implode( + ', ', + array_map(static function (Label $label) { + return $label->jsonSerialize()['title']; + }, $card['labels']) + ), + $urlGenerator->getAbsoluteURL( + $urlGenerator->linkToRoute(Application::APP_ID . '.page.redirectToCard', ['cardId' => $card['id']]) + ), + $urlGenerator->getAbsoluteURL( + $urlGenerator->imagePath(Application::APP_ID, 'deck-dark.svg') + ), + $card['duedate'] + ); + }, $upcomingCards); + } + + /** + * @inheritDoc + */ + public function getWidgetButtons(string $userId): array { + return [ + new WidgetButton( + WidgetButton::TYPE_MORE, + $this->urlGenerator->getAbsoluteURL( + $this->urlGenerator->linkToRoute(Application::APP_ID . '.page.index') + ), + $this->l10n->t('Load more') + ), + ]; } } diff --git a/lib/Db/BoardMapper.php b/lib/Db/BoardMapper.php index 25a671f1c..c340aa151 100644 --- a/lib/Db/BoardMapper.php +++ b/lib/Db/BoardMapper.php @@ -107,6 +107,47 @@ class BoardMapper extends QBMapper implements IPermissionMapper { return $this->boardCache[$id]; } + public function findBoardIds(string $userId): array { + $qb = $this->db->getQueryBuilder(); + $qb->selectDistinct('b.id') + ->from($this->getTableName(), 'b') + ->leftJoin('b', 'deck_board_acl', 'acl', $qb->expr()->eq('b.id', 'acl.board_id')); + + // Owned by the user + $qb->where($qb->expr()->andX( + $qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)), + )); + + // Shared to the user + $qb->orWhere($qb->expr()->andX( + $qb->expr()->eq('acl.participant', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)), + $qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_USER, IQueryBuilder::PARAM_INT)), + )); + + // Shared to user groups of the user + $groupIds = $this->groupManager->getUserGroupIds($this->userManager->get($userId)); + if (count($groupIds) !== 0) { + $qb->orWhere($qb->expr()->andX( + $qb->expr()->in('acl.participant', $qb->createNamedParameter($groupIds, IQueryBuilder::PARAM_STR_ARRAY)), + $qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_GROUP, IQueryBuilder::PARAM_INT)), + )); + } + + // Shared to circles of the user + $circles = $this->circlesService->getUserCircles($userId); + if (count($circles) !== 0) { + $qb->orWhere($qb->expr()->andX( + $qb->expr()->in('acl.participant', $qb->createNamedParameter($circles, IQueryBuilder::PARAM_STR_ARRAY)), + $qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_CIRCLE, IQueryBuilder::PARAM_INT)), + )); + } + + $result = $qb->executeQuery(); + return array_map(function (string $id) { + return (int)$id; + }, $result->fetchAll(\PDO::FETCH_COLUMN)); + } + public function findAllForUser(string $userId, ?int $since = null, bool $includeArchived = true, ?int $before = null, ?string $term = null): array { $useCache = ($since === -1 && $includeArchived === true && $before === null && $term === null); diff --git a/lib/Db/Card.php b/lib/Db/Card.php index 674ee8f8a..ed710d716 100644 --- a/lib/Db/Card.php +++ b/lib/Db/Card.php @@ -108,7 +108,7 @@ class Card extends RelationalEntity { $this->addType('archived', 'boolean'); $this->addType('notified', 'boolean'); $this->addType('deletedAt', 'integer'); - $this->addType('duedate', 'string'); + $this->addType('duedate', 'datetime'); $this->addRelation('labels'); $this->addRelation('assignedUsers'); $this->addRelation('attachments'); @@ -126,20 +126,6 @@ class Card extends RelationalEntity { $this->databaseType = $type; } - public function getDueDateTime(): ?DateTime { - return $this->duedate ? new DateTime($this->duedate) : null; - } - - public function getDuedate($isoFormat = false): ?string { - $dt = $this->getDueDateTime(); - $format = 'c'; - if (!$isoFormat && $this->databaseType === 'mysql') { - $format = 'Y-m-d H:i:s'; - } - - return $dt ? $dt->format($format) : null; - } - public function getCalendarObject(): VCalendar { $calendar = new VCalendar(); $event = $calendar->createComponent('VTODO'); @@ -148,7 +134,7 @@ class Card extends RelationalEntity { $creationDate = new DateTime(); $creationDate->setTimestamp($this->createdAt); $event->DTSTAMP = $creationDate; - $event->DUE = new DateTime($this->getDuedate(true), new DateTimeZone('UTC')); + $event->DUE = new DateTime($this->getDuedate()->format('c'), new DateTimeZone('UTC')); } $event->add('RELATED-TO', 'deck-stack-' . $this->getStackId()); diff --git a/lib/Db/CardMapper.php b/lib/Db/CardMapper.php index 883e425d1..e23f8046f 100644 --- a/lib/Db/CardMapper.php +++ b/lib/Db/CardMapper.php @@ -193,6 +193,7 @@ class CardMapper extends QBMapper implements IPermissionMapper { ->from('deck_cards', 'c') ->join('c', 'deck_stacks', 's', 's.id = c.stack_id') ->where($qb->expr()->eq('s.board_id', $qb->createNamedParameter($boardId))) + ->andWhere($qb->expr()->eq('c.archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL))) ->andWhere($qb->expr()->eq('c.deleted_at', $qb->createNamedParameter('0'))) ->orderBy('c.duedate') ->setMaxResults($limit) diff --git a/lib/Db/RelationalEntity.php b/lib/Db/RelationalEntity.php index 6e2a19ef5..8ac6ef456 100644 --- a/lib/Db/RelationalEntity.php +++ b/lib/Db/RelationalEntity.php @@ -72,6 +72,9 @@ class RelationalEntity extends Entity implements \JsonSerializable { $propertyReflection = $reflection->getProperty($property); if (!$propertyReflection->isPrivate() && !in_array($property, $this->_resolvedProperties, true)) { $json[$property] = $this->getter($property); + if ($json[$property] instanceof \DateTimeInterface) { + $json[$property] = $json[$property]->format('c'); + } } } } diff --git a/lib/Middleware/ExceptionMiddleware.php b/lib/Middleware/ExceptionMiddleware.php index 0c59a5e17..0b0dc013e 100644 --- a/lib/Middleware/ExceptionMiddleware.php +++ b/lib/Middleware/ExceptionMiddleware.php @@ -33,7 +33,6 @@ use OCP\AppFramework\OCS\OCSException; use OCP\AppFramework\OCSController; use OCP\ILogger; use OCP\IRequest; -use OCP\Util; use OCP\IConfig; class ExceptionMiddleware extends Middleware { @@ -85,9 +84,9 @@ class ExceptionMiddleware extends Middleware { 'message' => 'Permission denied' ], 403); } - + if ($exception instanceof StatusException) { - if ($this->config->getSystemValue('loglevel', Util::WARN) === Util::DEBUG) { + if ($this->config->getSystemValue('loglevel', ILogger::WARN) === ILogger::DEBUG) { $this->logger->logException($exception); } diff --git a/lib/Model/CardDetails.php b/lib/Model/CardDetails.php index 6c51ef841..58523ab14 100644 --- a/lib/Model/CardDetails.php +++ b/lib/Model/CardDetails.php @@ -54,7 +54,7 @@ class CardDetails extends Card { $today = new DateTime(); $today->setTime(0, 0); - $match_date = $this->card->getDueDateTime(); + $match_date = $this->card->getDuedate(); if (!$match_date) { return Card::DUEDATE_FUTURE; } diff --git a/lib/Notification/NotificationHelper.php b/lib/Notification/NotificationHelper.php index 97b900c73..0105c03f0 100644 --- a/lib/Notification/NotificationHelper.php +++ b/lib/Notification/NotificationHelper.php @@ -129,7 +129,7 @@ class NotificationHelper { ->setSubject('card-overdue', [ $card->getTitle(), $board->getTitle() ]) - ->setDateTime(new DateTime($card->getDuedate())); + ->setDateTime($card->getDuedate()); $this->notificationManager->notify($notification); } } @@ -242,7 +242,7 @@ class NotificationHelper { } return $this->boards[$boardId]; } - + private function generateBoardShared(Board $board, string $userId): INotification { $notification = $this->notificationManager->createNotification(); $notification diff --git a/lib/Reference/CardReferenceProvider.php b/lib/Reference/CardReferenceProvider.php new file mode 100644 index 000000000..df5fbf890 --- /dev/null +++ b/lib/Reference/CardReferenceProvider.php @@ -0,0 +1,167 @@ + + * + * @author Julien Veyssier + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +namespace OCA\Deck\Reference; + +use OCA\Deck\AppInfo\Application; +use OCA\Deck\Db\Assignment; +use OCA\Deck\Db\Attachment; +use OCA\Deck\Db\Label; +use OCA\Deck\Model\CardDetails; +use OCA\Deck\Service\BoardService; +use OCA\Deck\Service\CardService; +use OCA\Deck\Service\StackService; +use OCP\Collaboration\Reference\IReference; +use OCP\Collaboration\Reference\IReferenceProvider; +use OCP\Collaboration\Reference\Reference; +use OCP\IURLGenerator; + +class CardReferenceProvider implements IReferenceProvider { + private CardService $cardService; + private IURLGenerator $urlGenerator; + private BoardService $boardService; + private StackService $stackService; + + public function __construct(CardService $cardService, + BoardService $boardService, + StackService $stackService, + IURLGenerator $urlGenerator, + ?string $userId) { + $this->cardService = $cardService; + $this->urlGenerator = $urlGenerator; + $this->boardService = $boardService; + $this->stackService = $stackService; + } + + /** + * @inheritDoc + */ + public function matchReference(string $referenceText): bool { + $start = $this->urlGenerator->getAbsoluteURL('/apps/' . Application::APP_ID); + $startIndex = $this->urlGenerator->getAbsoluteURL('/index.php/apps/' . Application::APP_ID); + + // link example: https://nextcloud.local/index.php/apps/deck/#/board/2/card/11 + $noIndexMatch = preg_match('/^' . preg_quote($start, '/') . '\/#\/board\/[0-9]+\/card\/[0-9]+$/', $referenceText) === 1; + $indexMatch = preg_match('/^' . preg_quote($startIndex, '/') . '\/#\/board\/[0-9]+\/card\/[0-9]+$/', $referenceText) === 1; + + return $noIndexMatch || $indexMatch; + } + + /** + * @inheritDoc + */ + public function resolveReference(string $referenceText): ?IReference { + if ($this->matchReference($referenceText)) { + $ids = $this->getBoardCardId($referenceText); + if ($ids !== null) { + [$boardId, $cardId] = $ids; + $card = $this->cardService->find((int) $cardId)->jsonSerialize(); + $board = $this->boardService->find((int) $boardId)->jsonSerialize(); + $stack = $this->stackService->find((int) $card['stackId'])->jsonSerialize(); + + $card = $this->sanitizeSerializedCard($card); + $board = $this->sanitizeSerializedBoard($board); + $stack = $this->sanitizeSerializedStack($stack); + /** @var IReference $reference */ + $reference = new Reference($referenceText); + $reference->setRichObject(Application::APP_ID . '-card', [ + 'id' => $boardId . '/' . $cardId, + 'card' => $card, + 'board' => $board, + 'stack' => $stack, + ]); + return $reference; + } + } + + return null; + } + + private function sanitizeSerializedStack(array $stack): array { + $stack['cards'] = array_map(function (CardDetails $cardDetails) { + $result = $cardDetails->jsonSerialize(); + unset($result['assignedUsers']); + return $result; + }, $stack['cards']); + + return $stack; + } + + private function sanitizeSerializedBoard(array $board): array { + unset($board['labels']); + $board['owner'] = $board['owner']->jsonSerialize(); + unset($board['acl']); + unset($board['users']); + + return $board; + } + + private function sanitizeSerializedCard(array $card): array { + $card['labels'] = array_map(function (Label $label) { + return $label->jsonSerialize(); + }, $card['labels']); + $card['assignedUsers'] = array_map(function (Assignment $assignment) { + $result = $assignment->jsonSerialize(); + $result['participant'] = $result['participant']->jsonSerialize(); + return $result; + }, $card['assignedUsers']); + $card['owner'] = $card['owner']->jsonSerialize(); + unset($card['relatedStack']); + unset($card['relatedBoard']); + $card['attachments'] = array_map(function (Attachment $attachment) { + return $attachment->jsonSerialize(); + }, $card['attachments']); + + return $card; + } + + private function getBoardCardId(string $url): ?array { + $start = $this->urlGenerator->getAbsoluteURL('/apps/' . Application::APP_ID); + $startIndex = $this->urlGenerator->getAbsoluteURL('/index.php/apps/' . Application::APP_ID); + + preg_match('/^' . preg_quote($start, '/') . '\/#\/board\/([0-9]+)\/card\/([0-9]+)$/', $url, $matches); + if ($matches && count($matches) > 2) { + return [$matches[1], $matches[2]]; + } + + preg_match('/^' . preg_quote($startIndex, '/') . '\/#\/board\/([0-9]+)\/card\/([0-9]+)$/', $url, $matches2); + if ($matches2 && count($matches2) > 2) { + return [$matches2[1], $matches2[2]]; + } + + return null; + } + + public function getCachePrefix(string $referenceId): string { + $ids = $this->getBoardCardId($referenceId); + if ($ids !== null) { + [$boardId, $cardId] = $ids; + return $boardId . '/' . $cardId; + } + + return $referenceId; + } + + public function getCacheKey(string $referenceId): ?string { + return $this->userId ?? ''; + } +} diff --git a/lib/Service/AttachmentService.php b/lib/Service/AttachmentService.php index f8b6afc33..c7c4532a2 100644 --- a/lib/Service/AttachmentService.php +++ b/lib/Service/AttachmentService.php @@ -39,6 +39,7 @@ use OCA\Deck\StatusException; use OCP\AppFramework\Db\IMapperException; use OCP\AppFramework\Http\Response; use OCP\IL10N; +use OCP\IUserManager; class AttachmentService { private $attachmentMapper; @@ -58,8 +59,18 @@ class AttachmentService { private $activityManager; /** @var ChangeHelper */ private $changeHelper; + private IUserManager $userManager; - public function __construct(AttachmentMapper $attachmentMapper, CardMapper $cardMapper, ChangeHelper $changeHelper, PermissionService $permissionService, Application $application, AttachmentCacheHelper $attachmentCacheHelper, $userId, IL10N $l10n, ActivityManager $activityManager) { + public function __construct(AttachmentMapper $attachmentMapper, + CardMapper $cardMapper, + IUserManager $userManager, + ChangeHelper $changeHelper, + PermissionService $permissionService, + Application $application, + AttachmentCacheHelper $attachmentCacheHelper, + $userId, + IL10N $l10n, + ActivityManager $activityManager) { $this->attachmentMapper = $attachmentMapper; $this->cardMapper = $cardMapper; $this->permissionService = $permissionService; @@ -69,6 +80,7 @@ class AttachmentService { $this->l10n = $l10n; $this->activityManager = $activityManager; $this->changeHelper = $changeHelper; + $this->userManager = $userManager; // Register shipped attachment services // TODO: move this to a plugin based approach once we have different types of attachments @@ -127,6 +139,7 @@ class AttachmentService { try { $service = $this->getService($attachment->getType()); $service->extendData($attachment); + $this->addCreator($attachment); } catch (InvalidAttachmentType $e) { // Ingore invalid attachment types when extending the data } @@ -210,6 +223,7 @@ class AttachmentService { } $service->extendData($attachment); + $this->addCreator($attachment); } catch (InvalidAttachmentType $e) { // just store the data } @@ -313,6 +327,7 @@ class AttachmentService { $this->attachmentMapper->update($attachment); // extend data so the frontend can use it properly after creating $service->extendData($attachment); + $this->addCreator($attachment); $this->changeHelper->cardChanged($attachment->getCardId()); $this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $attachment, ActivityManager::SUBJECT_ATTACHMENT_UPDATE); @@ -387,4 +402,28 @@ class AttachmentService { } throw new NoPermissionException('Restore is not allowed.'); } + + /** + * @param Attachment $attachment + * @return Attachment + * @throws \ReflectionException + */ + private function addCreator(Attachment $attachment): Attachment { + $createdBy = $attachment->jsonSerialize()['createdBy'] ?? ''; + $creator = [ + 'displayName' => $createdBy, + 'id' => $createdBy, + 'email' => null, + ]; + if ($this->userManager->userExists($createdBy)) { + $user = $this->userManager->get($createdBy); + $creator['displayName'] = $user->getDisplayName(); + $creator['email'] = $user->getEMailAddress(); + } + $extendedData = $attachment->jsonSerialize()['extendedData'] ?? []; + $extendedData['attachmentCreator'] = $creator; + $attachment->setExtendedData($extendedData); + + return $attachment; + } } diff --git a/lib/Service/BoardService.php b/lib/Service/BoardService.php index b6e749f61..01c560102 100644 --- a/lib/Service/BoardService.php +++ b/lib/Service/BoardService.php @@ -42,6 +42,7 @@ use OCA\Deck\Event\AclUpdatedEvent; use OCA\Deck\NoPermissionException; use OCA\Deck\Notification\NotificationHelper; use OCP\AppFramework\Db\DoesNotExistException; +use OCP\AppFramework\Db\MultipleObjectsReturnedException; use OCP\EventDispatcher\IEventDispatcher; use OCP\IConfig; use OCP\IDBConnection; @@ -55,6 +56,8 @@ use OCP\IUserManager; use OCA\Deck\BadRequestException; use OCP\IURLGenerator; use OCP\Server; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; class BoardService { private BoardMapper $boardMapper; @@ -592,12 +595,14 @@ class BoardService { } /** + * @throws DbException * @throws DoesNotExistException - * @throws \OCA\Deck\NoPermissionException - * @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException - * @throws BadRequestException + * @throws NoPermissionException + * @throws MultipleObjectsReturnedException + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface */ - public function deleteAcl(int $id): bool { + public function deleteAcl(int $id): ?Acl { $this->permissionService->checkPermission($this->aclMapper, $id, Acl::PERMISSION_SHARE); /** @var Acl $acl */ $acl = $this->aclMapper->find($id); @@ -622,8 +627,10 @@ class BoardService { } } + $deletedAcl = $this->aclMapper->delete($acl); $this->eventDispatcher->dispatchTyped(new AclDeletedEvent($acl)); - return (bool) $this->aclMapper->delete($acl); + + return $deletedAcl; } /** diff --git a/lib/Service/CardService.php b/lib/Service/CardService.php index 6ee4cf081..af0eb0103 100644 --- a/lib/Service/CardService.php +++ b/lib/Service/CardService.php @@ -337,11 +337,11 @@ class CardService { $card->setType($type); $card->setOrder($order); $card->setOwner($owner); - $card->setDuedate($duedate); + $card->setDuedate($duedate ? new \DateTime($duedate) : null); $resetDuedateNotification = false; if ( $card->getDuedate() === null || - (new \DateTime($card->getDuedate())) != (new \DateTime($changes->getBefore()->getDuedate() ?? '')) + ($card->getDuedate()) != ($changes->getBefore()->getDuedate()) ) { $card->setNotified(false); $resetDuedateNotification = true; diff --git a/lib/Service/CirclesService.php b/lib/Service/CirclesService.php index 8dc285e53..26cb9e0d1 100644 --- a/lib/Service/CirclesService.php +++ b/lib/Service/CirclesService.php @@ -41,6 +41,8 @@ use Throwable; class CirclesService { private bool $circlesEnabled; + private $userCircleCache = []; + public function __construct(IAppManager $appManager) { $this->circlesEnabled = $appManager->isEnabledForUser('circles'); } @@ -70,13 +72,24 @@ class CirclesService { return false; } + if (isset($this->userCircleCache[$circleId][$userId])) { + return $this->userCircleCache[$circleId][$userId]; + } + try { $circlesManager = Server::get(CirclesManager::class); $federatedUser = $circlesManager->getFederatedUser($userId, Member::TYPE_USER); $circlesManager->startSession($federatedUser); $circle = $circlesManager->getCircle($circleId); $member = $circle->getInitiator(); - return $member !== null && $member->getLevel() >= Member::LEVEL_MEMBER; + $isUserInCircle = $member !== null && $member->getLevel() >= Member::LEVEL_MEMBER; + + if (!isset($this->userCircleCache[$circleId])) { + $this->userCircleCache[$circleId] = []; + } + $this->userCircleCache[$circleId][$userId] = $isUserInCircle; + + return $isUserInCircle; } catch (Throwable $e) { } return false; diff --git a/lib/Service/OverviewService.php b/lib/Service/OverviewService.php index 1a3ab3d45..0d883141c 100644 --- a/lib/Service/OverviewService.php +++ b/lib/Service/OverviewService.php @@ -32,29 +32,18 @@ use OCA\Deck\Db\Card; use OCA\Deck\Db\CardMapper; use OCA\Deck\Model\CardDetails; use OCP\Comments\ICommentsManager; -use OCP\IGroupManager; use OCA\Deck\Db\BoardMapper; use OCA\Deck\Db\LabelMapper; use OCP\IUserManager; class OverviewService { - - /** @var BoardMapper */ - private $boardMapper; - /** @var LabelMapper */ - private $labelMapper; - /** @var CardMapper */ - private $cardMapper; - /** @var AssignmentMapper */ - private $assignedUsersMapper; - /** @var IUserManager */ - private $userManager; - /** @var IGroupManager */ - private $groupManager; - /** @var ICommentsManager */ - private $commentsManager; - /** @var AttachmentService */ - private $attachmentService; + private BoardMapper $boardMapper; + private LabelMapper $labelMapper; + private CardMapper $cardMapper; + private AssignmentMapper $assignedUsersMapper; + private IUserManager $userManager; + private ICommentsManager $commentsManager; + private AttachmentService $attachmentService; public function __construct( BoardMapper $boardMapper, @@ -62,7 +51,6 @@ class OverviewService { CardMapper $cardMapper, AssignmentMapper $assignedUsersMapper, IUserManager $userManager, - IGroupManager $groupManager, ICommentsManager $commentsManager, AttachmentService $attachmentService ) { @@ -71,7 +59,6 @@ class OverviewService { $this->cardMapper = $cardMapper; $this->assignedUsersMapper = $assignedUsersMapper; $this->userManager = $userManager; - $this->groupManager = $groupManager; $this->commentsManager = $commentsManager; $this->attachmentService = $attachmentService; } @@ -93,7 +80,7 @@ class OverviewService { } public function findAllWithDue(string $userId): array { - $userBoards = $this->findAllBoardsFromUser($userId); + $userBoards = $this->boardMapper->findAllForUser($userId); $allDueCards = []; foreach ($userBoards as $userBoard) { $allDueCards[] = array_map(function ($card) use ($userBoard, $userId) { @@ -105,7 +92,7 @@ class OverviewService { } public function findUpcomingCards(string $userId): array { - $userBoards = $this->findAllBoardsFromUser($userId); + $userBoards = $this->boardMapper->findAllForUser($userId); $foundCards = []; foreach ($userBoards as $userBoard) { if (count($userBoard->getAcl()) === 0) { @@ -126,22 +113,4 @@ class OverviewService { } return array_merge(...$foundCards); } - - // FIXME: This is duplicate code with the board service - private function findAllBoardsFromUser(string $userId): array { - $userInfo = $this->getBoardPrerequisites($userId); - $userBoards = $this->boardMapper->findAllByUser($userInfo['user'], null, null); - $groupBoards = $this->boardMapper->findAllByGroups($userInfo['user'], $userInfo['groups'], null, null); - $circleBoards = $this->boardMapper->findAllByCircles($userInfo['user'], null, null); - return array_unique(array_merge($userBoards, $groupBoards, $circleBoards)); - } - - private function getBoardPrerequisites($userId): array { - $user = $this->userManager->get($userId); - $groups = $user !== null ? $this->groupManager->getUserGroupIds($user) : []; - return [ - 'user' => $userId, - 'groups' => $groups - ]; - } } diff --git a/lib/Service/PermissionService.php b/lib/Service/PermissionService.php index b7e525c44..d0630a633 100644 --- a/lib/Service/PermissionService.php +++ b/lib/Service/PermissionService.php @@ -23,7 +23,7 @@ namespace OCA\Deck\Service; -use OC\Cache\CappedMemoryCache; +use OCP\Cache\CappedMemoryCache; use OCA\Circles\Model\Member; use OCA\Deck\Db\Acl; use OCA\Deck\Db\AclMapper; @@ -33,7 +33,6 @@ use OCA\Deck\Db\IPermissionMapper; use OCA\Deck\Db\User; use OCA\Deck\NoPermissionException; use OCP\AppFramework\Db\DoesNotExistException; -use OCP\AppFramework\Db\Entity; use OCP\AppFramework\Db\MultipleObjectsReturnedException; use OCP\IConfig; use OCP\IGroupManager; @@ -64,7 +63,8 @@ class PermissionService { /** @var array */ private $users = []; - private $boardCache; + private CappedMemoryCache $boardCache; + private CappedMemoryCache $permissionCache; public function __construct( ILogger $logger, @@ -88,6 +88,7 @@ class PermissionService { $this->userId = $userId; $this->boardCache = new CappedMemoryCache(); + $this->permissionCache = new CappedMemoryCache(); } /** @@ -97,15 +98,21 @@ class PermissionService { * @return bool|array */ public function getPermissions($boardId) { + if ($cached = $this->permissionCache->get($boardId)) { + return $cached; + } + $owner = $this->userIsBoardOwner($boardId); $acls = $this->aclMapper->findAll($boardId); - return [ + $permissions = [ Acl::PERMISSION_READ => $owner || $this->userCan($acls, Acl::PERMISSION_READ), Acl::PERMISSION_EDIT => $owner || $this->userCan($acls, Acl::PERMISSION_EDIT), Acl::PERMISSION_MANAGE => $owner || $this->userCan($acls, Acl::PERMISSION_MANAGE), Acl::PERMISSION_SHARE => ($owner || $this->userCan($acls, Acl::PERMISSION_SHARE)) && (!$this->shareManager->sharingDisabledForUser($this->userId)) ]; + $this->permissionCache->set($boardId, $permissions); + return $permissions; } /** @@ -343,5 +350,6 @@ class PermissionService { */ public function setUserId(string $userId): void { $this->userId = $userId; + $this->permissionCache->clear(); } } diff --git a/lib/Service/StackService.php b/lib/Service/StackService.php index d15544a1c..1e8bfc567 100644 --- a/lib/Service/StackService.php +++ b/lib/Service/StackService.php @@ -352,6 +352,7 @@ class StackService { $this->permissionService->checkPermission($this->stackMapper, $id, Acl::PERMISSION_MANAGE); $stackToSort = $this->stackMapper->find($id); $stacks = $this->stackMapper->findAll($stackToSort->getBoardId()); + usort($stacks, static fn (Stack $stackA, Stack $stackB) => $stackA->getOrder() - $stackB->getOrder()); $result = []; $i = 0; foreach ($stacks as $stack) { diff --git a/lib/Sharing/DeckShareProvider.php b/lib/Sharing/DeckShareProvider.php index 6e4bec244..483e68557 100644 --- a/lib/Sharing/DeckShareProvider.php +++ b/lib/Sharing/DeckShareProvider.php @@ -634,8 +634,8 @@ class DeckShareProvider implements \OCP\Share\IShareProvider { $start = 0; while (true) { /** @var IShare[] $shareSlice */ - $shareSlice = array_slice($shares, $start, 100); - $start += 100; + $shareSlice = array_slice($shares, $start, 1000); + $start += 1000; if ($shareSlice === []) { break; @@ -714,15 +714,15 @@ class DeckShareProvider implements \OCP\Share\IShareProvider { * @return IShare[] */ public function getSharedWith($userId, $shareType, $node, $limit, $offset): array { - $allBoards = $this->boardMapper->findAllForUser($userId); + $allBoards = $this->boardMapper->findBoardIds($userId); /** @var IShare[] $shares */ $shares = []; $start = 0; while (true) { - $boards = array_slice($allBoards, $start, 100); - $start += 100; + $boards = array_slice($allBoards, $start, 1000); + $start += 1000; if ($boards === []) { break; @@ -752,10 +752,6 @@ class DeckShareProvider implements \OCP\Share\IShareProvider { $qb->andWhere($qb->expr()->eq('s.file_source', $qb->createNamedParameter($node->getId()))); } - $boards = array_map(function (Board $board) { - return $board->getId(); - }, $boards); - $qb->andWhere($qb->expr()->eq('s.share_type', $qb->createNamedParameter(IShare::TYPE_DECK))) ->andWhere($qb->expr()->in('db.id', $qb->createNamedParameter( $boards, diff --git a/package-lock.json b/package-lock.json index a0d8a5e40..832ff842a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,62 +1,65 @@ { "name": "deck", - "version": "1.8.0-beta.0", + "version": "1.9.0-beta.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "deck", - "version": "1.8.0-beta.0", + "version": "1.9.0-beta.1", "license": "agpl", "dependencies": { "@babel/polyfill": "^7.12.1", - "@babel/runtime": "^7.18.9", + "@babel/runtime": "^7.19.4", "@juliushaertl/vue-richtext": "^1.0.1", - "@nextcloud/auth": "^1.3.0", - "@nextcloud/axios": "^1.10.0", - "@nextcloud/dialogs": "^3.1.4", - "@nextcloud/event-bus": "^2.1.1", + "@nextcloud/auth": "^2.0.0", + "@nextcloud/axios": "^2.1.0", + "@nextcloud/dialogs": "^3.2.0", + "@nextcloud/event-bus": "^3.0.2", "@nextcloud/files": "^2.1.0", - "@nextcloud/initial-state": "^1.2.1", + "@nextcloud/initial-state": "^2.0.0", "@nextcloud/l10n": "^1.6.0", "@nextcloud/moment": "^1.2.1", "@nextcloud/router": "^2.0.0", - "@nextcloud/vue": "^5.4.0", + "@nextcloud/vue": "^7.0.1", "@nextcloud/vue-dashboard": "^2.0.1", + "@nextcloud/vue-richtext": "^2.0.4", "blueimp-md5": "^2.19.0", - "dompurify": "^2.3.10", + "dompurify": "^2.4.0", "lodash": "^4.17.21", "markdown-it": "^13.0.1", - "markdown-it-link-attributes": "^4.0.0", + "markdown-it-link-attributes": "^4.0.1", "markdown-it-task-checkbox": "^1.0.6", "moment": "^2.29.4", "nextcloud-vue-collections": "^0.10.0", "p-queue": "^7.3.0", "url-search-params-polyfill": "^8.1.1", - "vue": "^2.7.8", - "vue-at": "^2.5.0-beta.2", + "vue": "^2.7.13", + "vue-at": "^2.5.1", "vue-click-outside": "^1.1.0", "vue-easymde": "^2.0.0", "vue-infinite-loading": "^2.4.5", "vue-material-design-icons": "^5.1.2", - "vue-router": "^3.5.4", + "vue-router": "^3.6.5", "vue-smooth-dnd": "^0.8.1", "vuex": "^3.6.2", "vuex-router-sync": "^5.0.0" }, "devDependencies": { "@nextcloud/babel-config": "^1.0.0", - "@nextcloud/browserslist-config": "^2.2.0", + "@nextcloud/browserslist-config": "^2.3.0", "@nextcloud/eslint-config": "^8.0.0", - "@nextcloud/stylelint-config": "^2.1.2", - "@nextcloud/webpack-vue-config": "^5.2.1", - "@relative-ci/agent": "^4.0.0", + "@nextcloud/stylelint-config": "^2.2.0", + "@nextcloud/webpack-vue-config": "^5.3.0", + "@relative-ci/agent": "^4.1.1", "@vue/test-utils": "^1.3.0", - "cypress": "^10.4.0", - "jest": "^28.1.3", + "cypress": "^10.10.0", + "eslint-webpack-plugin": "^3.2.0", + "jest": "^29.2.1", "jest-serializer-vue": "^2.0.2", + "stylelint-webpack-plugin": "^3.3.0", "vue-jest": "^3.0.7", - "vue-template-compiler": "^2.7.8" + "vue-template-compiler": "^2.7.13" }, "engines": { "node": "^16.0.0", @@ -938,6 +941,21 @@ "@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", "dev": true, @@ -1708,9 +1726,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", - "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", "dependencies": { "regenerator-runtime": "^0.13.4" }, @@ -1773,12 +1791,13 @@ "dev": true }, "node_modules/@bundle-stats/plugin-webpack-validate": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-validate/-/plugin-webpack-validate-4.0.1.tgz", - "integrity": "sha512-sbv4eWp1FGi6qIpO52FVsHQOuhGRWTYQkbK6xo23mN3vR/jRyWgTF9UeeD80Bi3b4sFJMnhbigLx2F3nFH+39A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-validate/-/plugin-webpack-validate-4.1.0.tgz", + "integrity": "sha512-sZmPC3KkOVTdMxheSqtJ3+wFcXcylthMA3lTWhIw10HGKQyNU7bSFatrac48zhkQLTF0TLdrqJp3ZTuAraixMQ==", "dev": true, "dependencies": { - "superstruct": "0.16.0" + "lodash": "4.17.21", + "superstruct": "0.16.5" }, "engines": { "node": ">= 14.0" @@ -1965,6 +1984,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@floating-ui/core": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.3.1.tgz", + "integrity": "sha512-ensKY7Ub59u16qsVIFEo2hwTCqZ/r9oZZFh51ivcLGHfUwTn8l1Xzng8RJUe91H/UP8PeqeBronAGx0qmzwk2g==" + }, + "node_modules/@floating-ui/dom": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.1.10.tgz", + "integrity": "sha512-4kAVoogvQm2N0XE0G6APQJuCNuErjOfPW8Ux7DFxh8+AfugWflwVJ5LDlHOwrwut7z/30NUvdtHzQ3zSip4EzQ==", + "dependencies": { + "@floating-ui/core": "^0.3.0" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.9.5", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", @@ -2083,20 +2115,20 @@ } }, "node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.2.1.tgz", + "integrity": "sha512-MF8Adcw+WPLZGBiNxn76DOuczG3BhODTcMlDCA4+cFi41OkaY/lyI0XUUhi73F88Y+7IHoGmD80pN5CtxQUdSw==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1", "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/console/node_modules/ansi-styles": { @@ -2170,43 +2202,42 @@ } }, "node_modules/@jest/core": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", - "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.2.1.tgz", + "integrity": "sha512-kuLKYqnqgerXkBUwlHVxeSuhSnd+JMnMCLfU98bpacBSfWEJPegytDh3P2m15/JHzet32hGGld4KR4OzMb6/Tg==", "dev": true, "dependencies": { - "@jest/console": "^28.1.3", - "@jest/reporters": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.2.1", + "@jest/reporters": "^29.2.1", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.1", + "@jest/types": "^29.2.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": "^28.1.3", - "jest-config": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-resolve-dependencies": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "jest-watcher": "^28.1.3", + "jest-changed-files": "^29.2.0", + "jest-config": "^29.2.1", + "jest-haste-map": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.2.1", + "jest-resolve-dependencies": "^29.2.1", + "jest-runner": "^29.2.1", + "jest-runtime": "^29.2.1", + "jest-snapshot": "^29.2.1", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.1", + "jest-watcher": "^29.2.1", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "rimraf": "^3.0.0", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -2309,88 +2340,89 @@ } }, "node_modules/@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.1.tgz", + "integrity": "sha512-EutqA7T/X6zFjw6mAWRHND+ZkTPklmIEWCNbmwX6uCmOrFrWaLbDZjA+gePHJx6fFMMRvNfjXcvzXEtz54KPlg==", "dev": true, "dependencies": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/fake-timers": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^28.1.3" + "jest-mock": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.2.1.tgz", + "integrity": "sha512-o14R2t2tHHHudwji43UKkzmmH49xfF5T++FQBK2tl88qwuBWQOcx7fNUYl+mA/9TPNAN0FkQ3usnpyS8FUwsvQ==", "dev": true, "dependencies": { - "expect": "^28.1.3", - "jest-snapshot": "^28.1.3" + "expect": "^29.2.1", + "jest-snapshot": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", - "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.1.tgz", + "integrity": "sha512-yr4aHNg5Z1CjKby5ozm7sKjgBlCOorlAoFcvrOQ/4rbZRfgZQdnmh7cth192PYIgiPZo2bBXvqdOApnAMWFJZg==", "dev": true, "dependencies": { - "jest-get-type": "^28.0.2" + "jest-get-type": "^29.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.1.tgz", + "integrity": "sha512-KWil+8fef7Uj/P/PTZlPKk1Pw117wAmr71VWFV8ZDtRtkwmTG8oY4IRf0Ss44J2y5CYRy8d/zLOhxyoGRENjvA==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.1", + "jest-util": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", - "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.2.1.tgz", + "integrity": "sha512-Z4EejYPP1OPVq2abk1+9urAwJqkgw5jB2UJGlPjb5ZwzPQF8WLMcigKEfFzZb2OHhEVPP0RZD0/DbVTY1R6iQA==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/types": "^28.1.3" + "@jest/environment": "^29.2.1", + "@jest/expect": "^29.2.1", + "@jest/types": "^29.2.1", + "jest-mock": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", - "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.2.1.tgz", + "integrity": "sha512-sCsfUKM/yIF4nNed3e/rIgVIS58EiASGMDEPWqItfLZ9UO1ALW2ASDNJzdWkxEt0T8o2Ztj619G0KKrvK+McAw==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", + "@jest/console": "^29.2.1", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.1", + "@jest/types": "^29.2.1", + "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", @@ -2402,17 +2434,16 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1", + "jest-worker": "^29.2.1", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -2491,17 +2522,18 @@ } }, "node_modules/@jest/reporters/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", + "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", "dev": true, "dependencies": { "@types/node": "*", + "jest-util": "^29.2.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters/node_modules/jest-worker/node_modules/supports-color": { @@ -2544,85 +2576,85 @@ } }, "node_modules/@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/source-map": { - "version": "28.1.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", - "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", + "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.13", + "@jridgewell/trace-mapping": "^0.3.15", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.2.1.tgz", + "integrity": "sha512-lS4+H+VkhbX6z64tZP7PAUwPqhwj3kbuEHcaLuaBuB+riyaX7oa1txe0tXgrFj5hRWvZKvqO7LZDlNWeJ7VTPA==", "dev": true, "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.2.1", + "@jest/types": "^29.2.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-sequencer": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", - "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.2.1.tgz", + "integrity": "sha512-O/pnk0/xGj3lxPVNwB6HREJ7AYvUdyP2xo/s14/9Dtf091HoOeyIhWLKQE/4HzB8lNQBMo6J5mg0bHz/uCWK7w==", "dev": true, "dependencies": { - "@jest/test-result": "^28.1.3", + "@jest/test-result": "^29.2.1", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", + "jest-haste-map": "^29.2.1", "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.2.1.tgz", + "integrity": "sha512-xup+iEuaIRSQabQaeqxaQyN0vg1Dctrp9oTObQsNf3sZEowTIa5cANYuoyi8Tqhg4GCqEVLTf18KW7ii0UeFVA==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", + "@jest/types": "^29.2.1", + "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", + "jest-haste-map": "^29.2.1", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.2.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "write-file-atomic": "^4.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/transform/node_modules/ansi-styles": { @@ -2696,12 +2728,12 @@ } }, "node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -2709,7 +2741,7 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/types/node_modules/ansi-styles": { @@ -2829,9 +2861,9 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -2870,6 +2902,13 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true, + "peer": true + }, "node_modules/@mapbox/hast-util-table-cell-style": { "version": "0.1.3", "license": "BSD-2-Clause", @@ -2881,85 +2920,26 @@ } }, "node_modules/@nextcloud/auth": { - "version": "1.3.0", - "license": "GPL-3.0-or-later", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.0.0.tgz", + "integrity": "sha512-v8K8tvjkOsGt1+gKydVeMiEwWLXlfPWSptXnMqP21Xd6pFAQxNuNNCY679XKU4MNaKzpZqLstCCxv/KrjeQv8A==", "dependencies": { - "@nextcloud/event-bus": "^1.1.3", - "@nextcloud/typings": "^0.2.2", - "core-js": "^3.6.4" + "@nextcloud/event-bus": "^3.0.0" } }, - "node_modules/@nextcloud/auth/node_modules/@nextcloud/event-bus": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-1.3.0.tgz", - "integrity": "sha512-+U5MnCvfnNWvf0lvdqJg8F+Nm8wN+s9ayuBjtiEQxTAcootv7lOnlMgfreqF3l2T0Wet2uZh4JbFVUWf8l3w7g==", - "dependencies": { - "@types/semver": "^7.3.5", - "core-js": "^3.11.2", - "semver": "^7.3.5" - } - }, - "node_modules/@nextcloud/auth/node_modules/core-js": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.14.0.tgz", - "integrity": "sha512-3s+ed8er9ahK+zJpp9ZtuVcDoFzHNiZsPbNAAE4KXgrRHbjSqqNN6xGSXq6bq7TZIbKj4NLrLb6bJ5i+vSVjHA==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/@nextcloud/auth/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==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nextcloud/auth/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@nextcloud/auth/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, "node_modules/@nextcloud/axios": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-1.10.0.tgz", - "integrity": "sha512-dC+Z5ibBRxkep6ysoRmUldUfQsZiqC5fGLbwwU0Unxjy+Qrcl2U9rcljZJagwXs1kag5/KZFG1rlGcew2GAgyg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.1.0.tgz", + "integrity": "sha512-fUwRQeYfdX0sP+DJnQiqlJfB7ngNHWu6Gbi0nYapkB7IFiLECeL2SWzDOFj+M04j4ApsblEMBqGOJ38WEgdeyA==", "dependencies": { - "@nextcloud/auth": "^1.3.0", - "axios": "^0.27.1", - "core-js": "^3.6.4" + "@nextcloud/auth": "^2.0.0", + "@nextcloud/router": "^2.0.0", + "axios": "^0.27.2", + "tslib": "^2.4.0" }, "engines": { - "node": "^14", - "npm": "^7" - } - }, - "node_modules/@nextcloud/axios/node_modules/core-js": { - "version": "3.8.2", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node": "^16.0.0", + "npm": "^7.0.0 || ^8.0.0" } }, "node_modules/@nextcloud/babel-config": { @@ -2993,31 +2973,44 @@ } }, "node_modules/@nextcloud/browserslist-config": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-2.2.0.tgz", - "integrity": "sha512-kC42RQW5rZjZZsRaEjVlIQpp6aW/yxm+zZdETnrRQnUzcPwBgF4wO4makfGT63Ckd+LkgUW+geesPiPRqxFVew==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-2.3.0.tgz", + "integrity": "sha512-1Tpkof2e9Q0UicHWahQnXXrubJoqyiaqsH9G52v3cjGeVeH3BCfa1FOa41eBwBSFe2/Jxj/wCH2YVLgIXpWbBg==", + "engines": { + "node": "^16.0.0", + "npm": "^7.0.0 || ^8.0.0" + } }, "node_modules/@nextcloud/calendar-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@nextcloud/calendar-js/-/calendar-js-3.0.0.tgz", - "integrity": "sha512-Uy/etWwRmbzG1jxcfampOCEXbGMEzY1xVCBlONVrkusUmD9t02u3jWFkRJGAHvFAtLd4iM+MdTo1x3VXemBvcA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@nextcloud/calendar-js/-/calendar-js-3.1.0.tgz", + "integrity": "sha512-tGjKfUKigyTFg3AUhW57MCMwP26rWv2EwU8QUYCJntHs8a1qzltgSJ5t3+zMsp2oDct3tHz04Q6vPR+O4T1n+Q==", "engines": { "node": ">=14.0.0", "npm": ">=7.0.0" }, "peerDependencies": { - "ical.js": "^1.4.0", + "ical.js": "^1.5.0", "uuid": "^8.3.2" } }, "node_modules/@nextcloud/capabilities": { - "version": "1.0.2", - "license": "GPL-3.0-or-later", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@nextcloud/capabilities/-/capabilities-1.0.4.tgz", + "integrity": "sha512-xsmwPPUJ8NN7YfLcq0gpDTibeb9lMBvY/bffMFnHcZi8hMGOouPiEY+CWAgJ5I9W6I2vNeacHUuTanEN5Ncb2A==", "dependencies": { "@nextcloud/initial-state": "^1.1.2", "core-js": "^3.6.4" } }, + "node_modules/@nextcloud/capabilities/node_modules/@nextcloud/initial-state": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-1.2.1.tgz", + "integrity": "sha512-2TH2DzJBolYHWfbSovTWkByAIg0gdsyuVfZpf5APnJu/9PixXKbnrVFnaEdxjeP262Gok7ARMFFQeSiuzKRQeQ==", + "dependencies": { + "core-js": "^3.6.4" + } + }, "node_modules/@nextcloud/capabilities/node_modules/core-js": { "version": "3.6.5", "hasInstallScript": true, @@ -3028,9 +3021,9 @@ } }, "node_modules/@nextcloud/dialogs": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-3.1.4.tgz", - "integrity": "sha512-Jf/DWacCqPZDWroDkdOFuX+3AyHVWjy6JpkxAUNkmFPlKjNG8fGPRm/cdQIkqVqAnC+b1sUdMqH6N89Zdyks2Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-3.2.0.tgz", + "integrity": "sha512-notaHF8LXPJINBbILCbRe+dgXnJPe7NQTIrN1vwfaGUSG9GUfEf+v367yyg2brCgV6ulE/HmNhYjTQwW5AqSJA==", "dependencies": { "@nextcloud/l10n": "^1.3.0", "@nextcloud/typings": "^1.0.0", @@ -3038,8 +3031,8 @@ "toastify-js": "^1.12.0" }, "engines": { - "node": "^14.0.0", - "npm": "^7.0.0" + "node": "^16.0.0", + "npm": "^7.0.0 || ^8.0.0" } }, "node_modules/@nextcloud/dialogs/node_modules/@nextcloud/typings": { @@ -3097,27 +3090,35 @@ } }, "node_modules/@nextcloud/event-bus": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-2.1.1.tgz", - "integrity": "sha512-YEui6N+23uyjBSIUZhf8rEjG9vol7UGgxcgxMddEbO0HS7M/sh1cocRqtn+ZVi/yPybeToGmt68SDPCgwHQHKw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.0.2.tgz", + "integrity": "sha512-svXCZa4UkoZKsBiGzTi0cVcbPFUOhCm7pMKjGumRwBvHywX+8by478IQ8Grw75PFHxajMJZ0KrOTTM8WnzzEAw==", "dependencies": { - "@types/semver": "^7.1.0", - "core-js": "^3.6.2", - "semver": "^7.3.2" + "semver": "^7.3.7" + }, + "engines": { + "node": "^16.0.0", + "npm": "^7.0.0 || ^8.0.0" } }, - "node_modules/@nextcloud/event-bus/node_modules/core-js": { - "version": "3.6.5", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@nextcloud/event-bus/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==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/@nextcloud/event-bus/node_modules/semver": { - "version": "7.3.2", - "license": "ISC", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { "semver": "bin/semver.js" }, @@ -3125,6 +3126,11 @@ "node": ">=10" } }, + "node_modules/@nextcloud/event-bus/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/@nextcloud/files": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-2.1.0.tgz", @@ -3143,22 +3149,22 @@ "url": "https://opencollective.com/core-js" } }, - "node_modules/@nextcloud/initial-state": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-1.2.1.tgz", - "integrity": "sha512-2TH2DzJBolYHWfbSovTWkByAIg0gdsyuVfZpf5APnJu/9PixXKbnrVFnaEdxjeP262Gok7ARMFFQeSiuzKRQeQ==", + "node_modules/@nextcloud/focus-trap": { + "version": "0.1.0-beta", + "resolved": "https://registry.npmjs.org/@nextcloud/focus-trap/-/focus-trap-0.1.0-beta.tgz", + "integrity": "sha512-c6mrUrvDGRVkYfUGAJl7o2lxA/iIMF46XgBdCGCnCJFISFqHoWYGQoG6adc6w2IL7uhGka+lzy38szz+WUYpkA==", "dependencies": { - "core-js": "^3.6.4" + "focus-trap": "^7.0.0" + }, + "engines": { + "node": "^16.0.0", + "npm": "^7.0.0 || ^8.0.0" } }, - "node_modules/@nextcloud/initial-state/node_modules/core-js": { - "version": "3.6.5", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } + "node_modules/@nextcloud/initial-state": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-2.0.0.tgz", + "integrity": "sha512-xmNP30v/RnkJ2z1HcuEo7YfcLJJa+FdWTwgNldXHOlMeMbl/ESpsGkWL2sULrhYurz64L0JpfwEdi/cHcmyuZQ==" }, "node_modules/@nextcloud/l10n": { "version": "1.6.0", @@ -3179,25 +3185,78 @@ } }, "node_modules/@nextcloud/logger": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.0.0.tgz", - "integrity": "sha512-C3vb8I1z67c5FhSWUNB21U6gzzD7RVgjyVUeK+QVz5nYQt1UWTp9yGyqE8G+R5QAyFFWfuOw1RHHkHJ/CWQ4YA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.3.0.tgz", + "integrity": "sha512-Oa8DLJLuLY+MdpCc/xK+bbGsyiIX+ExmNnP2wsahOebVUuM7fSRA1oSLEsSBWT2IQIvjLvCo/xMw3q4vmTeVFQ==", "dependencies": { "@nextcloud/auth": "^1.2.2", - "babel-plugin-transform-class-properties": "^6.24.1", + "core-js": "^3.6.4" + }, + "engines": { + "node": "^16.0.0", + "npm": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@nextcloud/logger/node_modules/@nextcloud/auth": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-1.3.0.tgz", + "integrity": "sha512-GfwRM9W7hat4psNdAt74UHEV+drEXQ53klCVp6JpON66ZLPeK5eJ1LQuiQDkpUxZpqNeaumXjiB98h5cug/uQw==", + "dependencies": { + "@nextcloud/event-bus": "^1.1.3", + "@nextcloud/typings": "^0.2.2", "core-js": "^3.6.4" } }, + "node_modules/@nextcloud/logger/node_modules/@nextcloud/event-bus": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-1.3.0.tgz", + "integrity": "sha512-+U5MnCvfnNWvf0lvdqJg8F+Nm8wN+s9ayuBjtiEQxTAcootv7lOnlMgfreqF3l2T0Wet2uZh4JbFVUWf8l3w7g==", + "dependencies": { + "@types/semver": "^7.3.5", + "core-js": "^3.11.2", + "semver": "^7.3.5" + } + }, "node_modules/@nextcloud/logger/node_modules/core-js": { - "version": "3.16.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.3.tgz", - "integrity": "sha512-lM3GftxzHNtPNUJg0v4pC2RC6puwMd6VZA7vXUczi+SKmCWSf4JwO89VJGMqbzmB7jlK7B5hr3S64PqwFL49cA==", + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.0.tgz", + "integrity": "sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA==", "hasInstallScript": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, + "node_modules/@nextcloud/logger/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==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nextcloud/logger/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==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nextcloud/logger/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/@nextcloud/moment": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@nextcloud/moment/-/moment-1.2.1.tgz", @@ -3237,65 +3296,66 @@ } }, "node_modules/@nextcloud/stylelint-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-2.1.2.tgz", - "integrity": "sha512-d8jpl1YXxujeDuSV35TovGXeeX4UKAMIpLw4TjkOLeN1lRVrlckrPJxvNVDV06oIFXWxq08q2HCa7PIuthQixw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-2.2.0.tgz", + "integrity": "sha512-kH3pGAofdnDZJCTyYr2hc9Y63KVVrJ3845j3DOKJNW4uUVybiRZkMccwuJvT1mJ8Gn7lgETh4vceDXuwnJlJ3Q==", "dev": true, "engines": { - "node": "^14.0.0", - "npm": "^7.0.0" + "node": "^16.0.0", + "npm": "^7.0.0 || ^8.0.0" }, "peerDependencies": { "stylelint": "^14.2.0", - "stylelint-config-recommended-scss": "^5.0.2", + "stylelint-config-recommended-scss": "^7.0.0", "stylelint-config-recommended-vue": "^1.1.0" } }, "node_modules/@nextcloud/typings": { - "version": "0.2.2", - "license": "GPL-3.0-or-later", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-0.2.4.tgz", + "integrity": "sha512-49M8XUDQH27VIQE+13KrqSOYcyOsDUk6Yfw17jbBVtXFoDJ3YBSYYq8YaKeAM3Lz2JVbEpqQW9suAT+EyYSb6g==", "dependencies": { "@types/jquery": "2.0.54" } }, "node_modules/@nextcloud/vue": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-5.4.0.tgz", - "integrity": "sha512-YybOMuStBKtCwbssxMNEd0A8k/Qr5+zm9vnSOaLaMxeB8iaUU+PgBNiYGo8O24UJjSS6FqFwg02V4XzI1Sd6Lw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-7.0.1.tgz", + "integrity": "sha512-VwukKyu2ytFLYVrLHKN+waC4xuZaaFdns5+bKX8PzYfqjhjMDbjaZubCb4VkCISsaNqfcnJiE6Rkxtw4mwI8Pw==", "dependencies": { - "@nextcloud/auth": "^1.2.3", - "@nextcloud/axios": "^1.3.2", + "@nextcloud/auth": "^2.0.0", + "@nextcloud/axios": "^2.0.0", "@nextcloud/browser-storage": "^0.1.1", "@nextcloud/calendar-js": "^3.0.0", - "@nextcloud/capabilities": "^1.0.2", - "@nextcloud/dialogs": "^3.0.0", - "@nextcloud/event-bus": "^2.0.0", - "@nextcloud/l10n": "^1.2.3", - "@nextcloud/logger": "^2.0.0", + "@nextcloud/capabilities": "^1.0.4", + "@nextcloud/dialogs": "^3.1.4", + "@nextcloud/event-bus": "^3.0.0", + "@nextcloud/focus-trap": "^0.1.0-beta", + "@nextcloud/initial-state": "^2.0.0", + "@nextcloud/l10n": "^1.6.0", + "@nextcloud/logger": "^2.2.1", "@nextcloud/router": "^2.0.0", "debounce": "1.2.1", - "emoji-mart-vue-fast": "^10.2.1", + "emoji-mart-vue-fast": "^11.1.1", "escape-html": "^1.0.3", - "focus-trap": "^6.8.1", + "floating-vue": "^1.0.0-beta.18", "hammerjs": "^2.0.8", - "linkify-string": "^3.0.2", - "md5": "^2.2.1", - "splitpanes": "^2.3.6", - "string-length": "^5.0.0", - "striptags": "^3.1.1", - "style-loader": "^3.3.1", + "linkify-string": "^4.0.0", + "md5": "^2.3.0", + "splitpanes": "^2.4.1", + "string-length": "^5.0.1", + "striptags": "^3.2.0", "tributejs": "^5.1.3", - "v-click-outside": "^3.0.1", - "v-tooltip": "^2.0.3", - "vue": "^2.6.14", - "vue-color": "^2.7.1", - "vue-material-design-icons": "^5.0.0", + "v-click-outside": "^3.2.0", + "vue": "^2.7.8", + "vue-color": "^2.8.1", + "vue-material-design-icons": "^5.1.2", "vue-multiselect": "^2.1.6", - "vue2-datepicker": "^3.6.3" + "vue2-datepicker": "^3.11.0" }, "engines": { - "node": "^14.0.0", - "npm": "^7.0.0" + "node": "^16.0.0", + "npm": "^7.0.0 || ^8.0.0" } }, "node_modules/@nextcloud/vue-dashboard": { @@ -3315,6 +3375,30 @@ "vue": "^2.6.11" } }, + "node_modules/@nextcloud/vue-dashboard/node_modules/@nextcloud/auth": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-1.3.0.tgz", + "integrity": "sha512-GfwRM9W7hat4psNdAt74UHEV+drEXQ53klCVp6JpON66ZLPeK5eJ1LQuiQDkpUxZpqNeaumXjiB98h5cug/uQw==", + "dependencies": { + "@nextcloud/event-bus": "^1.1.3", + "@nextcloud/typings": "^0.2.2", + "core-js": "^3.6.4" + } + }, + "node_modules/@nextcloud/vue-dashboard/node_modules/@nextcloud/axios": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-NyaiSC2GX2CPaH/MUGGMTTTza/TW9ZqWNGWq6LJ+pLER8nqZ9BQkwJ5kXUYGo+i3cka68PO+9WhcDv4fSABpuQ==", + "dependencies": { + "@nextcloud/auth": "^1.3.0", + "axios": "^0.27.1", + "core-js": "^3.6.4" + }, + "engines": { + "node": "^16.0.0", + "npm": "^7.0.0 || ^8.0.0" + } + }, "node_modules/@nextcloud/vue-dashboard/node_modules/@nextcloud/event-bus": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-1.3.0.tgz", @@ -3442,10 +3526,28 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, + "node_modules/@nextcloud/vue-richtext": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nextcloud/vue-richtext/-/vue-richtext-2.0.4.tgz", + "integrity": "sha512-+873AF/G8OPVz2lwajpGVRfJ1v492CeiBTrguOkOwSGReNukGyHryCucF6rZGiMFenVIpp8BjNkqjHwkh6Cs4A==", + "dependencies": { + "@nextcloud/axios": "^2.0.0", + "@nextcloud/router": "^2.0.0", + "clone": "^2.1.2", + "vue": "^2.7.8" + }, + "engines": { + "node": ">=14.0.0", + "npm": ">=7.0.0" + }, + "peerDependencies": { + "vue": "^2.7.8" + } + }, "node_modules/@nextcloud/vue/node_modules/ansi-regex": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.0.tgz", - "integrity": "sha512-tAaOSrWCHF+1Ear1Z4wnJCXA9GGox4K6Ic85a5qalES2aeEwQGr7UC93mwef49536PkCYjzkp0zIxfFvexJ6zQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "engines": { "node": ">=12" }, @@ -3454,20 +3556,20 @@ } }, "node_modules/@nextcloud/vue/node_modules/char-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.0.tgz", - "integrity": "sha512-oGu2QekBMXgyQNWPDRQ001bjvDnZe4/zBTz37TMbiKz1NbNiyiH5hRkobe7npRN6GfbGbxMYFck/vQ1r9c1VMA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", "engines": { "node": ">=12.20" } }, "node_modules/@nextcloud/vue/node_modules/emoji-mart-vue-fast": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-10.2.1.tgz", - "integrity": "sha512-PtKihhsXBEEw1jHwnoRyJAnJP1OlK4EJrEze58EbUUV7iHWGLub+yuiNSj2Uo1JBHraz4fw/pH98nFysVoe0qg==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-11.1.1.tgz", + "integrity": "sha512-mMN49N2lCQCjanSzLYBS1PlBO+7Do092FnrsWwogwmOo4p+L8N3L8TjcDk30ByXMCjSEcCDsjupCxIcaBpVNKg==", "dependencies": { "@babel/polyfill": "^7.12.1", - "@babel/runtime": "^7.16.3", + "@babel/runtime": "^7.18.6", "vue-virtual-scroller": "^1.0.10" }, "peerDependencies": { @@ -3475,26 +3577,26 @@ } }, "node_modules/@nextcloud/vue/node_modules/linkify-string": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-3.0.2.tgz", - "integrity": "sha512-e6sa4WYslcwuNA0ciRo7KPAb4VpTIOxsGPAXeSR8XlORtKak8WMleuvrt5iRZwulHAd6dI+BO7b94lNW8lbMUQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-4.0.0.tgz", + "integrity": "sha512-XofbQHvqMSfP7gX5zuiog0pFyctU75s4dOUyiw3h901VKFNe2oWHv42Wjkc+6HcuUivAtNR4pvJlXz8JBIZ4Sg==", "peerDependencies": { - "linkifyjs": "^3.0.0" + "linkifyjs": "^4.0.0" } }, "node_modules/@nextcloud/vue/node_modules/linkifyjs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-3.0.1.tgz", - "integrity": "sha512-HwXVwdNH1wESBfo2sH7Bkl+ywzbGA3+uJEfhquCyi/bMCa49bFUvd/re1NT1Lox/5jdnpQXzI9O/jykit71idg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.0.0.tgz", + "integrity": "sha512-RJuSqTcPSE7lHqZzVaZbg5w231QhIHkytiCjM6lxVHhodkt2rCBNDONCYVBYRXXIBvUl/Z+xOhRwOJnVrZB4Wg==", "peer": true }, "node_modules/@nextcloud/vue/node_modules/string-length": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.0.tgz", - "integrity": "sha512-1qjpci3h1G7BUi6dt5uAVyrO2FMUdjj3XWU970/eQh0YKhlYZ8bJMC/+BUpD21YdEhmuHv2nnbUUn024+cC7YQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", "dependencies": { "char-regex": "^2.0.0", - "strip-ansi": "^7.0.0" + "strip-ansi": "^7.0.1" }, "engines": { "node": ">=12.20" @@ -3504,11 +3606,11 @@ } }, "node_modules/@nextcloud/vue/node_modules/strip-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.0.tgz", - "integrity": "sha512-UhDTSnGF1dc0DRbUqr1aXwNoY3RgVkSWG8BrpnuFIxhP57IqbS7IRta2Gfiavds4yCxc5+fEAVVOgBZWnYkvzg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dependencies": { - "ansi-regex": "^6.0.0" + "ansi-regex": "^6.0.1" }, "engines": { "node": ">=12" @@ -3518,19 +3620,19 @@ } }, "node_modules/@nextcloud/webpack-vue-config": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@nextcloud/webpack-vue-config/-/webpack-vue-config-5.2.1.tgz", - "integrity": "sha512-FQXtXq6MsN9KPIWm70ZwIpf2DcKF3Pvq037FKht6tgmCBsZ4oZ49hK5mnZ+XkTCZnXGXS1CDP6URpTkWrlTa4A==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/webpack-vue-config/-/webpack-vue-config-5.3.0.tgz", + "integrity": "sha512-qkrFUakFS6vGQlM1oXHh2+JQhmACZtSt7bt5W3iwpCirrVarBdyxG0ZRw1PK4jOVTdAEju0fYlIoieo7X+GLIg==", "dev": true, "engines": { - "node": "^14.0.0", - "npm": "^7.0.0" + "node": "^16.0.0", + "npm": "^7.0.0 || ^8.0.0" }, "peerDependencies": { "@babel/core": "^7.16.7", "babel-loader": "^8.2.3", "css-loader": "^6.5.1", - "node-polyfill-webpack-plugin": "2.0.0", + "node-polyfill-webpack-plugin": "2.0.1", "sass": "^1.47.0", "sass-loader": "^13.0.1", "style-loader": "^3.3.1", @@ -3545,7 +3647,6 @@ "version": "2.1.4", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@nodelib/fs.stat": "2.0.4", "run-parallel": "^1.1.9" @@ -3558,7 +3659,6 @@ "version": "2.0.4", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 8" } @@ -3567,7 +3667,6 @@ "version": "1.2.6", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@nodelib/fs.scandir": "2.1.4", "fastq": "^1.6.0" @@ -3577,22 +3676,22 @@ } }, "node_modules/@relative-ci/agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@relative-ci/agent/-/agent-4.0.0.tgz", - "integrity": "sha512-g+dU2k1DU9hprXduyeptIJ9WTR+O3atfkfoAZ/k/v7ZqdwxGGLPhRio9JTDXcvhM6VV17AxCG+t3zokR9fvh4Q==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@relative-ci/agent/-/agent-4.1.1.tgz", + "integrity": "sha512-J+ec6c5xQQW3S/ZF9EaN1Eit48s3xJbr9WjcHLO9lXpt3XAY7Wunptv0j2he9rRrO+hhSsGNQyjh9dlSrIYSQg==", "dev": true, "dependencies": { - "@bundle-stats/plugin-webpack-filter": "4.0.1", - "@bundle-stats/plugin-webpack-validate": "4.0.1", - "core-js": "3.23.5", + "@bundle-stats/plugin-webpack-filter": "4.1.0", + "@bundle-stats/plugin-webpack-validate": "4.1.0", + "core-js": "3.25.5", "cosmiconfig": "7.0.1", "debug": "4.3.4", - "dotenv": "16.0.1", + "dotenv": "16.0.3", "env-ci": "7.3.0", "fs-extra": "10.1.0", "isomorphic-fetch": "3.0.0", "lodash": "4.17.21", - "yargs": "17.5.1" + "yargs": "17.6.0" }, "bin": { "relative-ci-agent": "bin/index.js" @@ -3605,9 +3704,9 @@ } }, "node_modules/@relative-ci/agent/node_modules/@bundle-stats/plugin-webpack-filter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-filter/-/plugin-webpack-filter-4.0.1.tgz", - "integrity": "sha512-aSgfCthIEjK/1FZVvmKjgZ/RmRRpwwurnyh4zUv3RvY4vncGjFrBvUMzLFTbnykL4uB/dcDI0SZ2t/UfnUD+UQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-filter/-/plugin-webpack-filter-4.1.0.tgz", + "integrity": "sha512-EL+PqTNp3O0gOI03jwz1VEIuz0CpR+K2WO3jpKatFeudMITOzSccwIZdvb07kULsiLLMisRH2ElQe0AX4q5Jcw==", "dev": true, "engines": { "node": ">= 14.0" @@ -3617,9 +3716,9 @@ } }, "node_modules/@relative-ci/agent/node_modules/core-js": { - "version": "3.23.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.23.5.tgz", - "integrity": "sha512-7Vh11tujtAZy82da4duVreQysIoO2EvVrur7y6IzZkH1IHPSekuDi8Vuw1+YKjkbfWLRD7Nc9ICQ/sIUDutcyg==", + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", + "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==", "dev": true, "hasInstallScript": true, "funding": { @@ -3628,9 +3727,9 @@ } }, "node_modules/@sinclair/typebox": { - "version": "0.24.20", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.20.tgz", - "integrity": "sha512-kVaO5aEFZb33nPMTZBxiPEkY+slxiPtqC7QX8f9B3eGOMBvEfuMfxp9DSTTCsRJPumPKjrge4yagyssO4q6qzQ==", + "version": "0.24.48", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.48.tgz", + "integrity": "sha512-WPGpRNHbkOsfBDmh8QHU7a5NWzEuYNThST8x1cISvX0RpP+1+V8zjuJqNwGJkHGIlhdIIhv6qVYqXz2q5/gjAA==", "dev": true }, "node_modules/@sinonjs/commons": { @@ -3684,9 +3783,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "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" @@ -3743,10 +3842,9 @@ } }, "node_modules/@types/eslint": { - "version": "7.28.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.2.tgz", - "integrity": "sha512-KubbADPkfoU75KgKeKLsFHXnU4ipH7wYg0TRT33NK3N3yiu7jlFAAoygIWBV+KbuHx/G+AvuGX6DllnK35gfJA==", - "peer": true, + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", + "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -3801,9 +3899,9 @@ } }, "node_modules/@types/http-proxy": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", - "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", "dev": true, "peer": true, "dependencies": { @@ -3892,9 +3990,9 @@ "license": "MIT" }, "node_modules/@types/prettier": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", - "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", + "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/qs": { @@ -3995,9 +4093,9 @@ "license": "MIT" }, "node_modules/@types/ws": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", - "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", "dev": true, "peer": true, "dependencies": { @@ -4005,9 +4103,9 @@ } }, "node_modules/@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -4030,9 +4128,9 @@ } }, "node_modules/@vue/compiler-sfc": { - "version": "2.7.8", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.8.tgz", - "integrity": "sha512-2DK4YWKfgLnW9VDR9gnju1gcYRk3flKj8UNsms7fsRmFcg35slVTZEkqwBtX+wJBXaamFfn6NxSsZh3h12Ix/Q==", + "version": "2.7.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.13.tgz", + "integrity": "sha512-zzu2rLRZlgIU+OT3Atbr7Y6PG+LW4wVQpPfNRrGDH3dM9PsrcVfa+1pKb8bW467bGM3aDOvAnsYLWVpYIv3GRg==", "dependencies": { "@babel/parser": "^7.18.4", "postcss": "^8.4.14", @@ -4040,9 +4138,9 @@ } }, "node_modules/@vue/compiler-sfc/node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.4.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", + "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", "funding": [ { "type": "opencollective", @@ -4331,14 +4429,14 @@ } }, "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "peer": true, "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { "node": ">= 0.6" @@ -4408,7 +4506,6 @@ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, - "peer": true, "dependencies": { "ajv": "^8.0.0" }, @@ -4426,7 +4523,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -4442,8 +4538,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "peer": true + "dev": true }, "node_modules/ajv-keywords": { "version": "3.5.2", @@ -4491,6 +4586,7 @@ }, "node_modules/ansi-regex": { "version": "2.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -4580,7 +4676,6 @@ "version": "2.1.0", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -4664,16 +4759,6 @@ "node": ">=8" } }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "peer": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -4751,6 +4836,7 @@ }, "node_modules/babel-code-frame": { "version": "6.26.0", + "dev": true, "license": "MIT", "dependencies": { "chalk": "^1.1.3", @@ -4760,6 +4846,7 @@ }, "node_modules/babel-code-frame/node_modules/ansi-styles": { "version": "2.2.1", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -4767,6 +4854,7 @@ }, "node_modules/babel-code-frame/node_modules/chalk": { "version": "1.1.3", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^2.2.1", @@ -4781,10 +4869,12 @@ }, "node_modules/babel-code-frame/node_modules/js-tokens": { "version": "3.0.2", + "dev": true, "license": "MIT" }, "node_modules/babel-code-frame/node_modules/supports-color": { "version": "2.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=0.8.0" @@ -4875,27 +4965,6 @@ "jsesc": "bin/jsesc" } }, - "node_modules/babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dependencies": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, "node_modules/babel-helpers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", @@ -4908,21 +4977,21 @@ } }, "node_modules/babel-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", - "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.2.1.tgz", + "integrity": "sha512-gQJwArok0mqoREiCYhXKWOgUhElJj9DpnssW6GL8dG7ARYqHEhrM9fmPHTjdqEGRVXZAd6+imo3/Vwa8TjLcsw==", "dev": true, "dependencies": { - "@jest/transform": "^28.1.3", + "@jest/transform": "^29.2.1", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.3", + "babel-preset-jest": "^29.2.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@babel/core": "^7.8.0" @@ -5039,6 +5108,7 @@ }, "node_modules/babel-messages": { "version": "6.23.0", + "dev": true, "license": "MIT", "dependencies": { "babel-runtime": "^6.22.0" @@ -5070,9 +5140,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", - "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", + "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", @@ -5081,7 +5151,7 @@ "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { @@ -5136,22 +5206,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" - }, - "node_modules/babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, "node_modules/babel-plugin-transform-es2015-modules-commonjs": { "version": "6.26.2", "dev": true, @@ -5196,16 +5250,16 @@ } }, "node_modules/babel-preset-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", - "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", + "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": "^28.1.3", + "babel-plugin-jest-hoist": "^29.2.0", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -5239,6 +5293,7 @@ }, "node_modules/babel-runtime": { "version": "6.26.0", + "dev": true, "license": "MIT", "dependencies": { "core-js": "^2.4.0", @@ -5247,10 +5302,12 @@ }, "node_modules/babel-runtime/node_modules/regenerator-runtime": { "version": "0.11.1", + "dev": true, "license": "MIT" }, "node_modules/babel-template": { "version": "6.26.0", + "dev": true, "license": "MIT", "dependencies": { "babel-runtime": "^6.26.0", @@ -5262,6 +5319,7 @@ }, "node_modules/babel-traverse": { "version": "6.26.0", + "dev": true, "license": "MIT", "dependencies": { "babel-code-frame": "^6.26.0", @@ -5277,6 +5335,7 @@ }, "node_modules/babel-traverse/node_modules/debug": { "version": "2.6.9", + "dev": true, "license": "MIT", "dependencies": { "ms": "2.0.0" @@ -5284,6 +5343,7 @@ }, "node_modules/babel-traverse/node_modules/globals": { "version": "9.18.0", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -5291,6 +5351,7 @@ }, "node_modules/babel-types": { "version": "6.26.0", + "dev": true, "license": "MIT", "dependencies": { "babel-runtime": "^6.26.0", @@ -5301,6 +5362,7 @@ }, "node_modules/babel-types/node_modules/to-fast-properties": { "version": "1.0.3", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -5308,6 +5370,7 @@ }, "node_modules/babylon": { "version": "6.18.0", + "dev": true, "license": "MIT", "bin": { "babylon": "bin/babylon.js" @@ -5402,31 +5465,34 @@ "peer": true }, "node_modules/body-parser": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", - "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "peer": true, "dependencies": { - "bytes": "3.1.1", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.6", - "raw-body": "2.4.2", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "peer": true, "engines": { @@ -5443,19 +5509,27 @@ "ms": "2.0.0" } }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/bonjour-service": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", "dev": true, "peer": true, "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", + "array-flatten": "^2.1.2", "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" } }, "node_modules/boolbase": { @@ -5673,13 +5747,6 @@ "version": "1.1.1", "license": "MIT" }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true, - "peer": true - }, "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -5889,10 +5956,16 @@ } }, "node_modules/chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "peer": true, "dependencies": { "anymatch": "~3.1.2", @@ -6081,14 +6154,17 @@ } }, "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==", + "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.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/cliui/node_modules/ansi-regex": { @@ -6144,18 +6220,6 @@ "node": ">=0.10.0" } }, - "node_modules/clone-regexp": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "is-regexp": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -6353,9 +6417,9 @@ } }, "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true, "peer": true, "engines": { @@ -6443,9 +6507,9 @@ } }, "node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, "peer": true, "engines": { @@ -6455,7 +6519,7 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true, "peer": true }, @@ -6653,9 +6717,9 @@ } }, "node_modules/css-functions-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.0.tgz", - "integrity": "sha512-rfwhBOvXVFcKrSwmLxD8JQyuEEy/3g3Y9FMI2l6iV558Coeo1ucXypXb4rwrVpk5Osh5ViXp2DTgafw8WxglhQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", + "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==", "dev": true, "peer": true, "engines": { @@ -6850,9 +6914,9 @@ "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" }, "node_modules/cypress": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-10.4.0.tgz", - "integrity": "sha512-OM7F8MRE01SHQRVVzunid1ZK1m90XTxYnl+7uZfIrB4CYqUDCrZEeSyCXzIbsS6qcaijVCAhqDL60SxG8N6hew==", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-10.10.0.tgz", + "integrity": "sha512-bU8r44x1NIYAUNNXt3CwJpLOVth7HUv2hUhYCxZmgZ1IugowDvuHNpevnoZRQx1KKOEisLvIJW+Xen5Pjn41pg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -6875,7 +6939,7 @@ "dayjs": "^1.10.4", "debug": "^4.3.2", "enquirer": "^2.3.6", - "eventemitter2": "^6.4.3", + "eventemitter2": "6.4.7", "execa": "4.1.0", "executable": "^4.1.1", "extract-zip": "2.0.1", @@ -7122,6 +7186,11 @@ "node": ">=0.10" } }, + "node_modules/date-format-parse": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/date-format-parse/-/date-format-parse-0.2.7.tgz", + "integrity": "sha512-/+lyMUKoRogMuTeOVii6lUwjbVlesN9YRYLzZT/g3TEZ3uD9QnpjResujeEqUW+OSNbT7T1+SYdyEkTcRv+KDQ==" + }, "node_modules/dayjs": { "version": "1.11.2", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", @@ -7218,24 +7287,6 @@ "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, - "node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "peer": true, - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/deep-is": { "version": "0.1.3", "dev": true, @@ -7291,29 +7342,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dev": true, - "peer": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -7344,11 +7372,15 @@ } }, "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "peer": true + "peer": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/detect-indent": { "version": "4.0.0", @@ -7380,12 +7412,12 @@ "peer": true }, "node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", + "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/diffie-hellman": { @@ -7411,7 +7443,6 @@ "version": "3.0.1", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "path-type": "^4.0.0" }, @@ -7423,7 +7454,6 @@ "version": "4.0.0", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -7431,29 +7461,21 @@ "node_modules/dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", "dev": true, "peer": true }, "node_modules/dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", "dev": true, "peer": true, "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "peer": true, - "dependencies": { - "buffer-indexof": "^1.0.0" + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" } }, "node_modules/doctrine": { @@ -7541,9 +7563,9 @@ } }, "node_modules/dompurify": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.10.tgz", - "integrity": "sha512-o7Fg/AgC7p/XpKjf/+RC3Ok6k4St5F7Q6q6+Nnm3p2zGWioAY6dh0CbbuwOhH2UcSzKsdniE/YnE2/92JcsA+g==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.0.tgz", + "integrity": "sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA==" }, "node_modules/domutils": { "version": "2.8.0", @@ -7561,9 +7583,9 @@ } }, "node_modules/dotenv": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==", + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", "dev": true, "engines": { "node": ">=12" @@ -7610,7 +7632,7 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true, "peer": true }, @@ -7695,7 +7717,7 @@ "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, "peer": true, "engines": { @@ -7873,6 +7895,7 @@ }, "node_modules/escape-string-regexp": { "version": "1.0.5", + "dev": true, "license": "MIT", "engines": { "node": ">=0.8.0" @@ -8422,6 +8445,121 @@ "node": ">=10" } }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dev": true, + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/eslint-webpack-plugin/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/eslint/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -8775,6 +8913,7 @@ }, "node_modules/esutils": { "version": "2.0.2", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8782,7 +8921,7 @@ "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, "peer": true, "engines": { @@ -8800,9 +8939,9 @@ } }, "node_modules/eventemitter2": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz", - "integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==", + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", "dev": true }, "node_modules/eventemitter3": { @@ -8852,18 +8991,6 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/execall": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "clone-regexp": "^2.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/executable": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", @@ -8886,55 +9013,56 @@ } }, "node_modules/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.1.tgz", + "integrity": "sha512-BJtA754Fba0YWRWHgjKUMTA3ltWarKgITXHQnbZ2mTxTXC4yMQlR0FI7HkB3fJYkhWBf4qjNiqvg3LDtXCcVRQ==", "dev": true, "dependencies": { - "@jest/expect-utils": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3" + "@jest/expect-utils": "^29.2.1", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/express": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", - "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", "dev": true, "peer": true, "dependencies": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.1", + "body-parser": "1.20.0", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.1", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.6", + "qs": "6.10.3", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -8946,7 +9074,7 @@ "node_modules/express/node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true, "peer": true }, @@ -8960,6 +9088,16 @@ "ms": "2.0.0" } }, + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -8981,6 +9119,16 @@ ], "peer": true }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/extend": { "version": "3.0.2", "license": "MIT" @@ -9051,7 +9199,6 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, - "peer": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -9064,8 +9211,9 @@ } }, "node_modules/fast-json-stable-stringify": { - "version": "2.0.0", - "license": "MIT" + "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==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -9074,16 +9222,19 @@ "peer": true }, "node_modules/fastest-levenshtein": { - "version": "1.0.12", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, - "license": "MIT", - "peer": true + "peer": true, + "engines": { + "node": ">= 4.9.1" + } }, "node_modules/fastq": { "version": "1.11.0", "dev": true, "license": "ISC", - "peer": true, "dependencies": { "reusify": "^1.0.4" } @@ -9102,9 +9253,9 @@ } }, "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "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" @@ -9184,18 +9335,18 @@ } }, "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "peer": true, "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "engines": { @@ -9212,6 +9363,16 @@ "ms": "2.0.0" } }, + "node_modules/finalhandler/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/find-babel-config": { "version": "1.2.0", "dev": true, @@ -9282,12 +9443,35 @@ "license": "ISC", "peer": true }, - "node_modules/focus-trap": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-6.9.4.tgz", - "integrity": "sha512-v2NTsZe2FF59Y+sDykKY+XjqZ0cPfhq/hikWVL88BqLivnNiEffAsac6rP6H45ff9wG9LL5ToiDqrLEP9GX9mw==", + "node_modules/floating-vue": { + "version": "1.0.0-beta.18", + "resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-1.0.0-beta.18.tgz", + "integrity": "sha512-mRFc78szc1BTbhlCa4okb7wAGPuH/IID+yqJ+yrTMQ038H8WIAsPV/WFgWCaXqe8d1Z12LkMqiHDVorCJy8M2A==", "dependencies": { - "tabbable": "^5.3.3" + "@floating-ui/dom": "^0.1.10", + "vue-resize": "^1.0.0" + }, + "peerDependencies": { + "vue": "^2.6.10" + } + }, + "node_modules/floating-vue/node_modules/vue-resize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-1.0.1.tgz", + "integrity": "sha512-z5M7lJs0QluJnaoMFTIeGx6dIkYxOwHThlZDeQnWZBizKblb99GSejPnK37ZbNE/rVwDcYcHY+Io+AxdpY952w==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "vue": "^2.6.0" + } + }, + "node_modules/focus-trap": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.0.0.tgz", + "integrity": "sha512-uT4Bl8TwU+5vVAx/DHil/1eVS54k9unqhK/vGy2KSh7esPmqgC0koAB9J2sJ+vtj8+vmiFyGk2unLkhNLQaxoA==", + "dependencies": { + "tabbable": "^6.0.0" } }, "node_modules/follow-redirects": { @@ -9355,7 +9539,7 @@ "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "peer": true, "engines": { @@ -9502,18 +9686,6 @@ "node": ">=8.0.0" } }, - "node_modules/get-stdin": { - "version": "8.0.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -9592,7 +9764,6 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "peer": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -9678,7 +9849,6 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "peer": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -9741,6 +9911,7 @@ }, "node_modules/has-ansi": { "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^2.0.0" @@ -10008,12 +10179,16 @@ "dev": true }, "node_modules/html-tags": { - "version": "3.1.0", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", "dev": true, - "license": "MIT", "peer": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/htmlparser2": { @@ -10044,20 +10219,40 @@ "peer": true }, "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "peer": true, "dependencies": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8" } }, "node_modules/http-parser-js": { @@ -10083,13 +10278,13 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", - "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", "dev": true, "peer": true, "dependencies": { - "@types/http-proxy": "^1.17.5", + "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", "is-plain-obj": "^3.0.0", @@ -10097,6 +10292,14 @@ }, "engines": { "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } } }, "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { @@ -10150,8 +10353,9 @@ }, "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, - "license": "MIT", "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" @@ -10185,7 +10389,6 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true, - "peer": true, "engines": { "node": ">= 4" } @@ -10307,18 +10510,12 @@ }, "node_modules/invariant": { "version": "2.2.4", + "dev": true, "license": "MIT", "dependencies": { "loose-envify": "^1.0.0" } }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true, - "peer": true - }, "node_modules/ipaddr.js": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", @@ -10494,7 +10691,6 @@ "version": "2.1.1", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -10551,7 +10747,6 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "peer": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -10637,16 +10832,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -10692,15 +10877,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-regexp": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, "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", @@ -10891,9 +11067,9 @@ } }, "node_modules/istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "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", @@ -11000,21 +11176,21 @@ "license": "MIT" }, "node_modules/jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", - "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.2.1.tgz", + "integrity": "sha512-K0N+7rx+fv3Us3KhuwRSJt55MMpZPs9Q3WSO/spRZSnsalX8yEYOTQ1PiSN7OvqzoRX4JEUXCbOJRlP4n8m5LA==", "dev": true, "dependencies": { - "@jest/core": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/core": "^29.2.1", + "@jest/types": "^29.2.1", "import-local": "^3.0.2", - "jest-cli": "^28.1.3" + "jest-cli": "^29.2.1" }, "bin": { "jest": "bin/jest.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -11026,16 +11202,16 @@ } }, "node_modules/jest-changed-files": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", - "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", + "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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-changed-files/node_modules/p-limit": { @@ -11054,33 +11230,33 @@ } }, "node_modules/jest-circus": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", - "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.2.1.tgz", + "integrity": "sha512-W+ZQQ5ln4Db2UZNM4NJIeasnhCdDhSuYW4eLgNAUi0XiSSpF634Kc5wiPvGiHvTgXMFVn1ZgWIijqhi9+kLNLg==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.2.1", + "@jest/expect": "^29.2.1", + "@jest/test-result": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", + "jest-each": "^29.2.1", + "jest-matcher-utils": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-runtime": "^29.2.1", + "jest-snapshot": "^29.2.1", + "jest-util": "^29.2.1", "p-limit": "^3.1.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-circus/node_modules/ansi-styles": { @@ -11169,21 +11345,21 @@ } }, "node_modules/jest-cli": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", - "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.2.1.tgz", + "integrity": "sha512-UIMD5aNqvPKpdlJSaeUAoLfxsh9TZvOkaMETx5qXnkboc317bcbb0eLHbIj8sFBHdcJAIAM+IRKnIU7Wi61MBw==", "dev": true, "dependencies": { - "@jest/core": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/core": "^29.2.1", + "@jest/test-result": "^29.2.1", + "@jest/types": "^29.2.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-config": "^29.2.1", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.1", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -11191,7 +11367,7 @@ "jest": "bin/jest.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" @@ -11273,36 +11449,36 @@ } }, "node_modules/jest-config": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", - "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.2.1.tgz", + "integrity": "sha512-EV5F1tQYW/quZV2br2o88hnYEeRzG53Dfi6rSG3TZBuzGQ6luhQBux/RLlU5QrJjCdq3LXxRRM8F1LP6DN1ycA==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.3", - "@jest/types": "^28.1.3", - "babel-jest": "^28.1.3", + "@jest/test-sequencer": "^29.2.1", + "@jest/types": "^29.2.1", + "babel-jest": "^29.2.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": "^28.1.3", - "jest-environment-node": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-circus": "^29.2.1", + "jest-environment-node": "^29.2.1", + "jest-get-type": "^29.2.0", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.2.1", + "jest-runner": "^29.2.1", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.1", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { "@types/node": "*", @@ -11400,18 +11576,18 @@ } }, "node_modules/jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz", + "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "diff-sequences": "^29.2.0", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-diff/node_modules/ansi-styles": { @@ -11485,31 +11661,31 @@ } }, "node_modules/jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", + "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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-each": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", - "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.2.1.tgz", + "integrity": "sha512-sGP86H/CpWHMyK3qGIGFCgP6mt+o5tu9qG4+tobl0LNdgny0aitLXs9/EBacLy3Bwqy+v4uXClqJgASJWcruYw==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.1", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.3", - "pretty-format": "^28.1.3" + "jest-get-type": "^29.2.0", + "jest-util": "^29.2.1", + "pretty-format": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-each/node_modules/ansi-styles": { @@ -11583,51 +11759,51 @@ } }, "node_modules/jest-environment-node": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.2.1.tgz", + "integrity": "sha512-PulFKwEMz6nTAdLUwglFKei3b/LixwlRiqTN6nvPE1JtrLtlnpd6LXnFI1NFHYJGlTmIWilMP2n9jEtPPKX50g==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.2.1", + "@jest/fake-timers": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-mock": "^29.2.1", + "jest-util": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.2.1.tgz", + "integrity": "sha512-wF460rAFmYc6ARcCFNw4MbGYQjYkvjovb9GBT+W10Um8q5nHq98jD6fHZMDMO3tA56S8XnmNkM8GcA8diSZfnA==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.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": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.2.1", + "jest-worker": "^29.2.1", "micromatch": "^4.0.4", "walker": "^1.0.8" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "optionalDependencies": { "fsevents": "^2.3.2" @@ -11643,17 +11819,18 @@ } }, "node_modules/jest-haste-map/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", + "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", "dev": true, "dependencies": { "@types/node": "*", + "jest-util": "^29.2.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map/node_modules/supports-color": { @@ -11672,31 +11849,31 @@ } }, "node_modules/jest-leak-detector": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", - "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.2.1.tgz", + "integrity": "sha512-1YvSqYoiurxKOJtySc+CGVmw/e1v4yNY27BjWTVzp0aTduQeA7pdieLiW05wTYG/twlKOp2xS/pWuikQEmklug==", "dev": true, "dependencies": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.1.tgz", + "integrity": "sha512-hUTBh7H/Mnb6GTpihbLh8uF5rjAMdekfW/oZNXUMAXi7bbmym2HiRpzgqf/zzkjgejMrVAkPdVSQj+32enlUww==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "jest-diff": "^29.2.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils/node_modules/ansi-styles": { @@ -11770,23 +11947,23 @@ } }, "node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-message-util/node_modules/ansi-styles": { @@ -11860,16 +12037,17 @@ } }, "node_modules/jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.1.tgz", + "integrity": "sha512-NDphaY/GqyQpTfnTZiTqqpMaw4Z0I7XnB7yBgrT6IwYrLGxpOhrejYr4ANY4YvO2sEGdd8Tx/6D0+WLQy7/qDA==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*" + "@jest/types": "^29.2.1", + "@types/node": "*", + "jest-util": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-pnp-resolver": { @@ -11890,45 +12068,45 @@ } }, "node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.2.1.tgz", + "integrity": "sha512-1dJTW76Z9622Viq4yRcwBuEXuzGtE9B2kdl05RC8Om/lAzac9uEgC+M8Q5osVidbuBPmxm8wSrcItYhca2ZAtQ==", "dev": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", + "jest-haste-map": "^29.2.1", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.1", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve-dependencies": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", - "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.2.1.tgz", + "integrity": "sha512-o3mUGX2j08usj1jIAIE8KmUVpqVAn54k80kI27ldbZf2oJn6eghhB6DvJxjrcH40va9CQgWTfU5f2Ag/MoUqgQ==", "dev": true, "dependencies": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.3" + "jest-regex-util": "^29.2.0", + "jest-snapshot": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve/node_modules/ansi-styles": { @@ -12002,35 +12180,35 @@ } }, "node_modules/jest-runner": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", - "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.2.1.tgz", + "integrity": "sha512-PojFI+uVhQ4u4YZKCN/a3yU0/l/pJJXhq1sW3JpCp8CyvGBYGddRFPKZ1WihApusxqWRTHjBJmGyPWv6Av2lWA==", "dev": true, "dependencies": { - "@jest/console": "^28.1.3", - "@jest/environment": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.2.1", + "@jest/environment": "^29.2.1", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-leak-detector": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-resolve": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-util": "^28.1.3", - "jest-watcher": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-docblock": "^29.2.0", + "jest-environment-node": "^29.2.1", + "jest-haste-map": "^29.2.1", + "jest-leak-detector": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-resolve": "^29.2.1", + "jest-runtime": "^29.2.1", + "jest-util": "^29.2.1", + "jest-watcher": "^29.2.1", + "jest-worker": "^29.2.1", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/ansi-styles": { @@ -12092,17 +12270,18 @@ } }, "node_modules/jest-runner/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", + "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", "dev": true, "dependencies": { "@types/node": "*", + "jest-util": "^29.2.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner/node_modules/jest-worker/node_modules/supports-color": { @@ -12167,36 +12346,36 @@ } }, "node_modules/jest-runtime": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", - "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.2.1.tgz", + "integrity": "sha512-PSQ880OoIW9y8E6/jjhGn3eQNgNc6ndMzCZaKqy357bv7FqCfSyYepu3yDC6Sp1Vkt+GhP2M/PVgldS2uZSFZg==", "dev": true, "dependencies": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/globals": "^28.1.3", - "@jest/source-map": "^28.1.2", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.2.1", + "@jest/fake-timers": "^29.2.1", + "@jest/globals": "^29.2.1", + "@jest/source-map": "^29.2.0", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.1", + "@jest/types": "^29.2.1", + "@types/node": "*", "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": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", + "jest-haste-map": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.2.1", + "jest-snapshot": "^29.2.1", + "jest-util": "^29.2.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runtime/node_modules/ansi-styles": { @@ -12287,37 +12466,38 @@ } }, "node_modules/jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.2.1.tgz", + "integrity": "sha512-KZdLD7iEz5M4ZYd+ezZ/kk73z+DtNbk/yJ4Qx7408Vb0CCuclJIZPa/HmIwSsCfIlOBNcYTKufr7x/Yv47oYlg==", "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": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/expect-utils": "^29.2.1", + "@jest/transform": "^29.2.1", + "@jest/types": "^29.2.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": "^28.1.3", + "expect": "^29.2.1", "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", + "jest-diff": "^29.2.1", + "jest-get-type": "^29.2.0", + "jest-haste-map": "^29.2.1", + "jest-matcher-utils": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1", "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.2.1", "semver": "^7.3.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-snapshot/node_modules/ansi-styles": { @@ -12391,9 +12571,9 @@ } }, "node_modules/jest-snapshot/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==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -12424,12 +12604,12 @@ "dev": true }, "node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -12437,7 +12617,7 @@ "picomatch": "^2.2.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-util/node_modules/ansi-styles": { @@ -12511,20 +12691,20 @@ } }, "node_modules/jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.2.1.tgz", + "integrity": "sha512-DZVX5msG6J6DL5vUUw+++6LEkXUsPwB5R7fsfM7BXdz2Ipr0Ib046ak+8egrwAR++pvSM/5laxLK977ieIGxkQ==", "dev": true, "dependencies": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.1", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", + "jest-get-type": "^29.2.0", "leven": "^3.1.0", - "pretty-format": "^28.1.3" + "pretty-format": "^29.2.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-validate/node_modules/ansi-styles": { @@ -12610,22 +12790,22 @@ } }, "node_modules/jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.2.1.tgz", + "integrity": "sha512-7jFaHUaRq50l4w/f6RuY713bvI5XskMmjWCE54NGYcY74fLkShS8LucXJke1QfGnwDSCoIqGnGGGKPwdaBYz2Q==", "dev": true, "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/test-result": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.10.2", - "jest-util": "^28.1.3", + "jest-util": "^29.2.1", "string-length": "^4.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-watcher/node_modules/ansi-styles": { @@ -12917,9 +13097,9 @@ } }, "node_modules/known-css-properties": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.24.0.tgz", - "integrity": "sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz", + "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==", "dev": true, "peer": true }, @@ -13338,9 +13518,9 @@ } }, "node_modules/markdown-it-link-attributes": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/markdown-it-link-attributes/-/markdown-it-link-attributes-4.0.0.tgz", - "integrity": "sha512-ssjxSLlLfQBkX6BvAx1rCPrx7ZoK91llQQvS3P7KXvlbnVD34OUkfXwWecN7su/7mrI/HOW0RI5szdJOIqYC3w==" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/markdown-it-link-attributes/-/markdown-it-link-attributes-4.0.1.tgz", + "integrity": "sha512-pg5OK0jPLg62H4k7M9mRJLT61gUp9nvG0XveKYHMOOluASo9OEF13WlXrpAp2aj35LbedAy3QOCgQCw0tkLKAQ==" }, "node_modules/markdown-it-task-checkbox": { "version": "1.0.6", @@ -13377,12 +13557,13 @@ } }, "node_modules/md5": { - "version": "2.2.1", - "license": "BSD-3-Clause", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", "dependencies": { - "charenc": "~0.0.1", - "crypt": "~0.0.1", - "is-buffer": "~1.1.1" + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" } }, "node_modules/md5.js": { @@ -13483,7 +13664,7 @@ "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "peer": true, "engines": { @@ -13491,13 +13672,13 @@ } }, "node_modules/memfs": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", - "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", + "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", "dev": true, "peer": true, "dependencies": { - "fs-monkey": "1.0.3" + "fs-monkey": "^1.0.3" }, "engines": { "node": ">= 4.0.0" @@ -13751,7 +13932,7 @@ "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true, "peer": true }, @@ -13783,7 +13964,6 @@ "version": "1.4.1", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 8" } @@ -13791,7 +13971,7 @@ "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, "peer": true, "engines": { @@ -13799,13 +13979,13 @@ } }, "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "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.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" @@ -13846,19 +14026,19 @@ } }, "node_modules/mime-db": { - "version": "1.50.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", - "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.33", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", - "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "mime-db": "1.50.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" @@ -13976,29 +14156,23 @@ }, "node_modules/ms": { "version": "2.0.0", + "dev": true, "license": "MIT" }, "node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, "peer": true, "dependencies": { - "dns-packet": "^1.3.1", + "dns-packet": "^5.2.2", "thunky": "^1.0.2" }, "bin": { "multicast-dns": "cli.js" } }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true, - "peer": true - }, "node_modules/nanoid": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", @@ -14016,9 +14190,9 @@ "license": "MIT" }, "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, "peer": true, "engines": { @@ -14050,6 +14224,30 @@ "vue": "^2.6.14" } }, + "node_modules/nextcloud-vue-collections/node_modules/@nextcloud/auth": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-1.3.0.tgz", + "integrity": "sha512-GfwRM9W7hat4psNdAt74UHEV+drEXQ53klCVp6JpON66ZLPeK5eJ1LQuiQDkpUxZpqNeaumXjiB98h5cug/uQw==", + "dependencies": { + "@nextcloud/event-bus": "^1.1.3", + "@nextcloud/typings": "^0.2.2", + "core-js": "^3.6.4" + } + }, + "node_modules/nextcloud-vue-collections/node_modules/@nextcloud/axios": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-NyaiSC2GX2CPaH/MUGGMTTTza/TW9ZqWNGWq6LJ+pLER8nqZ9BQkwJ5kXUYGo+i3cka68PO+9WhcDv4fSABpuQ==", + "dependencies": { + "@nextcloud/auth": "^1.3.0", + "axios": "^0.27.1", + "core-js": "^3.6.4" + }, + "engines": { + "node": "^16.0.0", + "npm": "^7.0.0 || ^8.0.0" + } + }, "node_modules/nextcloud-vue-collections/node_modules/@nextcloud/event-bus": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-1.3.0.tgz", @@ -14237,13 +14435,13 @@ } }, "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true, "peer": true, "engines": { - "node": ">= 6.0.0" + "node": ">= 6.13.0" } }, "node_modules/node-gettext": { @@ -14259,9 +14457,9 @@ "dev": true }, "node_modules/node-polyfill-webpack-plugin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-2.0.0.tgz", - "integrity": "sha512-jrMdoL1KmeTUiqLJb19nOgIFjqbX0ClJg97o0kmigy/d5dyoum0+bqPCaRpaX5mccJES6hwuQTXyCdKQ1p2Y3Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-2.0.1.tgz", + "integrity": "sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A==", "dev": true, "peer": true, "dependencies": { @@ -14299,9 +14497,9 @@ } }, "node_modules/node-polyfill-webpack-plugin/node_modules/readable-stream": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.0.0.tgz", - "integrity": "sha512-Mf7ilWBP6AV3tF3MjtBrHMH3roso7wIrpgzCwt9ybvqiJQVWIEBMnp/W+S//yvYSsUUi2cJIwD7q7m57l0AqZw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", + "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", "dev": true, "peer": true, "dependencies": { @@ -14343,9 +14541,9 @@ } }, "node_modules/node-polyfill-webpack-plugin/node_modules/type-fest": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.16.0.tgz", - "integrity": "sha512-qpaThT2HQkFb83gMOrdKVsfCN7LKxP26Yq+smPzY1FqoHRjqmjqHXA7n5Gkxi8efirtbeEUxzfEdePthQWCuHw==", + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.18.0.tgz", + "integrity": "sha512-pRS+/yrW5TjPPHNOvxhbNZexr2bS63WjrMU8a+VzEBhUi9Tz1pZeD+vQz3ut0svZ46P+SRqMEPnJmk2XnvNzTw==", "dev": true, "peer": true, "engines": { @@ -14381,12 +14579,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-selector": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "peer": true - }, "node_modules/not": { "version": "0.1.0" }, @@ -14498,9 +14690,9 @@ "peer": true }, "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "peer": true, "dependencies": { @@ -14806,7 +14998,7 @@ "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true, "peer": true }, @@ -14845,9 +15037,9 @@ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "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" @@ -14957,38 +15149,6 @@ "url": "https://opencollective.com/popperjs" } }, - "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "peer": true, - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/portfinder/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "peer": true - }, "node_modules/postcss": { "version": "7.0.36", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", @@ -15072,9 +15232,9 @@ "peer": true }, "node_modules/postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", "dev": true, "peer": true, "dependencies": { @@ -15179,27 +15339,17 @@ } }, "node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/pretty-format/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": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/pretty-format/node_modules/ansi-styles": { @@ -15361,11 +15511,14 @@ } }, "node_modules/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dev": true, "peer": true, + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" }, @@ -15411,8 +15564,7 @@ "url": "https://feross.org/support" } ], - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/quick-lru": { "version": "4.0.1", @@ -15453,14 +15605,14 @@ } }, "node_modules/raw-body": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", - "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "peer": true, "dependencies": { - "bytes": "3.1.1", - "http-errors": "1.8.1", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -15469,9 +15621,9 @@ } }, "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "peer": true, "engines": { @@ -15825,7 +15977,6 @@ "version": "2.0.2", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -15842,7 +15993,7 @@ "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true, "peer": true }, @@ -15923,7 +16074,6 @@ "version": "1.0.4", "dev": true, "license": "MIT", - "peer": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -15979,7 +16129,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "queue-microtask": "^1.2.2" } @@ -16097,13 +16246,16 @@ "peer": true }, "node_modules/selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dev": true, "peer": true, "dependencies": { - "node-forge": "^0.10.0" + "node-forge": "^1" + }, + "engines": { + "node": ">=10" } }, "node_modules/semver": { @@ -16115,25 +16267,25 @@ } }, "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "peer": true, "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -16152,10 +16304,20 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "peer": true }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -16163,6 +16325,16 @@ "dev": true, "peer": true }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/serialize-javascript": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", @@ -16232,16 +16404,16 @@ "peer": true }, "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "peer": true, "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" @@ -16540,19 +16712,10 @@ "node": ">= 6" } }, - "node_modules/specificity": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "specificity": "bin/specificity" - } - }, "node_modules/splitpanes": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-2.3.8.tgz", - "integrity": "sha512-eM/qZ1v7U5BMV8FQR7oeqVlllz3sTGTm0//g/eJMa0hZ4s+A1VK68j26FWzcaVlw2P5+dCXk7/X6ZRjjwcbrgw==" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-2.4.1.tgz", + "integrity": "sha512-kpEo1WuMXuc6QfdQdO2V/fl/trONlkUKp+pputsLTiW9RMtwEvjb4/aYGm2m3+KAzjmb+zLwr4A4SYZu74+pgQ==" }, "node_modules/sprintf-js": { "version": "1.0.3", @@ -16787,6 +16950,7 @@ }, "node_modules/strip-ansi": { "version": "3.0.1", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^2.0.0" @@ -16840,6 +17004,8 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", + "dev": true, + "peer": true, "engines": { "node": ">= 12.13.0" }, @@ -16865,45 +17031,42 @@ } }, "node_modules/stylelint": { - "version": "14.5.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.5.0.tgz", - "integrity": "sha512-4dvQjrhAz2njLoE1OvUEZpryNWcmx2w5Lq5jlibxFv6b5W6O8/vob12M2ZzhX3Ndzs5f67F+BEYmhnQXOwfVYQ==", + "version": "14.10.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.10.0.tgz", + "integrity": "sha512-VAmyKrEK+wNFh9R8mNqoxEFzaa4gsHGhcT4xgkQDuOA5cjF6CaNS8loYV7gpi4tIZBPUyXesotPXzJAMN8VLOQ==", "dev": true, "peer": true, "dependencies": { + "@csstools/selector-specificity": "^2.0.2", "balanced-match": "^2.0.0", "colord": "^2.9.2", "cosmiconfig": "^7.0.1", - "css-functions-list": "^3.0.0", - "debug": "^4.3.3", - "execall": "^2.0.0", + "css-functions-list": "^3.1.0", + "debug": "^4.3.4", "fast-glob": "^3.2.11", - "fastest-levenshtein": "^1.0.12", + "fastest-levenshtein": "^1.0.16", "file-entry-cache": "^6.0.1", - "get-stdin": "^8.0.0", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", - "html-tags": "^3.1.0", + "html-tags": "^3.2.0", "ignore": "^5.2.0", "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.24.0", + "known-css-properties": "^0.25.0", "mathml-tag-names": "^2.1.3", "meow": "^9.0.0", - "micromatch": "^4.0.4", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "normalize-selector": "^0.2.0", "picocolors": "^1.0.0", - "postcss": "^8.4.6", + "postcss": "^8.4.16", "postcss-media-query-parser": "^0.2.3", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", - "postcss-selector-parser": "^6.0.9", + "postcss-selector-parser": "^6.0.10", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", - "specificity": "^0.4.1", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "style-search": "^0.1.0", @@ -16911,7 +17074,7 @@ "svg-tags": "^1.0.0", "table": "^6.8.0", "v8-compile-cache": "^2.3.0", - "write-file-atomic": "^4.0.0" + "write-file-atomic": "^4.0.1" }, "bin": { "stylelint": "bin/stylelint.js" @@ -16939,53 +17102,59 @@ } }, "node_modules/stylelint-config-recommended": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz", - "integrity": "sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-8.0.0.tgz", + "integrity": "sha512-IK6dWvE000+xBv9jbnHOnBq01gt6HGVB2ZTsot+QsMpe82doDQ9hvplxfv4YnpEuUwVGGd9y6nbaAnhrjcxhZQ==", "dev": true, "peer": true, "peerDependencies": { - "stylelint": "^14.0.0" + "stylelint": "^14.8.0" } }, "node_modules/stylelint-config-recommended-scss": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-5.0.2.tgz", - "integrity": "sha512-b14BSZjcwW0hqbzm9b0S/ScN2+3CO3O4vcMNOw2KGf8lfVSwJ4p5TbNEXKwKl1+0FMtgRXZj6DqVUe/7nGnuBg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-7.0.0.tgz", + "integrity": "sha512-rGz1J4rMAyJkvoJW4hZasuQBB7y9KIrShb20l9DVEKKZSEi1HAy0vuNlR8HyCKy/jveb/BdaQFcoiYnmx4HoiA==", "dev": true, "peer": true, "dependencies": { "postcss-scss": "^4.0.2", - "stylelint-config-recommended": "^6.0.0", + "stylelint-config-recommended": "^8.0.0", "stylelint-scss": "^4.0.0" }, "peerDependencies": { - "stylelint": "^14.0.0" + "stylelint": "^14.4.0" } }, "node_modules/stylelint-config-recommended-scss/node_modules/postcss": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", - "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", + "version": "8.4.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", + "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], "peer": true, "dependencies": { - "nanoid": "^3.2.0", + "nanoid": "^3.3.4", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, "engines": { "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" } }, "node_modules/stylelint-config-recommended-scss/node_modules/postcss-scss": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.3.tgz", - "integrity": "sha512-j4KxzWovfdHsyxwl1BxkUal/O4uirvHgdzMKS1aWJBAV0qh2qj5qAZqpeBfVUYGWv+4iK9Az7SPyZ4fyNju1uA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz", + "integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==", "dev": true, "peer": true, "engines": { @@ -17058,9 +17227,9 @@ "peer": true }, "node_modules/stylelint-scss": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.1.0.tgz", - "integrity": "sha512-BNYTo7MMamhFOlcaAWp2dMpjg6hPyM/FFqfDIYzmYVLMmQJqc8lWRIiTqP4UX5bresj9Vo0dKC6odSh43VP2NA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.3.0.tgz", + "integrity": "sha512-GvSaKCA3tipzZHoz+nNO7S02ZqOsdBzMiCx9poSmLlb3tdJlGddEX/8QzCOD8O7GQan9bjsvLMsO5xiw6IhhIQ==", "dev": true, "peer": true, "dependencies": { @@ -17071,7 +17240,140 @@ "postcss-value-parser": "^4.1.0" }, "peerDependencies": { - "stylelint": "^14.0.0" + "stylelint": "^14.5.1" + } + }, + "node_modules/stylelint-webpack-plugin": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stylelint-webpack-plugin/-/stylelint-webpack-plugin-3.3.0.tgz", + "integrity": "sha512-F53bapIZ9zI16ero8IWm6TrUE6SSibZBphJE9b5rR2FxtvmGmm1YmS+a5xjQzn63+cv71GVSCu4byX66fBLpEw==", + "dev": true, + "dependencies": { + "globby": "^11.1.0", + "jest-worker": "^28.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "stylelint": "^13.0.0 || ^14.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/stylelint-webpack-plugin/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/stylelint-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/stylelint-webpack-plugin/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/stylelint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/stylelint-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/stylelint-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/stylelint-webpack-plugin/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/stylelint/node_modules/@csstools/selector-specificity": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", + "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "dev": true, + "peer": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2", + "postcss-selector-parser": "^6.0.10" } }, "node_modules/stylelint/node_modules/ansi-regex": { @@ -17101,22 +17403,28 @@ } }, "node_modules/stylelint/node_modules/postcss": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", - "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", + "version": "8.4.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", + "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], "peer": true, "dependencies": { - "nanoid": "^3.2.0", + "nanoid": "^3.3.4", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, "engines": { "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" } }, "node_modules/stylelint/node_modules/postcss-safe-parser": { @@ -17150,10 +17458,13 @@ } }, "node_modules/superstruct": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.16.0.tgz", - "integrity": "sha512-IDQtwnnlaan1NhuHqyD/U11lROYvCQ79JyfwlFU9xEVHzqV/Ys/RrwmHPCG0CVH/1g0BuodEjH1msxK2UHxehA==", - "dev": true + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.16.5.tgz", + "integrity": "sha512-GBa1VPdCUDAIrsoMVy2lzE/hKQnieUlc1JVoVzJ2YLx47SoPY4AqF85Ht1bPg5r+8I0v54GbaRdNTnYQ0p+T+Q==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } }, "node_modules/supports-color": { "version": "5.5.0", @@ -17171,6 +17482,7 @@ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", "dev": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -17184,6 +17496,7 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "peer": true, "engines": { "node": ">=8" } @@ -17193,6 +17506,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -17218,9 +17532,9 @@ "peer": true }, "node_modules/tabbable": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-5.3.3.tgz", - "integrity": "sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.0.0.tgz", + "integrity": "sha512-SxhZErfHc3Yozz/HLAl/iPOxuIj8AtUw13NRewVOjFW7vbsqT1f3PuiHrPQbUkRcLNEgAedAv2DnjLtzynJXiw==" }, "node_modules/table": { "version": "6.8.0", @@ -17295,22 +17609,6 @@ "node": ">=6" } }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/terser": { "version": "5.14.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", @@ -17574,8 +17872,7 @@ "node_modules/tslib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "node_modules/tty-browserify": { "version": "0.0.1", @@ -17851,7 +18148,7 @@ "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, "peer": true, "engines": { @@ -17925,7 +18222,7 @@ "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, "peer": true, "engines": { @@ -17941,8 +18238,9 @@ } }, "node_modules/v-click-outside": { - "version": "3.0.1", - "license": "MIT", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v-click-outside/-/v-click-outside-3.2.0.tgz", + "integrity": "sha512-QD0bDy38SHJXQBjgnllmkI/rbdiwmq9RC+/+pvrFjYJKTn8dtp7Penf9q1lLBta280fYG2q53mgLhQ+3l3z74w==", "engines": { "node": ">=6" } @@ -18060,16 +18358,21 @@ "peer": true }, "node_modules/vue": { - "version": "2.7.8", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.8.tgz", - "integrity": "sha512-ncwlZx5qOcn754bCu5/tS/IWPhXHopfit79cx+uIlLMyt3vCMGcXai5yCG5y+I6cDmEj4ukRYyZail9FTQh7lQ==", + "version": "2.7.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.13.tgz", + "integrity": "sha512-QnM6ULTNnPmn71eUO+4hdjfBIA3H0GLsBnchnI/kS678tjI45GOUZhXd0oP/gX9isikXz1PAzSnkPspp9EUNfQ==", "dependencies": { - "@vue/compiler-sfc": "2.7.8", + "@vue/compiler-sfc": "2.7.13", "csstype": "^3.1.0" } }, "node_modules/vue-at": { - "version": "2.5.0-beta.2", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/vue-at/-/vue-at-2.5.1.tgz", + "integrity": "sha512-c17Rn8vVTXp/rvWV76jNB2PVx534eqIAP5/Tv1twCt0ebtRPIgNaJJwSaoRVISQ6vM6m3+owmtpAG1qr5g9fyQ==", + "engines": { + "node": ">= 14.x" + }, "peerDependencies": { "vue": "2.x" } @@ -18079,8 +18382,9 @@ "license": "MIT" }, "node_modules/vue-color": { - "version": "2.7.1", - "license": "MIT", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/vue-color/-/vue-color-2.8.1.tgz", + "integrity": "sha512-BoLCEHisXi2QgwlhZBg9UepvzZZmi4176vbr+31Shen5WWZwSLVgdScEPcB+yrAtuHAz42309C0A4+WiL9lNBw==", "dependencies": { "clamp": "^1.0.1", "lodash.throttle": "^4.0.0", @@ -18280,9 +18584,9 @@ } }, "node_modules/vue-router": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.4.tgz", - "integrity": "sha512-x+/DLAJZv2mcQ7glH2oV9ze8uPwcI+H+GgTgTmb5I55bCgY3+vXWIsqbYUzbBSZnwFHEJku4eoaH/x98veyymQ==" + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz", + "integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==" }, "node_modules/vue-smooth-dnd": { "version": "0.8.1", @@ -18303,9 +18607,9 @@ } }, "node_modules/vue-template-compiler": { - "version": "2.7.8", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.8.tgz", - "integrity": "sha512-eQqdcUpJKJpBRPDdxCNsqUoT0edNvdt1jFjtVnVS/LPPmr0BU2jWzXlrf6BVMeODtdLewB3j8j3WjNiB+V+giw==", + "version": "2.7.13", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.13.tgz", + "integrity": "sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog==", "dev": true, "dependencies": { "de-indent": "^1.0.2", @@ -18334,19 +18638,16 @@ "license": "MIT" }, "node_modules/vue2-datepicker": { - "version": "3.8.2", - "license": "MIT", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.11.0.tgz", + "integrity": "sha512-zbMkAjYwDTXZozZtkpSwqxq7nEeBt7zoHL+oQcdjEXAqzJHhmatE6sl6JSr58PMIx2WOK0c6QBXozSqT32iQAQ==", "dependencies": { - "date-format-parse": "^0.2.6" + "date-format-parse": "^0.2.7" }, "peerDependencies": { "vue": "^2.5.0" } }, - "node_modules/vue2-datepicker/node_modules/date-format-parse": { - "version": "0.2.6", - "license": "MIT" - }, "node_modules/vuex": { "version": "3.6.2", "license": "MIT", @@ -18504,14 +18805,14 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", - "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", "dev": true, "peer": true, "dependencies": { "colorette": "^2.0.10", - "memfs": "^3.2.2", + "memfs": "^3.4.3", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" @@ -18528,9 +18829,9 @@ } }, "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "peer": true, "dependencies": { @@ -18585,41 +18886,41 @@ } }, "node_modules/webpack-dev-server": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.2.tgz", - "integrity": "sha512-s6yEOSfPpB6g1T2+C5ZOUt5cQOMhjI98IVmmvMNb5cdiqHoxSUfACISHqU/wZy+q4ar/A9jW0pbNj7sa50XRVA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.0.tgz", + "integrity": "sha512-L5S4Q2zT57SK7tazgzjMiSMBdsw+rGYIX27MgPgx7LDhWO0lViPrHKoLS7jo5In06PWYAhlYu3PbyoC6yAThbw==", "dev": true, "peer": true, "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", "@types/sockjs": "^0.3.33", - "@types/ws": "^8.2.2", + "@types/ws": "^8.5.1", "ansi-html-community": "^0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^3.5.2", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", "colorette": "^2.0.10", "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", + "connect-history-api-fallback": "^2.0.0", "default-gateway": "^6.0.3", - "del": "^6.0.0", - "express": "^4.17.1", + "express": "^4.17.3", "graceful-fs": "^4.2.6", "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.0", + "http-proxy-middleware": "^2.0.3", "ipaddr.js": "^2.0.1", "open": "^8.0.9", "p-retry": "^4.5.0", - "portfinder": "^1.0.28", + "rimraf": "^3.0.2", "schema-utils": "^4.0.0", - "selfsigned": "^1.10.11", + "selfsigned": "^2.0.1", "serve-index": "^1.9.1", - "sockjs": "^0.3.21", + "sockjs": "^0.3.24", "spdy": "^4.0.2", - "strip-ansi": "^7.0.0", - "webpack-dev-middleware": "^5.3.0", - "ws": "^8.1.0" + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" @@ -18627,6 +18928,10 @@ "engines": { "node": ">= 12.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, "peerDependencies": { "webpack": "^4.37.0 || ^5.0.0" }, @@ -18666,19 +18971,6 @@ "ajv": "^8.8.2" } }, - "node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -18706,44 +18998,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/webpack-dev-server/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz", - "integrity": "sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/webpack-merge": { "version": "5.8.0", "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", @@ -18952,6 +19206,28 @@ "node": "^12.13.0 || ^14.15.0 || >=16" } }, + "node_modules/ws": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", + "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "dev": true, + "peer": 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/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -18983,12 +19259,12 @@ } }, "node_modules/yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", + "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==", "dev": true, "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", @@ -19680,6 +19956,15 @@ "@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", "dev": true, @@ -20203,9 +20488,9 @@ } }, "@babel/runtime": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", - "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", "requires": { "regenerator-runtime": "^0.13.4" } @@ -20256,12 +20541,13 @@ "dev": true }, "@bundle-stats/plugin-webpack-validate": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-validate/-/plugin-webpack-validate-4.0.1.tgz", - "integrity": "sha512-sbv4eWp1FGi6qIpO52FVsHQOuhGRWTYQkbK6xo23mN3vR/jRyWgTF9UeeD80Bi3b4sFJMnhbigLx2F3nFH+39A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-validate/-/plugin-webpack-validate-4.1.0.tgz", + "integrity": "sha512-sZmPC3KkOVTdMxheSqtJ3+wFcXcylthMA3lTWhIw10HGKQyNU7bSFatrac48zhkQLTF0TLdrqJp3ZTuAraixMQ==", "dev": true, "requires": { - "superstruct": "0.16.0" + "lodash": "4.17.21", + "superstruct": "0.16.5" } }, "@colors/colors": { @@ -20412,6 +20698,19 @@ } } }, + "@floating-ui/core": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.3.1.tgz", + "integrity": "sha512-ensKY7Ub59u16qsVIFEo2hwTCqZ/r9oZZFh51ivcLGHfUwTn8l1Xzng8RJUe91H/UP8PeqeBronAGx0qmzwk2g==" + }, + "@floating-ui/dom": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.1.10.tgz", + "integrity": "sha512-4kAVoogvQm2N0XE0G6APQJuCNuErjOfPW8Ux7DFxh8+AfugWflwVJ5LDlHOwrwut7z/30NUvdtHzQ3zSip4EzQ==", + "requires": { + "@floating-ui/core": "^0.3.0" + } + }, "@humanwhocodes/config-array": { "version": "0.9.5", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", @@ -20502,16 +20801,16 @@ "dev": true }, "@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.2.1.tgz", + "integrity": "sha512-MF8Adcw+WPLZGBiNxn76DOuczG3BhODTcMlDCA4+cFi41OkaY/lyI0XUUhi73F88Y+7IHoGmD80pN5CtxQUdSw==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1", "slash": "^3.0.0" }, "dependencies": { @@ -20567,38 +20866,37 @@ } }, "@jest/core": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", - "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.2.1.tgz", + "integrity": "sha512-kuLKYqnqgerXkBUwlHVxeSuhSnd+JMnMCLfU98bpacBSfWEJPegytDh3P2m15/JHzet32hGGld4KR4OzMb6/Tg==", "dev": true, "requires": { - "@jest/console": "^28.1.3", - "@jest/reporters": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.2.1", + "@jest/reporters": "^29.2.1", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.1", + "@jest/types": "^29.2.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": "^28.1.3", - "jest-config": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-resolve-dependencies": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "jest-watcher": "^28.1.3", + "jest-changed-files": "^29.2.0", + "jest-config": "^29.2.1", + "jest-haste-map": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.2.1", + "jest-resolve-dependencies": "^29.2.1", + "jest-runner": "^29.2.1", + "jest-runtime": "^29.2.1", + "jest-snapshot": "^29.2.1", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.1", + "jest-watcher": "^29.2.1", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "rimraf": "^3.0.0", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, @@ -20670,73 +20968,74 @@ } }, "@jest/environment": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", - "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.2.1.tgz", + "integrity": "sha512-EutqA7T/X6zFjw6mAWRHND+ZkTPklmIEWCNbmwX6uCmOrFrWaLbDZjA+gePHJx6fFMMRvNfjXcvzXEtz54KPlg==", "dev": true, "requires": { - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/fake-timers": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^28.1.3" + "jest-mock": "^29.2.1" } }, "@jest/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.2.1.tgz", + "integrity": "sha512-o14R2t2tHHHudwji43UKkzmmH49xfF5T++FQBK2tl88qwuBWQOcx7fNUYl+mA/9TPNAN0FkQ3usnpyS8FUwsvQ==", "dev": true, "requires": { - "expect": "^28.1.3", - "jest-snapshot": "^28.1.3" + "expect": "^29.2.1", + "jest-snapshot": "^29.2.1" } }, "@jest/expect-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", - "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.2.1.tgz", + "integrity": "sha512-yr4aHNg5Z1CjKby5ozm7sKjgBlCOorlAoFcvrOQ/4rbZRfgZQdnmh7cth192PYIgiPZo2bBXvqdOApnAMWFJZg==", "dev": true, "requires": { - "jest-get-type": "^28.0.2" + "jest-get-type": "^29.2.0" } }, "@jest/fake-timers": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", - "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.2.1.tgz", + "integrity": "sha512-KWil+8fef7Uj/P/PTZlPKk1Pw117wAmr71VWFV8ZDtRtkwmTG8oY4IRf0Ss44J2y5CYRy8d/zLOhxyoGRENjvA==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.1", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.1", + "jest-util": "^29.2.1" } }, "@jest/globals": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", - "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.2.1.tgz", + "integrity": "sha512-Z4EejYPP1OPVq2abk1+9urAwJqkgw5jB2UJGlPjb5ZwzPQF8WLMcigKEfFzZb2OHhEVPP0RZD0/DbVTY1R6iQA==", "dev": true, "requires": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/types": "^28.1.3" + "@jest/environment": "^29.2.1", + "@jest/expect": "^29.2.1", + "@jest/types": "^29.2.1", + "jest-mock": "^29.2.1" } }, "@jest/reporters": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", - "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.2.1.tgz", + "integrity": "sha512-sCsfUKM/yIF4nNed3e/rIgVIS58EiASGMDEPWqItfLZ9UO1ALW2ASDNJzdWkxEt0T8o2Ztj619G0KKrvK+McAw==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", + "@jest/console": "^29.2.1", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.1", + "@jest/types": "^29.2.1", + "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", "collect-v8-coverage": "^1.0.0", @@ -20748,13 +21047,12 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1", + "jest-worker": "^29.2.1", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", - "terminal-link": "^2.0.0", "v8-to-istanbul": "^9.0.1" }, "dependencies": { @@ -20805,12 +21103,13 @@ "dev": true }, "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", + "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", "dev": true, "requires": { "@types/node": "*", + "jest-util": "^29.2.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -20847,66 +21146,66 @@ } }, "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "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": "28.1.2", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", - "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", + "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.13", + "@jridgewell/trace-mapping": "^0.3.15", "callsites": "^3.0.0", "graceful-fs": "^4.2.9" } }, "@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.2.1.tgz", + "integrity": "sha512-lS4+H+VkhbX6z64tZP7PAUwPqhwj3kbuEHcaLuaBuB+riyaX7oa1txe0tXgrFj5hRWvZKvqO7LZDlNWeJ7VTPA==", "dev": true, "requires": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.2.1", + "@jest/types": "^29.2.1", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", - "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.2.1.tgz", + "integrity": "sha512-O/pnk0/xGj3lxPVNwB6HREJ7AYvUdyP2xo/s14/9Dtf091HoOeyIhWLKQE/4HzB8lNQBMo6J5mg0bHz/uCWK7w==", "dev": true, "requires": { - "@jest/test-result": "^28.1.3", + "@jest/test-result": "^29.2.1", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", + "jest-haste-map": "^29.2.1", "slash": "^3.0.0" } }, "@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.2.1.tgz", + "integrity": "sha512-xup+iEuaIRSQabQaeqxaQyN0vg1Dctrp9oTObQsNf3sZEowTIa5cANYuoyi8Tqhg4GCqEVLTf18KW7ii0UeFVA==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", + "@jest/types": "^29.2.1", + "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", + "jest-haste-map": "^29.2.1", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.2.1", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -20965,12 +21264,12 @@ } }, "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.1.tgz", + "integrity": "sha512-O/QNDQODLnINEPAI0cl9U6zUIDXEWXt6IC1o2N2QENuos7hlGUIthlKyV4p6ki3TvXFX071blj8HUhgLGquPjw==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -21067,9 +21366,9 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", "requires": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -21097,6 +21396,13 @@ } } }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true, + "peer": true + }, "@mapbox/hast-util-table-cell-style": { "version": "0.1.3", "requires": { @@ -21104,64 +21410,22 @@ } }, "@nextcloud/auth": { - "version": "1.3.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-2.0.0.tgz", + "integrity": "sha512-v8K8tvjkOsGt1+gKydVeMiEwWLXlfPWSptXnMqP21Xd6pFAQxNuNNCY679XKU4MNaKzpZqLstCCxv/KrjeQv8A==", "requires": { - "@nextcloud/event-bus": "^1.1.3", - "@nextcloud/typings": "^0.2.2", - "core-js": "^3.6.4" - }, - "dependencies": { - "@nextcloud/event-bus": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-1.3.0.tgz", - "integrity": "sha512-+U5MnCvfnNWvf0lvdqJg8F+Nm8wN+s9ayuBjtiEQxTAcootv7lOnlMgfreqF3l2T0Wet2uZh4JbFVUWf8l3w7g==", - "requires": { - "@types/semver": "^7.3.5", - "core-js": "^3.11.2", - "semver": "^7.3.5" - } - }, - "core-js": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.14.0.tgz", - "integrity": "sha512-3s+ed8er9ahK+zJpp9ZtuVcDoFzHNiZsPbNAAE4KXgrRHbjSqqNN6xGSXq6bq7TZIbKj4NLrLb6bJ5i+vSVjHA==" - }, - "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==", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } + "@nextcloud/event-bus": "^3.0.0" } }, "@nextcloud/axios": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-1.10.0.tgz", - "integrity": "sha512-dC+Z5ibBRxkep6ysoRmUldUfQsZiqC5fGLbwwU0Unxjy+Qrcl2U9rcljZJagwXs1kag5/KZFG1rlGcew2GAgyg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-2.1.0.tgz", + "integrity": "sha512-fUwRQeYfdX0sP+DJnQiqlJfB7ngNHWu6Gbi0nYapkB7IFiLECeL2SWzDOFj+M04j4ApsblEMBqGOJ38WEgdeyA==", "requires": { - "@nextcloud/auth": "^1.3.0", - "axios": "^0.27.1", - "core-js": "^3.6.4" - }, - "dependencies": { - "core-js": { - "version": "3.8.2" - } + "@nextcloud/auth": "^2.0.0", + "@nextcloud/router": "^2.0.0", + "axios": "^0.27.2", + "tslib": "^2.4.0" } }, "@nextcloud/babel-config": { @@ -21183,32 +21447,42 @@ } }, "@nextcloud/browserslist-config": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-2.2.0.tgz", - "integrity": "sha512-kC42RQW5rZjZZsRaEjVlIQpp6aW/yxm+zZdETnrRQnUzcPwBgF4wO4makfGT63Ckd+LkgUW+geesPiPRqxFVew==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/browserslist-config/-/browserslist-config-2.3.0.tgz", + "integrity": "sha512-1Tpkof2e9Q0UicHWahQnXXrubJoqyiaqsH9G52v3cjGeVeH3BCfa1FOa41eBwBSFe2/Jxj/wCH2YVLgIXpWbBg==" }, "@nextcloud/calendar-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@nextcloud/calendar-js/-/calendar-js-3.0.0.tgz", - "integrity": "sha512-Uy/etWwRmbzG1jxcfampOCEXbGMEzY1xVCBlONVrkusUmD9t02u3jWFkRJGAHvFAtLd4iM+MdTo1x3VXemBvcA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@nextcloud/calendar-js/-/calendar-js-3.1.0.tgz", + "integrity": "sha512-tGjKfUKigyTFg3AUhW57MCMwP26rWv2EwU8QUYCJntHs8a1qzltgSJ5t3+zMsp2oDct3tHz04Q6vPR+O4T1n+Q==", "requires": {} }, "@nextcloud/capabilities": { - "version": "1.0.2", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@nextcloud/capabilities/-/capabilities-1.0.4.tgz", + "integrity": "sha512-xsmwPPUJ8NN7YfLcq0gpDTibeb9lMBvY/bffMFnHcZi8hMGOouPiEY+CWAgJ5I9W6I2vNeacHUuTanEN5Ncb2A==", "requires": { "@nextcloud/initial-state": "^1.1.2", "core-js": "^3.6.4" }, "dependencies": { + "@nextcloud/initial-state": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-1.2.1.tgz", + "integrity": "sha512-2TH2DzJBolYHWfbSovTWkByAIg0gdsyuVfZpf5APnJu/9PixXKbnrVFnaEdxjeP262Gok7ARMFFQeSiuzKRQeQ==", + "requires": { + "core-js": "^3.6.4" + } + }, "core-js": { "version": "3.6.5" } } }, "@nextcloud/dialogs": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-3.1.4.tgz", - "integrity": "sha512-Jf/DWacCqPZDWroDkdOFuX+3AyHVWjy6JpkxAUNkmFPlKjNG8fGPRm/cdQIkqVqAnC+b1sUdMqH6N89Zdyks2Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-3.2.0.tgz", + "integrity": "sha512-notaHF8LXPJINBbILCbRe+dgXnJPe7NQTIrN1vwfaGUSG9GUfEf+v367yyg2brCgV6ulE/HmNhYjTQwW5AqSJA==", "requires": { "@nextcloud/l10n": "^1.3.0", "@nextcloud/typings": "^1.0.0", @@ -21243,20 +21517,33 @@ } }, "@nextcloud/event-bus": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-2.1.1.tgz", - "integrity": "sha512-YEui6N+23uyjBSIUZhf8rEjG9vol7UGgxcgxMddEbO0HS7M/sh1cocRqtn+ZVi/yPybeToGmt68SDPCgwHQHKw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-3.0.2.tgz", + "integrity": "sha512-svXCZa4UkoZKsBiGzTi0cVcbPFUOhCm7pMKjGumRwBvHywX+8by478IQ8Grw75PFHxajMJZ0KrOTTM8WnzzEAw==", "requires": { - "@types/semver": "^7.1.0", - "core-js": "^3.6.2", - "semver": "^7.3.2" + "semver": "^7.3.7" }, "dependencies": { - "core-js": { - "version": "3.6.5" + "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==", + "requires": { + "yallist": "^4.0.0" + } }, "semver": { - "version": "7.3.2" + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -21274,19 +21561,19 @@ } } }, - "@nextcloud/initial-state": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-1.2.1.tgz", - "integrity": "sha512-2TH2DzJBolYHWfbSovTWkByAIg0gdsyuVfZpf5APnJu/9PixXKbnrVFnaEdxjeP262Gok7ARMFFQeSiuzKRQeQ==", + "@nextcloud/focus-trap": { + "version": "0.1.0-beta", + "resolved": "https://registry.npmjs.org/@nextcloud/focus-trap/-/focus-trap-0.1.0-beta.tgz", + "integrity": "sha512-c6mrUrvDGRVkYfUGAJl7o2lxA/iIMF46XgBdCGCnCJFISFqHoWYGQoG6adc6w2IL7uhGka+lzy38szz+WUYpkA==", "requires": { - "core-js": "^3.6.4" - }, - "dependencies": { - "core-js": { - "version": "3.6.5" - } + "focus-trap": "^7.0.0" } }, + "@nextcloud/initial-state": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@nextcloud/initial-state/-/initial-state-2.0.0.tgz", + "integrity": "sha512-xmNP30v/RnkJ2z1HcuEo7YfcLJJa+FdWTwgNldXHOlMeMbl/ESpsGkWL2sULrhYurz64L0JpfwEdi/cHcmyuZQ==" + }, "@nextcloud/l10n": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@nextcloud/l10n/-/l10n-1.6.0.tgz", @@ -21302,19 +21589,59 @@ } }, "@nextcloud/logger": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.0.0.tgz", - "integrity": "sha512-C3vb8I1z67c5FhSWUNB21U6gzzD7RVgjyVUeK+QVz5nYQt1UWTp9yGyqE8G+R5QAyFFWfuOw1RHHkHJ/CWQ4YA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.3.0.tgz", + "integrity": "sha512-Oa8DLJLuLY+MdpCc/xK+bbGsyiIX+ExmNnP2wsahOebVUuM7fSRA1oSLEsSBWT2IQIvjLvCo/xMw3q4vmTeVFQ==", "requires": { "@nextcloud/auth": "^1.2.2", - "babel-plugin-transform-class-properties": "^6.24.1", "core-js": "^3.6.4" }, "dependencies": { + "@nextcloud/auth": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-1.3.0.tgz", + "integrity": "sha512-GfwRM9W7hat4psNdAt74UHEV+drEXQ53klCVp6JpON66ZLPeK5eJ1LQuiQDkpUxZpqNeaumXjiB98h5cug/uQw==", + "requires": { + "@nextcloud/event-bus": "^1.1.3", + "@nextcloud/typings": "^0.2.2", + "core-js": "^3.6.4" + } + }, + "@nextcloud/event-bus": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-1.3.0.tgz", + "integrity": "sha512-+U5MnCvfnNWvf0lvdqJg8F+Nm8wN+s9ayuBjtiEQxTAcootv7lOnlMgfreqF3l2T0Wet2uZh4JbFVUWf8l3w7g==", + "requires": { + "@types/semver": "^7.3.5", + "core-js": "^3.11.2", + "semver": "^7.3.5" + } + }, "core-js": { - "version": "3.16.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.3.tgz", - "integrity": "sha512-lM3GftxzHNtPNUJg0v4pC2RC6puwMd6VZA7vXUczi+SKmCWSf4JwO89VJGMqbzmB7jlK7B5hr3S64PqwFL49cA==" + "version": "3.25.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.0.tgz", + "integrity": "sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA==" + }, + "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==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -21349,101 +21676,103 @@ } }, "@nextcloud/stylelint-config": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-2.1.2.tgz", - "integrity": "sha512-d8jpl1YXxujeDuSV35TovGXeeX4UKAMIpLw4TjkOLeN1lRVrlckrPJxvNVDV06oIFXWxq08q2HCa7PIuthQixw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@nextcloud/stylelint-config/-/stylelint-config-2.2.0.tgz", + "integrity": "sha512-kH3pGAofdnDZJCTyYr2hc9Y63KVVrJ3845j3DOKJNW4uUVybiRZkMccwuJvT1mJ8Gn7lgETh4vceDXuwnJlJ3Q==", "dev": true, "requires": {} }, "@nextcloud/typings": { - "version": "0.2.2", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@nextcloud/typings/-/typings-0.2.4.tgz", + "integrity": "sha512-49M8XUDQH27VIQE+13KrqSOYcyOsDUk6Yfw17jbBVtXFoDJ3YBSYYq8YaKeAM3Lz2JVbEpqQW9suAT+EyYSb6g==", "requires": { "@types/jquery": "2.0.54" } }, "@nextcloud/vue": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-5.4.0.tgz", - "integrity": "sha512-YybOMuStBKtCwbssxMNEd0A8k/Qr5+zm9vnSOaLaMxeB8iaUU+PgBNiYGo8O24UJjSS6FqFwg02V4XzI1Sd6Lw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-7.0.1.tgz", + "integrity": "sha512-VwukKyu2ytFLYVrLHKN+waC4xuZaaFdns5+bKX8PzYfqjhjMDbjaZubCb4VkCISsaNqfcnJiE6Rkxtw4mwI8Pw==", "requires": { - "@nextcloud/auth": "^1.2.3", - "@nextcloud/axios": "^1.3.2", + "@nextcloud/auth": "^2.0.0", + "@nextcloud/axios": "^2.0.0", "@nextcloud/browser-storage": "^0.1.1", "@nextcloud/calendar-js": "^3.0.0", - "@nextcloud/capabilities": "^1.0.2", - "@nextcloud/dialogs": "^3.0.0", - "@nextcloud/event-bus": "^2.0.0", - "@nextcloud/l10n": "^1.2.3", - "@nextcloud/logger": "^2.0.0", + "@nextcloud/capabilities": "^1.0.4", + "@nextcloud/dialogs": "^3.1.4", + "@nextcloud/event-bus": "^3.0.0", + "@nextcloud/focus-trap": "^0.1.0-beta", + "@nextcloud/initial-state": "^2.0.0", + "@nextcloud/l10n": "^1.6.0", + "@nextcloud/logger": "^2.2.1", "@nextcloud/router": "^2.0.0", "debounce": "1.2.1", - "emoji-mart-vue-fast": "^10.2.1", + "emoji-mart-vue-fast": "^11.1.1", "escape-html": "^1.0.3", - "focus-trap": "^6.8.1", + "floating-vue": "^1.0.0-beta.18", "hammerjs": "^2.0.8", - "linkify-string": "^3.0.2", - "md5": "^2.2.1", - "splitpanes": "^2.3.6", - "string-length": "^5.0.0", - "striptags": "^3.1.1", - "style-loader": "^3.3.1", + "linkify-string": "^4.0.0", + "md5": "^2.3.0", + "splitpanes": "^2.4.1", + "string-length": "^5.0.1", + "striptags": "^3.2.0", "tributejs": "^5.1.3", - "v-click-outside": "^3.0.1", - "v-tooltip": "^2.0.3", - "vue": "^2.6.14", - "vue-color": "^2.7.1", - "vue-material-design-icons": "^5.0.0", + "v-click-outside": "^3.2.0", + "vue": "^2.7.8", + "vue-color": "^2.8.1", + "vue-material-design-icons": "^5.1.2", "vue-multiselect": "^2.1.6", - "vue2-datepicker": "^3.6.3" + "vue2-datepicker": "^3.11.0" }, "dependencies": { "ansi-regex": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.0.tgz", - "integrity": "sha512-tAaOSrWCHF+1Ear1Z4wnJCXA9GGox4K6Ic85a5qalES2aeEwQGr7UC93mwef49536PkCYjzkp0zIxfFvexJ6zQ==" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" }, "char-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.0.tgz", - "integrity": "sha512-oGu2QekBMXgyQNWPDRQ001bjvDnZe4/zBTz37TMbiKz1NbNiyiH5hRkobe7npRN6GfbGbxMYFck/vQ1r9c1VMA==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" }, "emoji-mart-vue-fast": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-10.2.1.tgz", - "integrity": "sha512-PtKihhsXBEEw1jHwnoRyJAnJP1OlK4EJrEze58EbUUV7iHWGLub+yuiNSj2Uo1JBHraz4fw/pH98nFysVoe0qg==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-11.1.1.tgz", + "integrity": "sha512-mMN49N2lCQCjanSzLYBS1PlBO+7Do092FnrsWwogwmOo4p+L8N3L8TjcDk30ByXMCjSEcCDsjupCxIcaBpVNKg==", "requires": { "@babel/polyfill": "^7.12.1", - "@babel/runtime": "^7.16.3", + "@babel/runtime": "^7.18.6", "vue-virtual-scroller": "^1.0.10" } }, "linkify-string": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-3.0.2.tgz", - "integrity": "sha512-e6sa4WYslcwuNA0ciRo7KPAb4VpTIOxsGPAXeSR8XlORtKak8WMleuvrt5iRZwulHAd6dI+BO7b94lNW8lbMUQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-4.0.0.tgz", + "integrity": "sha512-XofbQHvqMSfP7gX5zuiog0pFyctU75s4dOUyiw3h901VKFNe2oWHv42Wjkc+6HcuUivAtNR4pvJlXz8JBIZ4Sg==", "requires": {} }, "linkifyjs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-3.0.1.tgz", - "integrity": "sha512-HwXVwdNH1wESBfo2sH7Bkl+ywzbGA3+uJEfhquCyi/bMCa49bFUvd/re1NT1Lox/5jdnpQXzI9O/jykit71idg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.0.0.tgz", + "integrity": "sha512-RJuSqTcPSE7lHqZzVaZbg5w231QhIHkytiCjM6lxVHhodkt2rCBNDONCYVBYRXXIBvUl/Z+xOhRwOJnVrZB4Wg==", "peer": true }, "string-length": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.0.tgz", - "integrity": "sha512-1qjpci3h1G7BUi6dt5uAVyrO2FMUdjj3XWU970/eQh0YKhlYZ8bJMC/+BUpD21YdEhmuHv2nnbUUn024+cC7YQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", "requires": { "char-regex": "^2.0.0", - "strip-ansi": "^7.0.0" + "strip-ansi": "^7.0.1" } }, "strip-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.0.tgz", - "integrity": "sha512-UhDTSnGF1dc0DRbUqr1aXwNoY3RgVkSWG8BrpnuFIxhP57IqbS7IRta2Gfiavds4yCxc5+fEAVVOgBZWnYkvzg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "requires": { - "ansi-regex": "^6.0.0" + "ansi-regex": "^6.0.1" } } } @@ -21458,6 +21787,26 @@ "vue": "^2.6.11" }, "dependencies": { + "@nextcloud/auth": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-1.3.0.tgz", + "integrity": "sha512-GfwRM9W7hat4psNdAt74UHEV+drEXQ53klCVp6JpON66ZLPeK5eJ1LQuiQDkpUxZpqNeaumXjiB98h5cug/uQw==", + "requires": { + "@nextcloud/event-bus": "^1.1.3", + "@nextcloud/typings": "^0.2.2", + "core-js": "^3.6.4" + } + }, + "@nextcloud/axios": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-NyaiSC2GX2CPaH/MUGGMTTTza/TW9ZqWNGWq6LJ+pLER8nqZ9BQkwJ5kXUYGo+i3cka68PO+9WhcDv4fSABpuQ==", + "requires": { + "@nextcloud/auth": "^1.3.0", + "axios": "^0.27.1", + "core-js": "^3.6.4" + } + }, "@nextcloud/event-bus": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-1.3.0.tgz", @@ -21557,17 +21906,27 @@ } } }, + "@nextcloud/vue-richtext": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nextcloud/vue-richtext/-/vue-richtext-2.0.4.tgz", + "integrity": "sha512-+873AF/G8OPVz2lwajpGVRfJ1v492CeiBTrguOkOwSGReNukGyHryCucF6rZGiMFenVIpp8BjNkqjHwkh6Cs4A==", + "requires": { + "@nextcloud/axios": "^2.0.0", + "@nextcloud/router": "^2.0.0", + "clone": "^2.1.2", + "vue": "^2.7.8" + } + }, "@nextcloud/webpack-vue-config": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@nextcloud/webpack-vue-config/-/webpack-vue-config-5.2.1.tgz", - "integrity": "sha512-FQXtXq6MsN9KPIWm70ZwIpf2DcKF3Pvq037FKht6tgmCBsZ4oZ49hK5mnZ+XkTCZnXGXS1CDP6URpTkWrlTa4A==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/webpack-vue-config/-/webpack-vue-config-5.3.0.tgz", + "integrity": "sha512-qkrFUakFS6vGQlM1oXHh2+JQhmACZtSt7bt5W3iwpCirrVarBdyxG0ZRw1PK4jOVTdAEju0fYlIoieo7X+GLIg==", "dev": true, "requires": {} }, "@nodelib/fs.scandir": { "version": "2.1.4", "dev": true, - "peer": true, "requires": { "@nodelib/fs.stat": "2.0.4", "run-parallel": "^1.1.9" @@ -21575,56 +21934,54 @@ }, "@nodelib/fs.stat": { "version": "2.0.4", - "dev": true, - "peer": true + "dev": true }, "@nodelib/fs.walk": { "version": "1.2.6", "dev": true, - "peer": true, "requires": { "@nodelib/fs.scandir": "2.1.4", "fastq": "^1.6.0" } }, "@relative-ci/agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@relative-ci/agent/-/agent-4.0.0.tgz", - "integrity": "sha512-g+dU2k1DU9hprXduyeptIJ9WTR+O3atfkfoAZ/k/v7ZqdwxGGLPhRio9JTDXcvhM6VV17AxCG+t3zokR9fvh4Q==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@relative-ci/agent/-/agent-4.1.1.tgz", + "integrity": "sha512-J+ec6c5xQQW3S/ZF9EaN1Eit48s3xJbr9WjcHLO9lXpt3XAY7Wunptv0j2he9rRrO+hhSsGNQyjh9dlSrIYSQg==", "dev": true, "requires": { - "@bundle-stats/plugin-webpack-filter": "4.0.1", - "@bundle-stats/plugin-webpack-validate": "4.0.1", - "core-js": "3.23.5", + "@bundle-stats/plugin-webpack-filter": "4.1.0", + "@bundle-stats/plugin-webpack-validate": "4.1.0", + "core-js": "3.25.5", "cosmiconfig": "7.0.1", "debug": "4.3.4", - "dotenv": "16.0.1", + "dotenv": "16.0.3", "env-ci": "7.3.0", "fs-extra": "10.1.0", "isomorphic-fetch": "3.0.0", "lodash": "4.17.21", - "yargs": "17.5.1" + "yargs": "17.6.0" }, "dependencies": { "@bundle-stats/plugin-webpack-filter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-filter/-/plugin-webpack-filter-4.0.1.tgz", - "integrity": "sha512-aSgfCthIEjK/1FZVvmKjgZ/RmRRpwwurnyh4zUv3RvY4vncGjFrBvUMzLFTbnykL4uB/dcDI0SZ2t/UfnUD+UQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@bundle-stats/plugin-webpack-filter/-/plugin-webpack-filter-4.1.0.tgz", + "integrity": "sha512-EL+PqTNp3O0gOI03jwz1VEIuz0CpR+K2WO3jpKatFeudMITOzSccwIZdvb07kULsiLLMisRH2ElQe0AX4q5Jcw==", "dev": true, "requires": {} }, "core-js": { - "version": "3.23.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.23.5.tgz", - "integrity": "sha512-7Vh11tujtAZy82da4duVreQysIoO2EvVrur7y6IzZkH1IHPSekuDi8Vuw1+YKjkbfWLRD7Nc9ICQ/sIUDutcyg==", + "version": "3.25.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", + "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==", "dev": true } } }, "@sinclair/typebox": { - "version": "0.24.20", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.20.tgz", - "integrity": "sha512-kVaO5aEFZb33nPMTZBxiPEkY+slxiPtqC7QX8f9B3eGOMBvEfuMfxp9DSTTCsRJPumPKjrge4yagyssO4q6qzQ==", + "version": "0.24.48", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.48.tgz", + "integrity": "sha512-WPGpRNHbkOsfBDmh8QHU7a5NWzEuYNThST8x1cISvX0RpP+1+V8zjuJqNwGJkHGIlhdIIhv6qVYqXz2q5/gjAA==", "dev": true }, "@sinonjs/commons": { @@ -21678,9 +22035,9 @@ } }, "@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "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" @@ -21737,10 +22094,9 @@ } }, "@types/eslint": { - "version": "7.28.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.2.tgz", - "integrity": "sha512-KubbADPkfoU75KgKeKLsFHXnU4ipH7wYg0TRT33NK3N3yiu7jlFAAoygIWBV+KbuHx/G+AvuGX6DllnK35gfJA==", - "peer": true, + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", + "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", "requires": { "@types/estree": "*", "@types/json-schema": "*" @@ -21794,9 +22150,9 @@ } }, "@types/http-proxy": { - "version": "1.17.8", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz", - "integrity": "sha512-5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==", + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", "dev": true, "peer": true, "requires": { @@ -21880,9 +22236,9 @@ "dev": true }, "@types/prettier": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.3.tgz", - "integrity": "sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==", + "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/qs": { @@ -21980,9 +22336,9 @@ "version": "2.0.3" }, "@types/ws": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", - "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", "dev": true, "peer": true, "requires": { @@ -21990,9 +22346,9 @@ } }, "@types/yargs": { - "version": "17.0.10", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz", - "integrity": "sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==", + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", + "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -22015,9 +22371,9 @@ } }, "@vue/compiler-sfc": { - "version": "2.7.8", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.8.tgz", - "integrity": "sha512-2DK4YWKfgLnW9VDR9gnju1gcYRk3flKj8UNsms7fsRmFcg35slVTZEkqwBtX+wJBXaamFfn6NxSsZh3h12Ix/Q==", + "version": "2.7.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.13.tgz", + "integrity": "sha512-zzu2rLRZlgIU+OT3Atbr7Y6PG+LW4wVQpPfNRrGDH3dM9PsrcVfa+1pKb8bW467bGM3aDOvAnsYLWVpYIv3GRg==", "requires": { "@babel/parser": "^7.18.4", "postcss": "^8.4.14", @@ -22025,9 +22381,9 @@ }, "dependencies": { "postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.4.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", + "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", "requires": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", @@ -22278,14 +22634,14 @@ } }, "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "peer": true, "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" } }, "acorn": { @@ -22335,7 +22691,6 @@ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, - "peer": true, "requires": { "ajv": "^8.0.0" }, @@ -22345,7 +22700,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "dev": true, - "peer": true, "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -22357,8 +22711,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "peer": true + "dev": true } } }, @@ -22389,7 +22742,8 @@ "peer": true }, "ansi-regex": { - "version": "2.1.1" + "version": "2.1.1", + "dev": true }, "ansi-styles": { "version": "3.2.1", @@ -22446,8 +22800,7 @@ }, "array-union": { "version": "2.1.0", - "dev": true, - "peer": true + "dev": true }, "array.prototype.flat": { "version": "1.3.0", @@ -22518,16 +22871,6 @@ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "peer": true, - "requires": { - "lodash": "^4.17.14" - } - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -22585,6 +22928,7 @@ }, "babel-code-frame": { "version": "6.26.0", + "dev": true, "requires": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -22592,10 +22936,12 @@ }, "dependencies": { "ansi-styles": { - "version": "2.2.1" + "version": "2.2.1", + "dev": true }, "chalk": { "version": "1.1.3", + "dev": true, "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -22605,10 +22951,12 @@ } }, "js-tokens": { - "version": "3.0.2" + "version": "3.0.2", + "dev": true }, "supports-color": { - "version": "2.0.0" + "version": "2.0.0", + "dev": true } } }, @@ -22692,27 +23040,6 @@ } } }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, "babel-helpers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", @@ -22725,15 +23052,15 @@ } }, "babel-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", - "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.2.1.tgz", + "integrity": "sha512-gQJwArok0mqoREiCYhXKWOgUhElJj9DpnssW6GL8dG7ARYqHEhrM9fmPHTjdqEGRVXZAd6+imo3/Vwa8TjLcsw==", "dev": true, "requires": { - "@jest/transform": "^28.1.3", + "@jest/transform": "^29.2.1", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^28.1.3", + "babel-preset-jest": "^29.2.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" @@ -22819,6 +23146,7 @@ }, "babel-messages": { "version": "6.23.0", + "dev": true, "requires": { "babel-runtime": "^6.22.0" } @@ -22845,9 +23173,9 @@ } }, "babel-plugin-jest-hoist": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", - "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", + "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", @@ -22898,22 +23226,6 @@ "@babel/helper-define-polyfill-provider": "^0.2.2" } }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" - }, - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, "babel-plugin-transform-es2015-modules-commonjs": { "version": "6.26.2", "dev": true, @@ -22953,12 +23265,12 @@ } }, "babel-preset-jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", - "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", + "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": "^28.1.3", + "babel-plugin-jest-hoist": "^29.2.0", "babel-preset-current-node-syntax": "^1.0.0" } }, @@ -22992,18 +23304,21 @@ }, "babel-runtime": { "version": "6.26.0", + "dev": true, "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" }, "dependencies": { "regenerator-runtime": { - "version": "0.11.1" + "version": "0.11.1", + "dev": true } } }, "babel-template": { "version": "6.26.0", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", @@ -23014,6 +23329,7 @@ }, "babel-traverse": { "version": "6.26.0", + "dev": true, "requires": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", @@ -23028,17 +23344,20 @@ "dependencies": { "debug": { "version": "2.6.9", + "dev": true, "requires": { "ms": "2.0.0" } }, "globals": { - "version": "9.18.0" + "version": "9.18.0", + "dev": true } } }, "babel-types": { "version": "6.26.0", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", @@ -23047,12 +23366,14 @@ }, "dependencies": { "to-fast-properties": { - "version": "1.0.3" + "version": "1.0.3", + "dev": true } } }, "babylon": { - "version": "6.18.0" + "version": "6.18.0", + "dev": true }, "bail": { "version": "1.0.5" @@ -23118,28 +23439,30 @@ "peer": true }, "body-parser": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", - "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", "dev": true, "peer": true, "requires": { - "bytes": "3.1.1", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.6", - "raw-body": "2.4.2", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { "bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "peer": true }, @@ -23152,22 +23475,27 @@ "requires": { "ms": "2.0.0" } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "peer": true } } }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "bonjour-service": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", "dev": true, "peer": true, "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", + "array-flatten": "^2.1.2", "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" } }, "boolbase": { @@ -23336,13 +23664,6 @@ "buffer-from": { "version": "1.1.1" }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true, - "peer": true - }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -23481,9 +23802,9 @@ "dev": true }, "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "peer": true, "requires": { @@ -23629,13 +23950,13 @@ } }, "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "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.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" }, "dependencies": { @@ -23680,14 +24001,6 @@ } } }, - "clone-regexp": { - "version": "2.2.0", - "dev": true, - "peer": true, - "requires": { - "is-regexp": "^2.0.0" - } - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -23846,9 +24159,9 @@ } }, "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true, "peer": true }, @@ -23912,16 +24225,16 @@ } }, "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, "peer": true }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true, "peer": true }, @@ -24089,9 +24402,9 @@ } }, "css-functions-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.0.tgz", - "integrity": "sha512-rfwhBOvXVFcKrSwmLxD8JQyuEEy/3g3Y9FMI2l6iV558Coeo1ucXypXb4rwrVpk5Osh5ViXp2DTgafw8WxglhQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz", + "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==", "dev": true, "peer": true }, @@ -24215,9 +24528,9 @@ "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==" }, "cypress": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-10.4.0.tgz", - "integrity": "sha512-OM7F8MRE01SHQRVVzunid1ZK1m90XTxYnl+7uZfIrB4CYqUDCrZEeSyCXzIbsS6qcaijVCAhqDL60SxG8N6hew==", + "version": "10.10.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-10.10.0.tgz", + "integrity": "sha512-bU8r44x1NIYAUNNXt3CwJpLOVth7HUv2hUhYCxZmgZ1IugowDvuHNpevnoZRQx1KKOEisLvIJW+Xen5Pjn41pg==", "dev": true, "requires": { "@cypress/request": "^2.88.10", @@ -24239,7 +24552,7 @@ "dayjs": "^1.10.4", "debug": "^4.3.2", "enquirer": "^2.3.6", - "eventemitter2": "^6.4.3", + "eventemitter2": "6.4.7", "execa": "4.1.0", "executable": "^4.1.1", "extract-zip": "2.0.1", @@ -24413,6 +24726,11 @@ "assert-plus": "^1.0.0" } }, + "date-format-parse": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/date-format-parse/-/date-format-parse-0.2.7.tgz", + "integrity": "sha512-/+lyMUKoRogMuTeOVii6lUwjbVlesN9YRYLzZT/g3TEZ3uD9QnpjResujeEqUW+OSNbT7T1+SYdyEkTcRv+KDQ==" + }, "dayjs": { "version": "1.11.2", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz", @@ -24482,21 +24800,6 @@ "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "peer": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, "deep-is": { "version": "0.1.3", "dev": true, @@ -24536,23 +24839,6 @@ "object-keys": "^1.1.1" } }, - "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dev": true, - "peer": true, - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - } - }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -24577,9 +24863,9 @@ } }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, "peer": true }, @@ -24607,9 +24893,9 @@ "peer": true }, "diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.2.0.tgz", + "integrity": "sha512-413SY5JpYeSBZxmenGEmCVQ8mCgtFJF0w9PROdaS6z987XC2Pd2GOKqOITLtMftmyFZqgtCOb/QA7/Z3ZXfzIw==", "dev": true }, "diffie-hellman": { @@ -24636,44 +24922,31 @@ "dir-glob": { "version": "3.0.1", "dev": true, - "peer": true, "requires": { "path-type": "^4.0.0" }, "dependencies": { "path-type": { "version": "4.0.0", - "dev": true, - "peer": true + "dev": true } } }, "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", "dev": true, "peer": true }, "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", "dev": true, "peer": true, "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "peer": true, - "requires": { - "buffer-indexof": "^1.0.0" + "@leichtgewicht/ip-codec": "^2.0.1" } }, "doctrine": { @@ -24734,9 +25007,9 @@ } }, "dompurify": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.10.tgz", - "integrity": "sha512-o7Fg/AgC7p/XpKjf/+RC3Ok6k4St5F7Q6q6+Nnm3p2zGWioAY6dh0CbbuwOhH2UcSzKsdniE/YnE2/92JcsA+g==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.0.tgz", + "integrity": "sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA==" }, "domutils": { "version": "2.8.0", @@ -24751,9 +25024,9 @@ } }, "dotenv": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz", - "integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==", + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", "dev": true }, "easymde": { @@ -24797,7 +25070,7 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true, "peer": true }, @@ -24869,7 +25142,7 @@ "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, "peer": true }, @@ -25003,7 +25276,8 @@ "version": "1.0.3" }, "escape-string-regexp": { - "version": "1.0.5" + "version": "1.0.5", + "dev": true }, "eslint": { "version": "8.14.0", @@ -25584,6 +25858,86 @@ "dev": true, "peer": true }, + "eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dev": true, + "requires": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "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-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "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" + } + } + } + }, "espree": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", @@ -25648,12 +26002,13 @@ "peer": true }, "esutils": { - "version": "2.0.2" + "version": "2.0.2", + "dev": true }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, "peer": true }, @@ -25665,9 +26020,9 @@ "peer": true }, "eventemitter2": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.5.tgz", - "integrity": "sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw==", + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", "dev": true }, "eventemitter3": { @@ -25707,14 +26062,6 @@ "strip-final-newline": "^2.0.0" } }, - "execall": { - "version": "2.0.0", - "dev": true, - "peer": true, - "requires": { - "clone-regexp": "^2.1.0" - } - }, "executable": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", @@ -25731,52 +26078,53 @@ "dev": true }, "expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.2.1.tgz", + "integrity": "sha512-BJtA754Fba0YWRWHgjKUMTA3ltWarKgITXHQnbZ2mTxTXC4yMQlR0FI7HkB3fJYkhWBf4qjNiqvg3LDtXCcVRQ==", "dev": true, "requires": { - "@jest/expect-utils": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3" + "@jest/expect-utils": "^29.2.1", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1" } }, "express": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", - "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", "dev": true, "peer": true, "requires": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.1", + "body-parser": "1.20.0", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.1", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.6", + "qs": "6.10.3", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -25785,7 +26133,7 @@ "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true, "peer": true }, @@ -25799,12 +26147,26 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "peer": true + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "peer": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "peer": true } } }, @@ -25857,7 +26219,6 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, - "peer": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -25867,7 +26228,9 @@ } }, "fast-json-stable-stringify": { - "version": "2.0.0" + "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==" }, "fast-levenshtein": { "version": "2.0.6", @@ -25875,14 +26238,15 @@ "peer": true }, "fastest-levenshtein": { - "version": "1.0.12", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, "peer": true }, "fastq": { "version": "1.11.0", "dev": true, - "peer": true, "requires": { "reusify": "^1.0.4" } @@ -25898,9 +26262,9 @@ } }, "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "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" @@ -25960,18 +26324,18 @@ "peer": true }, "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "peer": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "dependencies": { @@ -25984,6 +26348,13 @@ "requires": { "ms": "2.0.0" } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "peer": true } } }, @@ -26039,12 +26410,31 @@ } } }, - "focus-trap": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-6.9.4.tgz", - "integrity": "sha512-v2NTsZe2FF59Y+sDykKY+XjqZ0cPfhq/hikWVL88BqLivnNiEffAsac6rP6H45ff9wG9LL5ToiDqrLEP9GX9mw==", + "floating-vue": { + "version": "1.0.0-beta.18", + "resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-1.0.0-beta.18.tgz", + "integrity": "sha512-mRFc78szc1BTbhlCa4okb7wAGPuH/IID+yqJ+yrTMQ038H8WIAsPV/WFgWCaXqe8d1Z12LkMqiHDVorCJy8M2A==", "requires": { - "tabbable": "^5.3.3" + "@floating-ui/dom": "^0.1.10", + "vue-resize": "^1.0.0" + }, + "dependencies": { + "vue-resize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-1.0.1.tgz", + "integrity": "sha512-z5M7lJs0QluJnaoMFTIeGx6dIkYxOwHThlZDeQnWZBizKblb99GSejPnK37ZbNE/rVwDcYcHY+Io+AxdpY952w==", + "requires": { + "@babel/runtime": "^7.13.10" + } + } + } + }, + "focus-trap": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.0.0.tgz", + "integrity": "sha512-uT4Bl8TwU+5vVAx/DHil/1eVS54k9unqhK/vGy2KSh7esPmqgC0koAB9J2sJ+vtj8+vmiFyGk2unLkhNLQaxoA==", + "requires": { + "tabbable": "^6.0.0" } }, "follow-redirects": { @@ -26089,7 +26479,7 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, "peer": true }, @@ -26183,11 +26573,6 @@ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, - "get-stdin": { - "version": "8.0.0", - "dev": true, - "peer": true - }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -26250,7 +26635,6 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "peer": true, "requires": { "is-glob": "^4.0.1" } @@ -26312,7 +26696,6 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "peer": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -26356,6 +26739,7 @@ }, "has-ansi": { "version": "2.0.0", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -26548,7 +26932,9 @@ "dev": true }, "html-tags": { - "version": "3.1.0", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", "dev": true, "peer": true }, @@ -26573,17 +26959,33 @@ "peer": true }, "http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "peer": true, "requires": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "peer": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "peer": true + } } }, "http-parser-js": { @@ -26606,13 +27008,13 @@ } }, "http-proxy-middleware": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", - "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", "dev": true, "peer": true, "requires": { - "@types/http-proxy": "^1.17.5", + "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", "is-glob": "^4.0.1", "is-plain-obj": "^3.0.0", @@ -26660,6 +27062,8 @@ }, "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, "peer": true, "requires": { @@ -26676,8 +27080,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "peer": true + "dev": true }, "immutable": { "version": "4.1.0", @@ -26762,17 +27165,11 @@ }, "invariant": { "version": "2.2.4", + "dev": true, "requires": { "loose-envify": "^1.0.0" } }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true, - "peer": true - }, "ipaddr.js": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", @@ -26878,8 +27275,7 @@ }, "is-extglob": { "version": "2.1.1", - "dev": true, - "peer": true + "dev": true }, "is-finite": { "version": "1.1.0", @@ -26915,7 +27311,6 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "peer": true, "requires": { "is-extglob": "^2.1.1" } @@ -26965,13 +27360,6 @@ "has-tostringtag": "^1.0.0" } }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "peer": true - }, "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -27000,11 +27388,6 @@ "has-tostringtag": "^1.0.0" } }, - "is-regexp": { - "version": "2.1.0", - "dev": true, - "peer": true - }, "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", @@ -27132,9 +27515,9 @@ "dev": true }, "istanbul-lib-instrument": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", - "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "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", @@ -27219,21 +27602,21 @@ "version": "1.1.1" }, "jest": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", - "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.2.1.tgz", + "integrity": "sha512-K0N+7rx+fv3Us3KhuwRSJt55MMpZPs9Q3WSO/spRZSnsalX8yEYOTQ1PiSN7OvqzoRX4JEUXCbOJRlP4n8m5LA==", "dev": true, "requires": { - "@jest/core": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/core": "^29.2.1", + "@jest/types": "^29.2.1", "import-local": "^3.0.2", - "jest-cli": "^28.1.3" + "jest-cli": "^29.2.1" } }, "jest-changed-files": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", - "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", + "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", @@ -27252,28 +27635,28 @@ } }, "jest-circus": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", - "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.2.1.tgz", + "integrity": "sha512-W+ZQQ5ln4Db2UZNM4NJIeasnhCdDhSuYW4eLgNAUi0XiSSpF634Kc5wiPvGiHvTgXMFVn1ZgWIijqhi9+kLNLg==", "dev": true, "requires": { - "@jest/environment": "^28.1.3", - "@jest/expect": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.2.1", + "@jest/expect": "^29.2.1", + "@jest/test-result": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", + "jest-each": "^29.2.1", + "jest-matcher-utils": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-runtime": "^29.2.1", + "jest-snapshot": "^29.2.1", + "jest-util": "^29.2.1", "p-limit": "^3.1.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -27339,21 +27722,21 @@ } }, "jest-cli": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", - "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.2.1.tgz", + "integrity": "sha512-UIMD5aNqvPKpdlJSaeUAoLfxsh9TZvOkaMETx5qXnkboc317bcbb0eLHbIj8sFBHdcJAIAM+IRKnIU7Wi61MBw==", "dev": true, "requires": { - "@jest/core": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/core": "^29.2.1", + "@jest/test-result": "^29.2.1", + "@jest/types": "^29.2.1", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-config": "^29.2.1", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.1", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -27410,31 +27793,31 @@ } }, "jest-config": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", - "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.2.1.tgz", + "integrity": "sha512-EV5F1tQYW/quZV2br2o88hnYEeRzG53Dfi6rSG3TZBuzGQ6luhQBux/RLlU5QrJjCdq3LXxRRM8F1LP6DN1ycA==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^28.1.3", - "@jest/types": "^28.1.3", - "babel-jest": "^28.1.3", + "@jest/test-sequencer": "^29.2.1", + "@jest/types": "^29.2.1", + "babel-jest": "^29.2.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": "^28.1.3", - "jest-environment-node": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-runner": "^28.1.3", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-circus": "^29.2.1", + "jest-environment-node": "^29.2.1", + "jest-get-type": "^29.2.0", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.2.1", + "jest-runner": "^29.2.1", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.1", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -27497,15 +27880,15 @@ } }, "jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.2.1.tgz", + "integrity": "sha512-gfh/SMNlQmP3MOUgdzxPOd4XETDJifADpT937fN1iUGz+9DgOu2eUPHH25JDkLVcLwwqxv3GzVyK4VBUr9fjfA==", "dev": true, "requires": { "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "diff-sequences": "^29.2.0", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" }, "dependencies": { "ansi-styles": { @@ -27560,25 +27943,25 @@ } }, "jest-docblock": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", - "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", + "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": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", - "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.2.1.tgz", + "integrity": "sha512-sGP86H/CpWHMyK3qGIGFCgP6mt+o5tu9qG4+tobl0LNdgny0aitLXs9/EBacLy3Bwqy+v4uXClqJgASJWcruYw==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.1", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "jest-util": "^28.1.3", - "pretty-format": "^28.1.3" + "jest-get-type": "^29.2.0", + "jest-util": "^29.2.1", + "pretty-format": "^29.2.1" }, "dependencies": { "ansi-styles": { @@ -27633,41 +28016,41 @@ } }, "jest-environment-node": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", - "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.2.1.tgz", + "integrity": "sha512-PulFKwEMz6nTAdLUwglFKei3b/LixwlRiqTN6nvPE1JtrLtlnpd6LXnFI1NFHYJGlTmIWilMP2n9jEtPPKX50g==", "dev": true, "requires": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.2.1", + "@jest/fake-timers": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", - "jest-mock": "^28.1.3", - "jest-util": "^28.1.3" + "jest-mock": "^29.2.1", + "jest-util": "^29.2.1" } }, "jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "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": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.2.1.tgz", + "integrity": "sha512-wF460rAFmYc6ARcCFNw4MbGYQjYkvjovb9GBT+W10Um8q5nHq98jD6fHZMDMO3tA56S8XnmNkM8GcA8diSZfnA==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.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": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.2.1", + "jest-worker": "^29.2.1", "micromatch": "^4.0.4", "walker": "^1.0.8" }, @@ -27679,12 +28062,13 @@ "dev": true }, "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", + "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", "dev": true, "requires": { "@types/node": "*", + "jest-util": "^29.2.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" } @@ -27701,25 +28085,25 @@ } }, "jest-leak-detector": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", - "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.2.1.tgz", + "integrity": "sha512-1YvSqYoiurxKOJtySc+CGVmw/e1v4yNY27BjWTVzp0aTduQeA7pdieLiW05wTYG/twlKOp2xS/pWuikQEmklug==", "dev": true, "requires": { - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" } }, "jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.2.1.tgz", + "integrity": "sha512-hUTBh7H/Mnb6GTpihbLh8uF5rjAMdekfW/oZNXUMAXi7bbmym2HiRpzgqf/zzkjgejMrVAkPdVSQj+32enlUww==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "jest-diff": "^29.2.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.2.1" }, "dependencies": { "ansi-styles": { @@ -27774,18 +28158,18 @@ } }, "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.2.1.tgz", + "integrity": "sha512-Dx5nEjw9V8C1/Yj10S/8ivA8F439VS8vTq1L7hEgwHFn9ovSKNpYW/kwNh7UglaEgXO42XxzKJB+2x0nSglFVw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.1", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.2.1", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -27842,13 +28226,14 @@ } }, "jest-mock": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", - "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.2.1.tgz", + "integrity": "sha512-NDphaY/GqyQpTfnTZiTqqpMaw4Z0I7XnB7yBgrT6IwYrLGxpOhrejYr4ANY4YvO2sEGdd8Tx/6D0+WLQy7/qDA==", "dev": true, "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*" + "@jest/types": "^29.2.1", + "@types/node": "*", + "jest-util": "^29.2.1" } }, "jest-pnp-resolver": { @@ -27859,23 +28244,23 @@ "requires": {} }, "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "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": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.2.1.tgz", + "integrity": "sha512-1dJTW76Z9622Viq4yRcwBuEXuzGtE9B2kdl05RC8Om/lAzac9uEgC+M8Q5osVidbuBPmxm8wSrcItYhca2ZAtQ==", "dev": true, "requires": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", + "jest-haste-map": "^29.2.1", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-util": "^29.2.1", + "jest-validate": "^29.2.1", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" @@ -27933,40 +28318,40 @@ } }, "jest-resolve-dependencies": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", - "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.2.1.tgz", + "integrity": "sha512-o3mUGX2j08usj1jIAIE8KmUVpqVAn54k80kI27ldbZf2oJn6eghhB6DvJxjrcH40va9CQgWTfU5f2Ag/MoUqgQ==", "dev": true, "requires": { - "jest-regex-util": "^28.0.2", - "jest-snapshot": "^28.1.3" + "jest-regex-util": "^29.2.0", + "jest-snapshot": "^29.2.1" } }, "jest-runner": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", - "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.2.1.tgz", + "integrity": "sha512-PojFI+uVhQ4u4YZKCN/a3yU0/l/pJJXhq1sW3JpCp8CyvGBYGddRFPKZ1WihApusxqWRTHjBJmGyPWv6Av2lWA==", "dev": true, "requires": { - "@jest/console": "^28.1.3", - "@jest/environment": "^28.1.3", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.2.1", + "@jest/environment": "^29.2.1", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", - "jest-docblock": "^28.1.1", - "jest-environment-node": "^28.1.3", - "jest-haste-map": "^28.1.3", - "jest-leak-detector": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-resolve": "^28.1.3", - "jest-runtime": "^28.1.3", - "jest-util": "^28.1.3", - "jest-watcher": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-docblock": "^29.2.0", + "jest-environment-node": "^29.2.1", + "jest-haste-map": "^29.2.1", + "jest-leak-detector": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-resolve": "^29.2.1", + "jest-runtime": "^29.2.1", + "jest-util": "^29.2.1", + "jest-watcher": "^29.2.1", + "jest-worker": "^29.2.1", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, @@ -28012,12 +28397,13 @@ "dev": true }, "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.1.tgz", + "integrity": "sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==", "dev": true, "requires": { "@types/node": "*", + "jest-util": "^29.2.1", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -28070,31 +28456,31 @@ } }, "jest-runtime": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", - "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.2.1.tgz", + "integrity": "sha512-PSQ880OoIW9y8E6/jjhGn3eQNgNc6ndMzCZaKqy357bv7FqCfSyYepu3yDC6Sp1Vkt+GhP2M/PVgldS2uZSFZg==", "dev": true, "requires": { - "@jest/environment": "^28.1.3", - "@jest/fake-timers": "^28.1.3", - "@jest/globals": "^28.1.3", - "@jest/source-map": "^28.1.2", - "@jest/test-result": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/environment": "^29.2.1", + "@jest/fake-timers": "^29.2.1", + "@jest/globals": "^29.2.1", + "@jest/source-map": "^29.2.0", + "@jest/test-result": "^29.2.1", + "@jest/transform": "^29.2.1", + "@jest/types": "^29.2.1", + "@types/node": "*", "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": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-mock": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-resolve": "^28.1.3", - "jest-snapshot": "^28.1.3", - "jest-util": "^28.1.3", + "jest-haste-map": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-mock": "^29.2.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.2.1", + "jest-snapshot": "^29.2.1", + "jest-util": "^29.2.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -28164,33 +28550,34 @@ } }, "jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.2.1.tgz", + "integrity": "sha512-KZdLD7iEz5M4ZYd+ezZ/kk73z+DtNbk/yJ4Qx7408Vb0CCuclJIZPa/HmIwSsCfIlOBNcYTKufr7x/Yv47oYlg==", "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": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/expect-utils": "^29.2.1", + "@jest/transform": "^29.2.1", + "@jest/types": "^29.2.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": "^28.1.3", + "expect": "^29.2.1", "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", + "jest-diff": "^29.2.1", + "jest-get-type": "^29.2.0", + "jest-haste-map": "^29.2.1", + "jest-matcher-utils": "^29.2.1", + "jest-message-util": "^29.2.1", + "jest-util": "^29.2.1", "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.2.1", "semver": "^7.3.5" }, "dependencies": { @@ -28244,9 +28631,9 @@ } }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "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" @@ -28270,12 +28657,12 @@ } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.1.tgz", + "integrity": "sha512-P5VWDj25r7kj7kl4pN2rG/RN2c1TLfYYYZYULnS/35nFDjBai+hBeo3MDrYZS7p6IoY3YHZnt2vq4L6mKnLk0g==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.1", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -28335,17 +28722,17 @@ } }, "jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.2.1.tgz", + "integrity": "sha512-DZVX5msG6J6DL5vUUw+++6LEkXUsPwB5R7fsfM7BXdz2Ipr0Ib046ak+8egrwAR++pvSM/5laxLK977ieIGxkQ==", "dev": true, "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.2.1", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", + "jest-get-type": "^29.2.0", "leven": "^3.1.0", - "pretty-format": "^28.1.3" + "pretty-format": "^29.2.1" }, "dependencies": { "ansi-styles": { @@ -28406,18 +28793,18 @@ } }, "jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.2.1.tgz", + "integrity": "sha512-7jFaHUaRq50l4w/f6RuY713bvI5XskMmjWCE54NGYcY74fLkShS8LucXJke1QfGnwDSCoIqGnGGGKPwdaBYz2Q==", "dev": true, "requires": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/test-result": "^29.2.1", + "@jest/types": "^29.2.1", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.10.2", - "jest-util": "^28.1.3", + "jest-util": "^29.2.1", "string-length": "^4.0.1" }, "dependencies": { @@ -28630,9 +29017,9 @@ "peer": true }, "known-css-properties": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.24.0.tgz", - "integrity": "sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz", + "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==", "dev": true, "peer": true }, @@ -28944,9 +29331,9 @@ } }, "markdown-it-link-attributes": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/markdown-it-link-attributes/-/markdown-it-link-attributes-4.0.0.tgz", - "integrity": "sha512-ssjxSLlLfQBkX6BvAx1rCPrx7ZoK91llQQvS3P7KXvlbnVD34OUkfXwWecN7su/7mrI/HOW0RI5szdJOIqYC3w==" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/markdown-it-link-attributes/-/markdown-it-link-attributes-4.0.1.tgz", + "integrity": "sha512-pg5OK0jPLg62H4k7M9mRJLT61gUp9nvG0XveKYHMOOluASo9OEF13WlXrpAp2aj35LbedAy3QOCgQCw0tkLKAQ==" }, "markdown-it-task-checkbox": { "version": "1.0.6", @@ -28967,11 +29354,13 @@ "peer": true }, "md5": { - "version": "2.2.1", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", "requires": { - "charenc": "~0.0.1", - "crypt": "~0.0.1", - "is-buffer": "~1.1.1" + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" } }, "md5.js": { @@ -29045,18 +29434,18 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, "peer": true }, "memfs": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", - "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", + "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", "dev": true, "peer": true, "requires": { - "fs-monkey": "1.0.3" + "fs-monkey": "^1.0.3" } }, "meow": { @@ -29227,7 +29616,7 @@ "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true, "peer": true }, @@ -29255,24 +29644,23 @@ }, "merge2": { "version": "1.4.1", - "dev": true, - "peer": true + "dev": true }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, "peer": true }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "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.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "miller-rabin": { @@ -29303,16 +29691,16 @@ "peer": true }, "mime-db": { - "version": "1.50.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", - "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { - "version": "2.1.33", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", - "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "mime-db": "1.50.0" + "mime-db": "1.52.0" } }, "mimic-fn": { @@ -29395,26 +29783,20 @@ "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" }, "ms": { - "version": "2.0.0" + "version": "2.0.0", + "dev": true }, "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, "peer": true, "requires": { - "dns-packet": "^1.3.1", + "dns-packet": "^5.2.2", "thunky": "^1.0.2" } }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true, - "peer": true - }, "nanoid": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", @@ -29425,9 +29807,9 @@ "dev": true }, "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, "peer": true }, @@ -29448,6 +29830,26 @@ "vue": "^2.6.14" }, "dependencies": { + "@nextcloud/auth": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@nextcloud/auth/-/auth-1.3.0.tgz", + "integrity": "sha512-GfwRM9W7hat4psNdAt74UHEV+drEXQ53klCVp6JpON66ZLPeK5eJ1LQuiQDkpUxZpqNeaumXjiB98h5cug/uQw==", + "requires": { + "@nextcloud/event-bus": "^1.1.3", + "@nextcloud/typings": "^0.2.2", + "core-js": "^3.6.4" + } + }, + "@nextcloud/axios": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@nextcloud/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-NyaiSC2GX2CPaH/MUGGMTTTza/TW9ZqWNGWq6LJ+pLER8nqZ9BQkwJ5kXUYGo+i3cka68PO+9WhcDv4fSABpuQ==", + "requires": { + "@nextcloud/auth": "^1.3.0", + "axios": "^0.27.1", + "core-js": "^3.6.4" + } + }, "@nextcloud/event-bus": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-1.3.0.tgz", @@ -29595,9 +29997,9 @@ } }, "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true, "peer": true }, @@ -29614,9 +30016,9 @@ "dev": true }, "node-polyfill-webpack-plugin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-2.0.0.tgz", - "integrity": "sha512-jrMdoL1KmeTUiqLJb19nOgIFjqbX0ClJg97o0kmigy/d5dyoum0+bqPCaRpaX5mccJES6hwuQTXyCdKQ1p2Y3Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-2.0.1.tgz", + "integrity": "sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A==", "dev": true, "peer": true, "requires": { @@ -29648,9 +30050,9 @@ }, "dependencies": { "readable-stream": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.0.0.tgz", - "integrity": "sha512-Mf7ilWBP6AV3tF3MjtBrHMH3roso7wIrpgzCwt9ybvqiJQVWIEBMnp/W+S//yvYSsUUi2cJIwD7q7m57l0AqZw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.1.0.tgz", + "integrity": "sha512-sVisi3+P2lJ2t0BPbpK629j8wRW06yKGJUcaLAGXPAUhyUxVJm7VsCTit1PFgT4JHUDMrGNR+ZjSKpzGaRF3zw==", "dev": true, "peer": true, "requires": { @@ -29675,9 +30077,9 @@ } }, "type-fest": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.16.0.tgz", - "integrity": "sha512-qpaThT2HQkFb83gMOrdKVsfCN7LKxP26Yq+smPzY1FqoHRjqmjqHXA7n5Gkxi8efirtbeEUxzfEdePthQWCuHw==", + "version": "2.18.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.18.0.tgz", + "integrity": "sha512-pRS+/yrW5TjPPHNOvxhbNZexr2bS63WjrMU8a+VzEBhUi9Tz1pZeD+vQz3ut0svZ46P+SRqMEPnJmk2XnvNzTw==", "dev": true, "peer": true } @@ -29702,11 +30104,6 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "normalize-selector": { - "version": "0.2.0", - "dev": true, - "peer": true - }, "not": { "version": "0.1.0" }, @@ -29785,9 +30182,9 @@ "peer": true }, "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "peer": true, "requires": { @@ -30005,7 +30402,7 @@ "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true, "peer": true }, @@ -30041,9 +30438,9 @@ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pify": { @@ -30107,37 +30504,6 @@ "popper.js": { "version": "1.16.1" }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "peer": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "peer": true - } - } - }, "postcss": { "version": "7.0.36", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", @@ -30230,9 +30596,9 @@ "peer": true }, "postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", "dev": true, "peer": true, "requires": { @@ -30280,23 +30646,16 @@ "dev": true }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.2.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.2.1.tgz", + "integrity": "sha512-Y41Sa4aLCtKAXvwuIpTvcFBkyeYp2gdFWzXGA+ZNES3VwURIB165XO/z7CjETwzCCS53MjW/rLMyyqEnTtaOfA==", "dev": true, "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "dependencies": { - "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": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", @@ -30418,11 +30777,14 @@ "version": "2.1.1" }, "qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dev": true, - "peer": true + "peer": true, + "requires": { + "side-channel": "^1.0.4" + } }, "querystring": { "version": "0.2.0", @@ -30440,8 +30802,7 @@ }, "queue-microtask": { "version": "1.2.3", - "dev": true, - "peer": true + "dev": true }, "quick-lru": { "version": "4.0.1", @@ -30474,22 +30835,22 @@ "peer": true }, "raw-body": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", - "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "peer": true, "requires": { - "bytes": "3.1.1", - "http-errors": "1.8.1", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "dependencies": { "bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, "peer": true } @@ -30750,8 +31111,7 @@ }, "require-from-string": { "version": "2.0.2", - "dev": true, - "peer": true + "dev": true }, "requireindex": { "version": "1.2.0", @@ -30761,7 +31121,7 @@ "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true, "peer": true }, @@ -30816,8 +31176,7 @@ }, "reusify": { "version": "1.0.4", - "dev": true, - "peer": true + "dev": true }, "rfdc": { "version": "1.3.0", @@ -30848,7 +31207,6 @@ "run-parallel": { "version": "1.2.0", "dev": true, - "peer": true, "requires": { "queue-microtask": "^1.2.2" } @@ -30922,13 +31280,13 @@ "peer": true }, "selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dev": true, "peer": true, "requires": { - "node-forge": "^0.10.0" + "node-forge": "^1" } }, "semver": { @@ -30936,25 +31294,25 @@ "dev": true }, "send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "peer": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { "debug": { @@ -30970,18 +31328,32 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, "peer": true } } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "peer": true + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "peer": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "peer": true } } }, @@ -31050,16 +31422,16 @@ } }, "serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "peer": true, "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" } }, "setimmediate": { @@ -31300,15 +31672,10 @@ } } }, - "specificity": { - "version": "0.4.1", - "dev": true, - "peer": true - }, "splitpanes": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-2.3.8.tgz", - "integrity": "sha512-eM/qZ1v7U5BMV8FQR7oeqVlllz3sTGTm0//g/eJMa0hZ4s+A1VK68j26FWzcaVlw2P5+dCXk7/X6ZRjjwcbrgw==" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-2.4.1.tgz", + "integrity": "sha512-kpEo1WuMXuc6QfdQdO2V/fl/trONlkUKp+pputsLTiW9RMtwEvjb4/aYGm2m3+KAzjmb+zLwr4A4SYZu74+pgQ==" }, "sprintf-js": { "version": "1.0.3", @@ -31496,6 +31863,7 @@ }, "strip-ansi": { "version": "3.0.1", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -31529,6 +31897,8 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", + "dev": true, + "peer": true, "requires": {} }, "style-search": { @@ -31543,45 +31913,42 @@ } }, "stylelint": { - "version": "14.5.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.5.0.tgz", - "integrity": "sha512-4dvQjrhAz2njLoE1OvUEZpryNWcmx2w5Lq5jlibxFv6b5W6O8/vob12M2ZzhX3Ndzs5f67F+BEYmhnQXOwfVYQ==", + "version": "14.10.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.10.0.tgz", + "integrity": "sha512-VAmyKrEK+wNFh9R8mNqoxEFzaa4gsHGhcT4xgkQDuOA5cjF6CaNS8loYV7gpi4tIZBPUyXesotPXzJAMN8VLOQ==", "dev": true, "peer": true, "requires": { + "@csstools/selector-specificity": "^2.0.2", "balanced-match": "^2.0.0", "colord": "^2.9.2", "cosmiconfig": "^7.0.1", - "css-functions-list": "^3.0.0", - "debug": "^4.3.3", - "execall": "^2.0.0", + "css-functions-list": "^3.1.0", + "debug": "^4.3.4", "fast-glob": "^3.2.11", - "fastest-levenshtein": "^1.0.12", + "fastest-levenshtein": "^1.0.16", "file-entry-cache": "^6.0.1", - "get-stdin": "^8.0.0", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", - "html-tags": "^3.1.0", + "html-tags": "^3.2.0", "ignore": "^5.2.0", "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.24.0", + "known-css-properties": "^0.25.0", "mathml-tag-names": "^2.1.3", "meow": "^9.0.0", - "micromatch": "^4.0.4", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", - "normalize-selector": "^0.2.0", "picocolors": "^1.0.0", - "postcss": "^8.4.6", + "postcss": "^8.4.16", "postcss-media-query-parser": "^0.2.3", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", - "postcss-selector-parser": "^6.0.9", + "postcss-selector-parser": "^6.0.10", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", - "specificity": "^0.4.1", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", "style-search": "^0.1.0", @@ -31589,9 +31956,17 @@ "svg-tags": "^1.0.0", "table": "^6.8.0", "v8-compile-cache": "^2.3.0", - "write-file-atomic": "^4.0.0" + "write-file-atomic": "^4.0.1" }, "dependencies": { + "@csstools/selector-specificity": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", + "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "dev": true, + "peer": true, + "requires": {} + }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -31612,13 +31987,13 @@ "peer": true }, "postcss": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", - "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", + "version": "8.4.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", + "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", "dev": true, "peer": true, "requires": { - "nanoid": "^3.2.0", + "nanoid": "^3.3.4", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } @@ -31652,41 +32027,41 @@ "requires": {} }, "stylelint-config-recommended": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz", - "integrity": "sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-8.0.0.tgz", + "integrity": "sha512-IK6dWvE000+xBv9jbnHOnBq01gt6HGVB2ZTsot+QsMpe82doDQ9hvplxfv4YnpEuUwVGGd9y6nbaAnhrjcxhZQ==", "dev": true, "peer": true, "requires": {} }, "stylelint-config-recommended-scss": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-5.0.2.tgz", - "integrity": "sha512-b14BSZjcwW0hqbzm9b0S/ScN2+3CO3O4vcMNOw2KGf8lfVSwJ4p5TbNEXKwKl1+0FMtgRXZj6DqVUe/7nGnuBg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-7.0.0.tgz", + "integrity": "sha512-rGz1J4rMAyJkvoJW4hZasuQBB7y9KIrShb20l9DVEKKZSEi1HAy0vuNlR8HyCKy/jveb/BdaQFcoiYnmx4HoiA==", "dev": true, "peer": true, "requires": { "postcss-scss": "^4.0.2", - "stylelint-config-recommended": "^6.0.0", + "stylelint-config-recommended": "^8.0.0", "stylelint-scss": "^4.0.0" }, "dependencies": { "postcss": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", - "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", + "version": "8.4.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", + "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", "dev": true, "peer": true, "requires": { - "nanoid": "^3.2.0", + "nanoid": "^3.3.4", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } }, "postcss-scss": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.3.tgz", - "integrity": "sha512-j4KxzWovfdHsyxwl1BxkUal/O4uirvHgdzMKS1aWJBAV0qh2qj5qAZqpeBfVUYGWv+4iK9Az7SPyZ4fyNju1uA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.4.tgz", + "integrity": "sha512-aBBbVyzA8b3hUL0MGrpydxxXKXFZc5Eqva0Q3V9qsBOLEMsjb6w49WfpsoWzpEgcqJGW4t7Rio8WXVU9Gd8vWg==", "dev": true, "peer": true, "requires": {} @@ -31735,9 +32110,9 @@ } }, "stylelint-scss": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.1.0.tgz", - "integrity": "sha512-BNYTo7MMamhFOlcaAWp2dMpjg6hPyM/FFqfDIYzmYVLMmQJqc8lWRIiTqP4UX5bresj9Vo0dKC6odSh43VP2NA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-4.3.0.tgz", + "integrity": "sha512-GvSaKCA3tipzZHoz+nNO7S02ZqOsdBzMiCx9poSmLlb3tdJlGddEX/8QzCOD8O7GQan9bjsvLMsO5xiw6IhhIQ==", "dev": true, "peer": true, "requires": { @@ -31748,10 +32123,90 @@ "postcss-value-parser": "^4.1.0" } }, + "stylelint-webpack-plugin": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stylelint-webpack-plugin/-/stylelint-webpack-plugin-3.3.0.tgz", + "integrity": "sha512-F53bapIZ9zI16ero8IWm6TrUE6SSibZBphJE9b5rR2FxtvmGmm1YmS+a5xjQzn63+cv71GVSCu4byX66fBLpEw==", + "dev": true, + "requires": { + "globby": "^11.1.0", + "jest-worker": "^28.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "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-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "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" + } + } + } + }, "superstruct": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.16.0.tgz", - "integrity": "sha512-IDQtwnnlaan1NhuHqyD/U11lROYvCQ79JyfwlFU9xEVHzqV/Ys/RrwmHPCG0CVH/1g0BuodEjH1msxK2UHxehA==", + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-0.16.5.tgz", + "integrity": "sha512-GBa1VPdCUDAIrsoMVy2lzE/hKQnieUlc1JVoVzJ2YLx47SoPY4AqF85Ht1bPg5r+8I0v54GbaRdNTnYQ0p+T+Q==", "dev": true }, "supports-color": { @@ -31766,6 +32221,7 @@ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", "dev": true, + "peer": true, "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -31775,13 +32231,15 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "dev": true, + "peer": 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, + "peer": true, "requires": { "has-flag": "^4.0.0" } @@ -31800,9 +32258,9 @@ "peer": true }, "tabbable": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-5.3.3.tgz", - "integrity": "sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.0.0.tgz", + "integrity": "sha512-SxhZErfHc3Yozz/HLAl/iPOxuIj8AtUw13NRewVOjFW7vbsqT1f3PuiHrPQbUkRcLNEgAedAv2DnjLtzynJXiw==" }, "table": { "version": "6.8.0", @@ -31863,16 +32321,6 @@ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "peer": true }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, "terser": { "version": "5.14.2", "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", @@ -32067,8 +32515,7 @@ "tslib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, "tty-browserify": { "version": "0.0.1", @@ -32260,7 +32707,7 @@ "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, "peer": true }, @@ -32326,7 +32773,7 @@ "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, "peer": true }, @@ -32336,7 +32783,9 @@ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v-click-outside": { - "version": "3.0.1" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v-click-outside/-/v-click-outside-3.2.0.tgz", + "integrity": "sha512-QD0bDy38SHJXQBjgnllmkI/rbdiwmq9RC+/+pvrFjYJKTn8dtp7Penf9q1lLBta280fYG2q53mgLhQ+3l3z74w==" }, "v-tooltip": { "version": "2.0.3", @@ -32422,23 +32871,27 @@ "peer": true }, "vue": { - "version": "2.7.8", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.8.tgz", - "integrity": "sha512-ncwlZx5qOcn754bCu5/tS/IWPhXHopfit79cx+uIlLMyt3vCMGcXai5yCG5y+I6cDmEj4ukRYyZail9FTQh7lQ==", + "version": "2.7.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.13.tgz", + "integrity": "sha512-QnM6ULTNnPmn71eUO+4hdjfBIA3H0GLsBnchnI/kS678tjI45GOUZhXd0oP/gX9isikXz1PAzSnkPspp9EUNfQ==", "requires": { - "@vue/compiler-sfc": "2.7.8", + "@vue/compiler-sfc": "2.7.13", "csstype": "^3.1.0" } }, "vue-at": { - "version": "2.5.0-beta.2", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/vue-at/-/vue-at-2.5.1.tgz", + "integrity": "sha512-c17Rn8vVTXp/rvWV76jNB2PVx534eqIAP5/Tv1twCt0ebtRPIgNaJJwSaoRVISQ6vM6m3+owmtpAG1qr5g9fyQ==", "requires": {} }, "vue-click-outside": { "version": "1.1.0" }, "vue-color": { - "version": "2.7.1", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/vue-color/-/vue-color-2.8.1.tgz", + "integrity": "sha512-BoLCEHisXi2QgwlhZBg9UepvzZZmi4176vbr+31Shen5WWZwSLVgdScEPcB+yrAtuHAz42309C0A4+WiL9lNBw==", "requires": { "clamp": "^1.0.1", "lodash.throttle": "^4.0.0", @@ -32583,9 +33036,9 @@ "requires": {} }, "vue-router": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.4.tgz", - "integrity": "sha512-x+/DLAJZv2mcQ7glH2oV9ze8uPwcI+H+GgTgTmb5I55bCgY3+vXWIsqbYUzbBSZnwFHEJku4eoaH/x98veyymQ==" + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz", + "integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==" }, "vue-smooth-dnd": { "version": "0.8.1", @@ -32605,9 +33058,9 @@ } }, "vue-template-compiler": { - "version": "2.7.8", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.8.tgz", - "integrity": "sha512-eQqdcUpJKJpBRPDdxCNsqUoT0edNvdt1jFjtVnVS/LPPmr0BU2jWzXlrf6BVMeODtdLewB3j8j3WjNiB+V+giw==", + "version": "2.7.13", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.13.tgz", + "integrity": "sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog==", "dev": true, "requires": { "de-indent": "^1.0.2", @@ -32630,14 +33083,11 @@ "version": "1.0.2" }, "vue2-datepicker": { - "version": "3.8.2", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.11.0.tgz", + "integrity": "sha512-zbMkAjYwDTXZozZtkpSwqxq7nEeBt7zoHL+oQcdjEXAqzJHhmatE6sl6JSr58PMIx2WOK0c6QBXozSqT32iQAQ==", "requires": { - "date-format-parse": "^0.2.6" - }, - "dependencies": { - "date-format-parse": { - "version": "0.2.6" - } + "date-format-parse": "^0.2.7" } }, "vuex": { @@ -32743,23 +33193,23 @@ } }, "webpack-dev-middleware": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz", - "integrity": "sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", "dev": true, "peer": true, "requires": { "colorette": "^2.0.10", - "memfs": "^3.2.2", + "memfs": "^3.4.3", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "dependencies": { "ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "dev": true, "peer": true, "requires": { @@ -32802,41 +33252,41 @@ } }, "webpack-dev-server": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.2.tgz", - "integrity": "sha512-s6yEOSfPpB6g1T2+C5ZOUt5cQOMhjI98IVmmvMNb5cdiqHoxSUfACISHqU/wZy+q4ar/A9jW0pbNj7sa50XRVA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.0.tgz", + "integrity": "sha512-L5S4Q2zT57SK7tazgzjMiSMBdsw+rGYIX27MgPgx7LDhWO0lViPrHKoLS7jo5In06PWYAhlYu3PbyoC6yAThbw==", "dev": true, "peer": true, "requires": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", "@types/sockjs": "^0.3.33", - "@types/ws": "^8.2.2", + "@types/ws": "^8.5.1", "ansi-html-community": "^0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^3.5.2", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", "colorette": "^2.0.10", "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", + "connect-history-api-fallback": "^2.0.0", "default-gateway": "^6.0.3", - "del": "^6.0.0", - "express": "^4.17.1", + "express": "^4.17.3", "graceful-fs": "^4.2.6", "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.0", + "http-proxy-middleware": "^2.0.3", "ipaddr.js": "^2.0.1", "open": "^8.0.9", "p-retry": "^4.5.0", - "portfinder": "^1.0.28", + "rimraf": "^3.0.2", "schema-utils": "^4.0.0", - "selfsigned": "^1.10.11", + "selfsigned": "^2.0.1", "serve-index": "^1.9.1", - "sockjs": "^0.3.21", + "sockjs": "^0.3.24", "spdy": "^4.0.2", - "strip-ansi": "^7.0.0", - "webpack-dev-middleware": "^5.3.0", - "ws": "^8.1.0" + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" }, "dependencies": { "ajv": { @@ -32862,13 +33312,6 @@ "fast-deep-equal": "^3.1.3" } }, - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "peer": true - }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", @@ -32888,24 +33331,6 @@ "ajv-formats": "^2.1.1", "ajv-keywords": "^5.0.0" } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "peer": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "ws": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz", - "integrity": "sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==", - "dev": true, - "peer": true, - "requires": {} } } }, @@ -33064,6 +33489,14 @@ "signal-exit": "^3.0.7" } }, + "ws": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", + "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "dev": true, + "peer": true, + "requires": {} + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -33084,12 +33517,12 @@ "dev": true }, "yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "version": "17.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.0.tgz", + "integrity": "sha512-8H/wTDqlSwoSnScvV2N/JHfLWOKuh5MVla9hqLjK3nsfyy6Y4kDSYSvkU5YCUEPOSnRXfIyx3Sq+B/IWudTo4g==", "dev": true, "requires": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", diff --git a/package.json b/package.json index 390c28e41..892b2f30c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "deck", "description": "", - "version": "1.8.0-beta.0", + "version": "1.9.0-beta.1", "authors": [ { "name": "Julius Härtl", @@ -29,36 +29,37 @@ }, "dependencies": { "@babel/polyfill": "^7.12.1", - "@babel/runtime": "^7.18.9", + "@babel/runtime": "^7.19.4", "@juliushaertl/vue-richtext": "^1.0.1", - "@nextcloud/auth": "^1.3.0", - "@nextcloud/axios": "^1.10.0", - "@nextcloud/dialogs": "^3.1.4", - "@nextcloud/event-bus": "^2.1.1", + "@nextcloud/auth": "^2.0.0", + "@nextcloud/axios": "^2.1.0", + "@nextcloud/dialogs": "^3.2.0", + "@nextcloud/event-bus": "^3.0.2", "@nextcloud/files": "^2.1.0", - "@nextcloud/initial-state": "^1.2.1", + "@nextcloud/initial-state": "^2.0.0", "@nextcloud/l10n": "^1.6.0", "@nextcloud/moment": "^1.2.1", "@nextcloud/router": "^2.0.0", - "@nextcloud/vue": "^5.4.0", + "@nextcloud/vue": "^7.0.1", "@nextcloud/vue-dashboard": "^2.0.1", + "@nextcloud/vue-richtext": "^2.0.4", "blueimp-md5": "^2.19.0", - "dompurify": "^2.3.10", + "dompurify": "^2.4.0", "lodash": "^4.17.21", "markdown-it": "^13.0.1", - "markdown-it-link-attributes": "^4.0.0", + "markdown-it-link-attributes": "^4.0.1", "markdown-it-task-checkbox": "^1.0.6", "moment": "^2.29.4", "nextcloud-vue-collections": "^0.10.0", "p-queue": "^7.3.0", "url-search-params-polyfill": "^8.1.1", - "vue": "^2.7.8", - "vue-at": "^2.5.0-beta.2", + "vue": "^2.7.13", + "vue-at": "^2.5.1", "vue-click-outside": "^1.1.0", "vue-easymde": "^2.0.0", "vue-infinite-loading": "^2.4.5", "vue-material-design-icons": "^5.1.2", - "vue-router": "^3.5.4", + "vue-router": "^3.6.5", "vue-smooth-dnd": "^0.8.1", "vuex": "^3.6.2", "vuex-router-sync": "^5.0.0" @@ -72,17 +73,19 @@ }, "devDependencies": { "@nextcloud/babel-config": "^1.0.0", - "@nextcloud/browserslist-config": "^2.2.0", + "@nextcloud/browserslist-config": "^2.3.0", "@nextcloud/eslint-config": "^8.0.0", - "@nextcloud/stylelint-config": "^2.1.2", - "@nextcloud/webpack-vue-config": "^5.2.1", - "@relative-ci/agent": "^4.0.0", + "@nextcloud/stylelint-config": "^2.2.0", + "@nextcloud/webpack-vue-config": "^5.3.0", + "@relative-ci/agent": "^4.1.1", "@vue/test-utils": "^1.3.0", - "cypress": "^10.4.0", - "jest": "^28.1.3", + "cypress": "^10.10.0", + "eslint-webpack-plugin": "^3.2.0", + "jest": "^29.2.1", "jest-serializer-vue": "^2.0.2", + "stylelint-webpack-plugin": "^3.3.0", "vue-jest": "^3.0.7", - "vue-template-compiler": "^2.7.8" + "vue-template-compiler": "^2.7.13" }, "jest": { "moduleFileExtensions": [ diff --git a/src/App.vue b/src/App.vue index b1d044f38..ec1d06d85 100644 --- a/src/App.vue +++ b/src/App.vue @@ -21,13 +21,13 @@ --> diff --git a/src/components/navigation/AppNavigation.vue b/src/components/navigation/AppNavigation.vue index 0b8449eeb..31b8d8911 100644 --- a/src/components/navigation/AppNavigation.vue +++ b/src/components/navigation/AppNavigation.vue @@ -21,18 +21,25 @@ --> + + diff --git a/src/views/Dashboard.vue b/src/views/Dashboard.vue index e49851a62..222ee1fa5 100644 --- a/src/views/Dashboard.vue +++ b/src/views/Dashboard.vue @@ -22,7 +22,7 @@ - +
- +