diff --git a/.claude/skills/changelog/SKILL.md b/.claude/skills/changelog/SKILL.md index a471ab9a17d..25e17a08208 100644 --- a/.claude/skills/changelog/SKILL.md +++ b/.claude/skills/changelog/SKILL.md @@ -8,13 +8,27 @@ Generate a changelog entry for the CHANGELOG.md file by following these steps: ## 1. Get commits since last tag -Run `git --no-pager log $(git describe --tags --abbrev=0)..HEAD --oneline --no-decorate --first-parent --no-merges`) to get the list of commits. +First, fetch tags from origin — they sit off-branch (see note below) so they don't come down with a normal `git pull`/`git fetch` on the branch: + +``` +git fetch origin --tags +``` + +Then run the following to get the list of commits: + +``` +git --no-pager log $(git merge-base $(git tag --list 'v*' --sort=-v:refname | head -n1) HEAD)..HEAD --oneline --no-decorate --no-merges +``` + +Note: The release workflow tags a separate "Build assets" commit that is *not* an ancestor of the branch, so the tag itself never lands on `6.x`. That means `git describe --tags` walks back to a stale tag. Instead, take the newest tag and use its `git merge-base` with `HEAD`, which resolves to the release commit that *is* on the branch. + +5.x commits are merged into 6.x as-is (not squashed), so this plain `--no-merges` log already walks both the 6.x mainline and every commit brought in via a 5.x merge, in true chronological order — it only excludes the merge commits themselves (multi-parent, no real change of their own). ## 2. Process each commit For each commit: - Extract the PR number from the commit message (e.g., `(#13331)`) -- Remove the commit SHA and `[6.x]` prefix from the message +- Remove the commit SHA and `[6.x]`/`[5.x]` prefix from the message - Fetch the PR author from GitHub using a sequential loop — do NOT use parallel background jobs (`&`) as they interleave stdout unpredictably. Use: `for pr in ; do echo -n "PR $pr: "; gh pr view $pr --json author --jq '.author.login'; done` ## 3. Skip certain commits @@ -22,9 +36,18 @@ For each commit: Skip commits that are: - Test fixture updates (e.g., "Update composer test fixtures") - CI/workflow changes (e.g., "Only run lint workflow...") +- Test-only fixes with no user-facing effect (e.g., "Fix failing Guzzle tests" — check the PR body; if it says the bug only affected tests, skip it) +- Internal release/workflow-only PRs (e.g., "Update Release Workflow") +- Commits with no PR number, or whose message is itself a merge bookkeeping commit (e.g., "Merge 5.x (#NUM)", "Merge branch '5.x' into...") Do not skip dependency bumps from dependabot. +For `[5.x]`-prefixed commits, also skip/dedupe: +- Changes already superseded by a bigger PR in this release. Read the PR bodies — if a larger 6.x PR's description explicitly covers what the smaller 5.x fix addressed (e.g., a big OAuth rework that says it removes email-based matching supersedes a smaller "Fix OAuth" email-trust patch), skip the smaller one and note it in the summary (step 10). +- Changes that no longer apply to 6.x because 6.x already handled it independently (e.g., a 5.x "Drop support for Laravel 10/11" PR when 6.x already dropped those versions). + +When in doubt about whether a `[5.x]`-prefixed commit is user-facing, lean toward including it — security/authorization hardening fixes (auth checks, method-resolution guarding, validation hardening) belong in the changelog even without a lot of detail in the title, matching how they're written up in the 5.x changelog (e.g. "Harden remote URL validation", "Fix token path traversal"). + ## 4. Categorize commits - **What's new**: Commits that add new features (title contains "Add" or introduces new functionality). An "improvement" is not to be considered new. @@ -37,7 +60,7 @@ Format: `- Description [#NUMBER](https://github.com/statamic/cms/issues/NUMBER) ## 6. Order entries - Reverse the list so earliest commits come first (git log shows newest first) -- Within each category, maintain chronological order +- Within each category, maintain chronological order — this already interleaves 5.x-origin commits correctly since step 1's log is in true merge order - Translation PRs get moved to the bottom of the list - Dependabot PRs get moved to the bottom, after translations diff --git a/.gitattributes b/.gitattributes index 4082132ee33..5c2beb71743 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,6 +1,15 @@ * text=auto *.php eol=lf + +/resources/dist/**/* linguist-generated=true +/resources/dist-dev/**/* linguist-generated=true +/resources/dist-frontend/**/* linguist-generated=true +/resources/dist-package/**/* linguist-generated=true + /.github export-ignore +/resources/js export-ignore +/resources/css export-ignore +/packages export-ignore /tests export-ignore .babelrc export-ignore .gitattributes export-ignore @@ -8,7 +17,8 @@ .travis.yml export-ignore CONTRIBUTING.md export-ignore jest.config.js export-ignore +phpstan.dist.neon export-ignore phpunit.bat export-ignore -phpunit.xml.dist export-ignore +phpunit.dist.xml export-ignore SECURITY.md export-ignore translator export-ignore diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000000..88032f84998 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,8 @@ +/composer.json @statamic/security +/src/helpers.php @statamic/security +/src/namespaced_helpers.php @statamic/security +/src/View/Blade/helpers.php @statamic/security + +/.github/CODEOWNERS @statamic/security +/.github/workflows/tripwire.yml @statamic/security +/scripts/check-autoload-files.sh @statamic/security diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 541300fcf96..857aff89062 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,12 +4,14 @@ Please take 30 seconds to read the following so we can be as efficient as possib 1️⃣ Is this your first PR? If so, please read our [contribution guide](https://statamic.dev/contribution-guide) first. -2️⃣ Please make sure to create a new branch for your PR. +2️⃣ Did you use AI tools to create this PR? If so, please review changes carefully to make sure they meet our code standards. We all know how AI can behave sometimes. This helps to make the review easier for us. Reviewing PRs can be a lot of work. -3️⃣ Typically you should target the branch of the most current release, e.g. `6.x`, unless your PR includes a breaking change, in which case you should target the `master` branch for the next major release. +3️⃣ Please make sure to create a new branch for your PR. -4️⃣ We _really_ appreciate it if your PR includes tests. This makes it much easier for us to review, merge, and release. A PR with tests is usually reviewed and merged 5x-10x faster. +4️⃣ Typically you should target the branch of the most current release, e.g. `6.x`, unless your PR includes a breaking change, in which case you should target the `master` branch for the next major release. -5️⃣ If your PR introduce a new feature, adds to an existing one, or changes current behavior, please **open an issue for it in the [statamic/docs](https://github.com/statamic/docs/issues) repo referencing your PR**. A simple "Goes along with statamic/cms#9000" is enough. Otherwise it's really easy to forget and no will ever become aware of your ✨ sparkling ✨ invention if it's not documented. +5️⃣ We _really_ appreciate it if your PR includes tests. This makes it much easier for us to review, merge, and release. A PR with tests is usually reviewed and merged 5x-10x faster. -6️⃣ Remove this placeholder text and replace it with a description of what this PR is doing. +6️⃣ If your PR introduce a new feature, adds to an existing one, or changes current behavior, please **open an issue for it in the [statamic/docs](https://github.com/statamic/docs/issues) repo referencing your PR**. A simple "Goes along with statamic/cms#9000" is enough. Otherwise it's really easy to forget and no will ever become aware of your ✨ sparkling ✨ invention if it's not documented. + +7️⃣ Remove this placeholder text and replace it with a description of what this PR is doing. diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000000..c20187016cc --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + groups: + github-actions: + patterns: + - "*" + cooldown: + default-days: 7 diff --git a/.github/workflows/code-style-lint.yml b/.github/workflows/code-style-lint.yml index 1b41a312789..84999a3e7dc 100644 --- a/.github/workflows/code-style-lint.yml +++ b/.github/workflows/code-style-lint.yml @@ -3,25 +3,38 @@ name: Lint code style issues on: pull_request: +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: - lint-code-styling: + lint-code-styling: # zizmor: ignore[anonymous-definition] runs-on: ubuntu-latest + permissions: + contents: read steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v46 + uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 with: files: | **.php - name: Check PHP code style issues if: steps.changed-files.outputs.any_modified == 'true' - uses: aglipanci/laravel-pint-action@v2 + uses: aglipanci/laravel-pint-action@36de00d5f5a8a4e12d443e01671daa12a18f4c79 # 2.6 with: testMode: true verboseMode: true pintVersion: 1.16.0 + + - name: Check Statamic\trans imports + run: bash scripts/check-trans-import.sh diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml new file mode 100644 index 00000000000..302695972da --- /dev/null +++ b/.github/workflows/phpstan.yml @@ -0,0 +1,53 @@ +name: PHPStan + +on: + pull_request: + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + phpstan: + name: Analyze + runs-on: ubuntu-latest + permissions: + contents: read + + steps: + - name: Checkout code + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 + with: + files: | + src/** + composer.json + phpstan.dist.neon + .phpstan/** + .github/workflows/phpstan.yml + + - name: Setup PHP + uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 + if: steps.changed-files.outputs.any_modified == 'true' + with: + php-version: 8.5 + coverage: none + + - name: Install dependencies + uses: nick-invision/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0 + if: steps.changed-files.outputs.any_modified == 'true' + with: + timeout_minutes: 5 + max_attempts: 5 + command: composer update --prefer-stable --prefer-dist --no-interaction + + - name: Run PHPStan + if: steps.changed-files.outputs.any_modified == 'true' + run: vendor/bin/phpstan analyse --memory-limit=2G diff --git a/.github/workflows/pr-title.yml b/.github/workflows/pr-title.yml index a4ecda7248a..87c54a70fc8 100644 --- a/.github/workflows/pr-title.yml +++ b/.github/workflows/pr-title.yml @@ -4,60 +4,13 @@ on: pull_request: types: [opened, edited, synchronize, reopened] -jobs: - pr-title: - runs-on: ubuntu-latest - steps: - - name: Validate PR title matches target branch - env: - PR_TITLE: ${{ github.event.pull_request.title }} - BASE_BRANCH: ${{ github.event.pull_request.base.ref }} - DEFAULT_BRANCH: ${{ github.event.repository.default_branch }} - run: | - # Validates PR title against target branch - # Returns error message if invalid, empty string if valid - validate_pr_title() { - local target_branch="$1" - local pr_title="$2" - local default_branch="$3" - - # Check if target branch is a version branch (e.g., 5.x, 4.x) - if [[ $target_branch =~ ^([0-9]+)\.x$ ]]; then - local version="${BASH_REMATCH[1]}" - if [[ ! $pr_title =~ ^\[$version\.x\][[:space:]] ]]; then - echo "PR targeting '$target_branch' must have title starting with '[$version.x] '" - return - fi - - # Check if target branch is master (next major version) - elif [[ $target_branch == "master" ]]; then - local current_version="${default_branch//\.x/}" - local next_version=$((current_version + 1)) - if [[ ! $pr_title =~ ^\[$next_version\.x\][[:space:]] ]]; then - echo "PR targeting 'master' must have title starting with '[$next_version.x] '" - return - fi - - # For other branches, just enforce that there's a version prefix - else - if [[ ! $pr_title =~ ^\[[0-9]+\.x\][[:space:]] ]]; then - echo "PR title must start with a version prefix like '[5.x] '" - return - fi - fi +permissions: {} - echo "" - } +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true - echo "PR Title: $PR_TITLE" - echo "Base Branch: $BASE_BRANCH" - echo "Default Branch: $DEFAULT_BRANCH" - - ERROR=$(validate_pr_title "$BASE_BRANCH" "$PR_TITLE" "$DEFAULT_BRANCH") - - if [[ -n $ERROR ]]; then - echo $ERROR - exit 1 - fi - - echo "PR title validation passed" +jobs: + pr-title: + uses: statamic/.github/.github/workflows/pr-title.yml@bebe92309b4276e45ebc0d0c65854fb2ecf786ba + permissions: {} diff --git a/.github/workflows/pull-requests.yml b/.github/workflows/pull-requests.yml index 7dfc21ad702..708588df6f9 100644 --- a/.github/workflows/pull-requests.yml +++ b/.github/workflows/pull-requests.yml @@ -1,75 +1,18 @@ name: Pull Requests -# Credit: https://github.com/github/docs/blob/main/.github/workflows/notify-when-maintainers-cannot-edit.yaml -# https://github.com/laravel/.github/blob/main/.github/workflows/pull-requests.yml - on: - pull_request_target: + pull_request_target: # zizmor: ignore[dangerous-triggers] types: - opened -permissions: - pull-requests: write +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number }} + cancel-in-progress: true jobs: uneditable: - runs-on: ubuntu-latest - steps: - - uses: actions/github-script@v7 - with: - script: | - const repo = context.repo.repo; - - const query = ` - query($number: Int!) { - repository(owner: "statamic", name: "${repo}") { - pullRequest(number: $number) { - headRepositoryOwner { - login - } - maintainerCanModify - state - } - } - } - `; - - const pullNumber = context.issue.number; - const variables = { number: pullNumber }; - - try { - console.log(`Check for maintainer edit access ...`); - const result = await github.graphql(query, variables); - console.log(JSON.stringify(result, null, 2)); - const pullRequest = result.repository.pullRequest; - - if (pullRequest.headRepositoryOwner.login === 'statamic') { - console.log('PR owned by statamic'); - return; - } - - if (pullRequest.state !== 'OPEN') { - console.log('PR has already been closed or merged'); - return; - } - - if (!pullRequest.maintainerCanModify) { - console.log('PR not owned by statamic and does not have maintainer edits enabled'); - - await github.rest.issues.createComment({ - issue_number: pullNumber, - owner: 'statamic', - repo, - body: "Thanks for submitting a PR!\n\nIn order to review and merge PRs most efficiently, we require that all PRs grant maintainer edit access before we review them. For information on how to do this, [see the relevant GitHub documentation](https://docs.github.com/en/github/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork). Additionally, GitHub doesn't allow maintainer permissions from organization accounts. Please resubmit this PR from a personal GitHub account with maintainer permissions enabled." - }); - - await github.rest.pulls.update({ - pull_number: pullNumber, - owner: 'statamic', - repo, - state: 'closed' - }); - } - } catch(e) { - console.log(e); - } + uses: statamic/.github/.github/workflows/pull-requests.yml@bebe92309b4276e45ebc0d0c65854fb2ecf786ba + permissions: + pull-requests: write # post comment and close PRs that don't allow maintainer edits diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index add7710d7a1..4fa4703aedd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,21 +1,65 @@ name: Create Release -on: - push: - tags: - - 'v*' +on: # zizmor: ignore[concurrency-limits] + workflow_dispatch: + inputs: + version: + description: 'Release version, without the v prefix (e.g. 6.2.0)' + required: true + type: string + +permissions: {} jobs: - build: + release: + name: Create Release runs-on: ubuntu-latest + environment: Releases + permissions: {} # all writes go through the App token; GITHUB_TOKEN needs no scopes steps: - - name: Checkout code - uses: actions/checkout@v4 + - name: Resolve and validate version + env: + INPUT_VERSION: ${{ inputs.version }} + BRANCH: ${{ github.ref_name }} + run: | + version="${INPUT_VERSION#v}" + + if [[ ! "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.]+)?$ ]]; then + echo "::error::Version must look like 6.2.0 (got: $INPUT_VERSION)" + exit 1 + fi + + if [ "${version%%.*}" != "${BRANCH%%.*}" ]; then + echo "::error::Version $version does not belong on the $BRANCH branch" + exit 1 + fi + + echo "TAG=v$version" >> "$GITHUB_ENV" + + - name: Get release bot token + id: app-token + uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0 + with: + client-id: ${{ secrets.RELEASE_APP_CLIENT_ID }} + private-key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} + permission-contents: write + + - name: Checkout + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + token: ${{ steps.app-token.outputs.token }} + persist-credentials: true # zizmor: ignore[artipacked] App token is needed to push the tag + + - name: Assert tag does not already exist + run: | + existing="$(git ls-remote --tags origin "$TAG")" + [ -z "$existing" ] || { echo "::error::Tag $TAG already exists on remote. Aborting."; exit 1; } - name: Use Node.js 20.19.0 - uses: actions/setup-node@v4 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 20.19.0 + package-manager-cache: false - name: Install dependencies run: npm ci @@ -23,64 +67,52 @@ jobs: - name: Build release assets run: bash ./scripts/build-release.sh - - name: Get Changelog - id: changelog - uses: statamic/changelog-action@v1 - with: - version: ${{ github.ref }} - - - name: Create release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ steps.changelog.outputs.version }} - release_name: ${{ steps.changelog.outputs.version }} - body: ${{ steps.changelog.outputs.text }} - prerelease: false - - - name: Upload dist zip to release - uses: actions/upload-release-asset@v1.0.1 + - name: Create the build commit env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./resources/dist.tar.gz - asset_name: dist.tar.gz - asset_content_type: application/tar+gz + GH_TOKEN: ${{ steps.app-token.outputs.token }} + APP_SLUG: ${{ steps.app-token.outputs.app-slug }} + run: | + USER_ID="$(gh api "/users/${APP_SLUG}[bot]" --jq .id)" + git config user.name "${APP_SLUG}[bot]" + git config user.email "${USER_ID}+${APP_SLUG}[bot]@users.noreply.github.com" + git add --force \ + resources/dist \ + resources/dist-dev \ + resources/dist-frontend \ + resources/dist-package + git commit -m "Build assets for $TAG" - - name: Upload dist-dev zip to release - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./resources/dist-dev.tar.gz - asset_name: dist-dev.tar.gz - asset_content_type: application/tar+gz + - name: Tag and push the build commit + run: | + git tag "$TAG" + git push origin "$TAG" - - name: Upload dist-frontend zip to release - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Get Changelog + id: changelog + uses: statamic/changelog-action@5d112d0d790cdeeb5adca3e584e37edc474ab51b # v1.0.2 with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./resources/dist-frontend.tar.gz - asset_name: dist-frontend.tar.gz - asset_content_type: application/tar+gz + version: ${{ env.TAG }} - - name: Upload dist-package zip to release - uses: actions/upload-release-asset@v1.0.1 + - name: Create release env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./resources/dist-package.tar.gz - asset_name: dist-package.tar.gz - asset_content_type: application/tar+gz + GH_TOKEN: ${{ steps.app-token.outputs.token }} + RELEASE_NOTES: ${{ steps.changelog.outputs.text }} + IS_DEFAULT_BRANCH: ${{ github.ref_name == github.event.repository.default_branch }} + run: | + latest="$IS_DEFAULT_BRANCH" + prerelease=false + case "$TAG" in + *-*) prerelease=true; latest=false ;; + esac + gh release create "$TAG" \ + --title "$TAG" \ + --notes "$RELEASE_NOTES" \ + --latest="$latest" \ + --prerelease="$prerelease" - name: Deploy Storybook to Forge continue-on-error: true + env: + FORGE_STORYBOOK_WEBHOOK: ${{ secrets.FORGE_STORYBOOK_WEBHOOK }} run: | - curl -X POST "${{ secrets.FORGE_STORYBOOK_WEBHOOK }}" + curl -X POST "$FORGE_STORYBOOK_WEBHOOK" diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 2f068f0602d..795c524331b 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -1,22 +1,13 @@ name: "Close stale issues" -on: +on: # zizmor: ignore[concurrency-limits] workflow_dispatch: schedule: - cron: "30 1 * * *" +permissions: {} + jobs: stale: - runs-on: ubuntu-latest - steps: - - uses: actions/stale@v9 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - days-before-stale: 60 - days-before-close: 7 - ascending: true - only-labels: 'needs more info' - stale-issue-label: stale - stale-issue-message: > - This issue has not had recent activity and has been marked as stale — by me, a robot. - Simply reply to keep it open and send me away. If you do nothing, I will close it in - a week. I have no feelings, so whatever you do is fine by me. + uses: statamic/.github/.github/workflows/stale.yml@bebe92309b4276e45ebc0d0c65854fb2ecf786ba + permissions: + issues: write # mark issues stale and close them diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 872070830a9..ba08937d758 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,10 +9,18 @@ on: schedule: - cron: '0 0 * * *' +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: php-tests: runs-on: ${{ matrix.os }} if: "!contains(github.event.head_commit.message, '[ci skip]')" + permissions: + contents: read strategy: matrix: @@ -30,24 +38,25 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v46 + uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 with: files: | - config - lang - resources/users - resources/views - routes - src - tests + config/** + lang/** + resources/users/** + resources/views/** + routes/** + src/** + tests/** composer.json - phpunit.xml.dist + phpunit.dist.xml .github/workflows/tests.yml - tests/Composer/__fixtures__ **.php - name: Determine whether tests should run @@ -68,7 +77,7 @@ jobs: run: sudo apt-get install language-pack-fr - name: Setup PHP - uses: shivammathur/setup-php@v2 + uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2 if: steps.should-run-tests.outputs.result == 'true' with: php-version: ${{ matrix.php }} @@ -77,7 +86,7 @@ jobs: coverage: none - name: Install dependencies - uses: nick-invision/retry@v3 + uses: nick-invision/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0 if: steps.should-run-tests.outputs.result == 'true' with: timeout_minutes: 5 @@ -97,16 +106,20 @@ jobs: js-tests: runs-on: ubuntu-latest if: "!contains(github.event.head_commit.message, '[ci skip]')" + permissions: + contents: read name: JavaScript tests steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v46 + uses: tj-actions/changed-files@9426d40962ed5378910ee2e21d5f8c6fcbf2dd96 # v47.0.6 with: files: | **/*.{js,vue,ts} @@ -121,7 +134,7 @@ jobs: echo "result=true" >> $env:GITHUB_OUTPUT - name: Use Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 - name: Install dependencies if: steps.should-run-tests.outputs.result == 'true' @@ -147,16 +160,21 @@ jobs: name: Slack Notification runs-on: ubuntu-latest needs: [php-tests, js-tests] + permissions: + actions: read # required by workflow-conclusion-action to determine overall workflow status if: always() steps: - - uses: technote-space/workflow-conclusion-action@v3 + - uses: technote-space/workflow-conclusion-action@45ce8e0eb155657ab8ccf346ade734257fd196a5 # v3.0.3 - name: Send Slack notification - uses: 8398a7/action-slack@v3 + uses: slackapi/slack-github-action@0d95c9a7becc1e6e297d76df9bc735c44f4cbcbc # v3.0.5 if: env.WORKFLOW_CONCLUSION == 'failure' && github.event_name == 'schedule' with: - status: failure - fields: repo,message,commit,author,action,eventName,ref,workflow - author_name: ${{ github.actor }} - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + webhook: ${{ secrets.SLACK_WEBHOOK }} + webhook-type: incoming-webhook + payload: | + text: ":x: *${{ github.repository }}* tests failed" + blocks: + - type: section + text: + type: mrkdwn + text: ":x: *${{ github.repository }}* tests failed\n*Ref:* ${{ github.ref }}\n*Author:* ${{ github.actor }}\n*Workflow:* <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|${{ github.workflow }}>" diff --git a/.github/workflows/tripwire.yml b/.github/workflows/tripwire.yml new file mode 100644 index 00000000000..61d2eba044d --- /dev/null +++ b/.github/workflows/tripwire.yml @@ -0,0 +1,30 @@ +name: Tripwire + +on: + push: + branches: + - master + - '*.x' + pull_request: + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + autoload-files: + name: Verify autoload.files is unchanged + runs-on: ubuntu-latest + permissions: + contents: read + + steps: + - name: Checkout code + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + + - name: Verify autoload.files matches the approved allowlist + run: bash scripts/check-autoload-files.sh diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml new file mode 100644 index 00000000000..1278d6787f9 --- /dev/null +++ b/.github/workflows/zizmor.yml @@ -0,0 +1,23 @@ +name: GitHub Actions Security Analysis + +on: + push: + branches: + - master + - '*.x' + paths: + - '.github/**.yml' + pull_request: + paths: + - '.github/**.yml' + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + zizmor: + uses: statamic/.github/.github/workflows/zizmor.yml@7e941c239074d66da6cad3322bec3b1005c80cf7 + permissions: {} diff --git a/.gitignore b/.gitignore index 4aa0b7fbd23..4026fb22467 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,6 @@ composer.lock .env bundle-stats.html .claude/settings.local.json +.claude/worktrees +polyscope.json storybook-static diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000000..f28ba9079c3 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +ignore-scripts=true +min-release-age=3 diff --git a/.phpstan/baseline.neon b/.phpstan/baseline.neon new file mode 100644 index 00000000000..5e43a294010 --- /dev/null +++ b/.phpstan/baseline.neon @@ -0,0 +1,277 @@ +parameters: + ignoreErrors: + - + message: '#^Method Statamic\\Auth\\Eloquent\\User\:\:mergePreferences\(\) should return \$this\(Statamic\\Auth\\Eloquent\\User\) but return statement is missing\.$#' + identifier: return.missing + count: 1 + path: ../src/Auth/Eloquent/User.php + + - + message: '#^Method Statamic\\Auth\\Eloquent\\User\:\:setPreferences\(\) should return \$this\(Statamic\\Auth\\Eloquent\\User\) but return statement is missing\.$#' + identifier: return.missing + count: 1 + path: ../src/Auth/Eloquent/User.php + + - + message: '#^Method Statamic\\Auth\\User\:\:getAuthIdentifierName\(\) should return string but return statement is missing\.$#' + identifier: return.missing + count: 1 + path: ../src/Auth/User.php + + - + message: '#^Access to an undefined property Statamic\\Auth\\UserRepository\:\:\$roleRepository\.$#' + identifier: property.notFound + count: 1 + path: ../src/Auth/UserRepository.php + + - + message: '#^Access to an undefined property Statamic\\Auth\\UserRepository\:\:\$userGroupRepository\.$#' + identifier: property.notFound + count: 1 + path: ../src/Auth/UserRepository.php + + - + message: '#^Call to an undefined method Statamic\\Auth\\UserRepository\:\:query\(\)\.$#' + identifier: method.notFound + count: 2 + path: ../src/Auth/UserRepository.php + + - + message: '#^Unknown parameter \$editing in call to static method Statamic\\Facades\\CP\\Nav\:\:build\(\)\.$#' + identifier: argument.unknown + count: 1 + path: ../src/CP/Navigation/NavTransformer.php + + - + message: '#^Unknown parameter \$preferences in call to static method Statamic\\Facades\\CP\\Nav\:\:build\(\)\.$#' + identifier: argument.unknown + count: 1 + path: ../src/CP/Navigation/NavTransformer.php + + - + message: '#^Unsafe usage of new static\(\)\.$#' + identifier: new.static + count: 1 + path: ../src/Events/Event.php + + - + message: '#^Unsafe usage of new static\(\)\.$#' + identifier: new.static + count: 2 + path: ../src/Events/Subscriber.php + + - + message: '#^Called ''env'' outside of the config directory which returns null when the config is cached, use ''config''\.$#' + identifier: larastan.noEnvCallsOutsideOfConfig + count: 1 + path: ../src/Facades/Endpoint/Parse.php + + - + message: '#^Method Illuminate\\Contracts\\Validation\\DataAwareRule@anonymous/Fieldtypes/Bard\.php\:934\:\:setData\(\) should return \$this\(Illuminate\\Contracts\\Validation\\DataAwareRule@anonymous/Fieldtypes/Bard\.php\:934\) but return statement is missing\.$#' + identifier: return.missing + count: 1 + path: ../src/Fieldtypes/Bard.php + + - + message: '#^Access to an undefined property Statamic\\Filesystem\\AbstractAdapter\:\:\$filesystem\.$#' + identifier: property.notFound + count: 13 + path: ../src/Filesystem/AbstractAdapter.php + + - + message: '#^Call to an undefined method Statamic\\Filesystem\\AbstractAdapter\:\:copyDirectory\(\)\.$#' + identifier: method.notFound + count: 1 + path: ../src/Filesystem/AbstractAdapter.php + + - + message: '#^Call to an undefined method Statamic\\Filesystem\\AbstractAdapter\:\:getFiles\(\)\.$#' + identifier: method.notFound + count: 3 + path: ../src/Filesystem/AbstractAdapter.php + + - + message: '#^Call to an undefined method Statamic\\Filesystem\\AbstractAdapter\:\:getFolders\(\)\.$#' + identifier: method.notFound + count: 2 + path: ../src/Filesystem/AbstractAdapter.php + + - + message: '#^Call to an undefined method Statamic\\Filesystem\\AbstractAdapter\:\:moveDirectory\(\)\.$#' + identifier: method.notFound + count: 1 + path: ../src/Filesystem/AbstractAdapter.php + + - + message: '#^Result of method Statamic\\Forms\\Form\:\:save\(\) \(void\) is used\.$#' + identifier: method.void + count: 1 + path: ../src/Forms/Form.php + + - + message: '#^Result of method Statamic\\Forms\\Submission\:\:save\(\) \(void\) is used\.$#' + identifier: method.void + count: 1 + path: ../src/Forms/Submission.php + + - + message: '#^Access to an undefined property Statamic\\Http\\Controllers\\API\\ApiController\:\:\$params\.$#' + identifier: property.notFound + count: 1 + path: ../src/Http/Controllers/API/ApiController.php + + - + message: '#^Unknown parameter \$editing in call to static method Statamic\\Facades\\CP\\Nav\:\:build\(\)\.$#' + identifier: argument.unknown + count: 1 + path: ../src/Http/Controllers/CP/Preferences/Nav/DefaultNavController.php + + - + message: '#^Unknown parameter \$preferences in call to static method Statamic\\Facades\\CP\\Nav\:\:build\(\)\.$#' + identifier: argument.unknown + count: 1 + path: ../src/Http/Controllers/CP/Preferences/Nav/DefaultNavController.php + + - + message: '#^Unknown parameter \$editing in call to static method Statamic\\Facades\\CP\\Nav\:\:build\(\)\.$#' + identifier: argument.unknown + count: 1 + path: ../src/Http/Controllers/CP/Preferences/Nav/RoleNavController.php + + - + message: '#^Unknown parameter \$preferences in call to static method Statamic\\Facades\\CP\\Nav\:\:build\(\)\.$#' + identifier: argument.unknown + count: 1 + path: ../src/Http/Controllers/CP/Preferences/Nav/RoleNavController.php + + - + message: '#^Access to an undefined property Statamic\\Imaging\\GlideManager\:\:\$cachePathPrefix\.$#' + identifier: property.notFound + count: 1 + path: ../src/Imaging/GlideManager.php + + - + message: '#^Access to an undefined property Statamic\\Imaging\\GlideManager\:\:\$sourcePathPrefix\.$#' + identifier: property.notFound + count: 1 + path: ../src/Imaging/GlideManager.php + + - + message: '#^Call to an undefined method Statamic\\Imaging\\GlideManager\:\:getAllParams\(\)\.$#' + identifier: method.notFound + count: 1 + path: ../src/Imaging/GlideManager.php + + - + message: '#^Call to an undefined method Statamic\\Imaging\\GlideManager\:\:getSourcePath\(\)\.$#' + identifier: method.notFound + count: 1 + path: ../src/Imaging/GlideManager.php + + - + message: '#^Called ''env'' outside of the config directory which returns null when the config is cached, use ''config''\.$#' + identifier: larastan.noEnvCallsOutsideOfConfig + count: 1 + path: ../src/Marketplace/Client.php + + - + message: '#^Call to an undefined method Statamic\\Providers\\AppServiceProvider\:\:sendElevatedSessionVerificationCode\(\)\.$#' + identifier: method.notFound + count: 1 + path: ../src/Providers/AppServiceProvider.php + + - + message: '#^Access to an undefined property Statamic\\Providers\\EventServiceProvider\:\:\$listeners\.$#' + identifier: property.notFound + count: 2 + path: ../src/Providers/EventServiceProvider.php + + - + message: '#^Call to an undefined method Statamic\\Stache\\Indexes\\Index\:\:getItemValue\(\)\.$#' + identifier: method.notFound + count: 1 + path: ../src/Stache/Indexes/Index.php + + - + message: '#^Access to an undefined property Statamic\\Stache\\Stores\\AggregateStore\:\:\$childStore\.$#' + identifier: property.notFound + count: 1 + path: ../src/Stache/Stores/AggregateStore.php + + - + message: '#^Call to an undefined method Statamic\\Stache\\Stores\\Store\:\:cacheItem\(\)\.$#' + identifier: method.notFound + count: 2 + path: ../src/Stache/Stores/Store.php + + - + message: '#^Call to an undefined method Statamic\\Stache\\Stores\\Store\:\:forgetItem\(\)\.$#' + identifier: method.notFound + count: 2 + path: ../src/Stache/Stores/Store.php + + - + message: '#^Call to an undefined method Statamic\\Stache\\Stores\\Store\:\:getKeyFromPath\(\)\.$#' + identifier: method.notFound + count: 1 + path: ../src/Stache/Stores/Store.php + + - + message: '#^Call to an undefined method Statamic\\Stache\\Stores\\Store\:\:makeItemFromFile\(\)\.$#' + identifier: method.notFound + count: 2 + path: ../src/Stache/Stores/Store.php + + - + message: '#^Method Statamic\\StaticCaching\\Cachers\\NullCacher\:\:getCachedPage\(\) should return Statamic\\StaticCaching\\Page but return statement is missing\.$#' + identifier: return.missing + count: 1 + path: ../src/StaticCaching/Cachers/NullCacher.php + + - + message: '#^Call to an undefined method Statamic\\StaticCaching\\NoCache\\Region\:\:key\(\)\.$#' + identifier: method.notFound + count: 1 + path: ../src/StaticCaching/NoCache/Region.php + + - + message: '#^Access to an undefined property Statamic\\Structures\\StructureRepository\:\:\$store\.$#' + identifier: property.notFound + count: 2 + path: ../src/Structures/StructureRepository.php + + - + message: '#^Call to an undefined method Statamic\\Support\\Manager\:\:createNullDriver\(\)\.$#' + identifier: method.notFound + count: 1 + path: ../src/Support/Manager.php + + - + message: '#^Access to an undefined property Statamic\\Testing\\AddonTestCase\:\:\$fakeStacheDirectory\.$#' + identifier: property.notFound + count: 1 + path: ../src/Testing/AddonTestCase.php + + - + message: '#^Call to an undefined method Statamic\\Testing\\AddonTestCase\:\:deleteFakeStacheDirectory\(\)\.$#' + identifier: method.notFound + count: 1 + path: ../src/Testing/AddonTestCase.php + + - + message: '#^Call to an undefined method Statamic\\Testing\\AddonTestCase\:\:preventSavingStacheItemsToDisk\(\)\.$#' + identifier: method.notFound + count: 1 + path: ../src/Testing/AddonTestCase.php + + - + message: '#^Call to an undefined method Statamic\\View\\Scaffolding\\Emitters\\AbstractSourceEmitter\:\:getCountedVariable\(\)\.$#' + identifier: method.notFound + count: 2 + path: ../src/View/Scaffolding/Emitters/AbstractSourceEmitter.php + + - + message: '#^Call to an undefined method Statamic\\View\\Scaffolding\\Emitters\\AbstractSourceEmitter\:\:releaseCountedVariable\(\)\.$#' + identifier: method.notFound + count: 2 + path: ../src/View/Scaffolding/Emitters/AbstractSourceEmitter.php diff --git a/.phpstan/stubs/debugbar.php b/.phpstan/stubs/debugbar.php new file mode 100644 index 00000000000..da2420b0efe --- /dev/null +++ b/.phpstan/stubs/debugbar.php @@ -0,0 +1,80 @@ +name = $name; + } + + public function reset(): void + { + // + } + + public function setData(array $data): void + { + // + } + + public function collect(): array + { + return []; + } + + public function getName(): string + { + return $this->name; + } + + public function getWidgets(): array + { + return []; + } +} diff --git a/.storybook/main.ts b/.storybook/main.ts index 484abf91948..455006eb2f2 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -25,6 +25,10 @@ const config: StorybookConfig = { '@api': resolve(process.cwd(), 'resources/js/api.js'), }; } + config.build = { + ...config.build, + reportCompressedSize: false, + }; return config; }, }; diff --git a/.storybook/preview.ts b/.storybook/preview.ts index a9819150f55..72fa779fa8f 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -5,17 +5,34 @@ import {router} from '@inertiajs/vue3'; import {action} from 'storybook/actions'; import './storybook.css'; import './theme.css'; -import {translate} from '@/translations/translator'; +import {translate, translateChoice} from '@/translations/translator'; import registerUiComponents from '@/bootstrap/ui'; import DateFormatter from '@/components/DateFormatter'; +import NumberFormatter from '@/components/NumberFormatter'; import cleanCodeSnippet from './clean-code-snippet'; import PortalVue from 'portal-vue'; import FullscreenHeader from '@/components/publish/FullscreenHeader.vue'; import Portal from '@/components/portals/Portal.vue'; import PortalTargets from '@/components/portals/PortalTargets.vue'; -import {keys, portals, slug, stacks} from '@api'; +import {config as statamicConfig, keys, portals, slug, stacks} from '@api'; import useGlobalEventBus from '@/composables/global-event-bus'; +const storybookConfig = { + linkToDocs: true, + paginationSize: 50, + paginationSizeOptions: [10, 25, 50, 100, 500], + sites: [{ + handle: 'default', + lang: 'en', + }], + selectedSite: 'default', + lang: 'en', + translationLocale: 'en', + displayTimezone: 'UTC', + asciiReplaceExtraSymbols: false, + charmap: { currency: {}, currency_short: {} }, +}; + // Intercept Inertia navigation and log to Actions tab. router.on('before', (event) => { action('inertia navigate')(event.detail.visit.url); @@ -24,25 +41,13 @@ router.on('before', (event) => { setup(async (app) => { window.__ = translate; + window.__n = translateChoice; + statamicConfig.initialize(storybookConfig); window.Statamic = { $config: { get(key) { - const config = { - linkToDocs: true, - paginationSize: 50, - paginationSizeOptions: [10, 25, 50, 100, 500], - sites: [{ - handle: 'default', - lang: 'en', - }], - selectedSite: 'default', - lang: 'en', - asciiReplaceExtraSymbols: false, - charmap: { currency: {}, currency_short: {} }, - }; - - return config[key] ?? null; + return storybookConfig[key] ?? null; } }, $commandPalette: { @@ -62,7 +67,9 @@ setup(async (app) => { }; app.config.globalProperties.__ = translate; + app.config.globalProperties.__n = translateChoice; app.config.globalProperties.$date = new DateFormatter; + app.config.globalProperties.$number = new NumberFormatter; app.config.globalProperties.cp_url = (url) => url; app.config.globalProperties.$portals = portals; app.config.globalProperties.$stacks = stacks; diff --git a/.storybook/storybook.css b/.storybook/storybook.css index 6cdf7c8c4c5..9a141f91e16 100644 --- a/.storybook/storybook.css +++ b/.storybook/storybook.css @@ -9,6 +9,8 @@ @custom-variant dark (&:where(.dark, .dark *)); :root { + --focus-outline-color: var(--color-blue-400); + /* GROUP VARIABLES -- DECORATION -- COLOURS =================================================== */ --color-code-background: hsl(287deg 80% 93.5%); diff --git a/CHANGELOG.md b/CHANGELOG.md index b8568b64e9a..ac67e2e7d7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,580 @@ # Release Notes +## 6.26.0 (2026-07-21) + +### What's new +- Add support for custom link types [#15004](https://github.com/statamic/cms/issues/15004) by @duncanmcclean +- Add support for public dictionaries [#15029](https://github.com/statamic/cms/issues/15029) by @duncanmcclean + +### What's fixed +- Harmonize label customization config text [#15034](https://github.com/statamic/cms/issues/15034) by @duncanmcclean +- Fix Custom Invalidator background recache [#15031](https://github.com/statamic/cms/issues/15031) by @marcorieser +- Fix grid min_rows breaking CP navigation [#15033](https://github.com/statamic/cms/issues/15033) by @duncanmcclean +- Do not hide the primary save button for mobile [#15041](https://github.com/statamic/cms/issues/15041) by @jaygeorge +- Show an entry selector when filtering by an entries field [#15043](https://github.com/statamic/cms/issues/15043) by @duncanmcclean +- Fix customized listing columns being overridden by default preferences [#15040](https://github.com/statamic/cms/issues/15040) by @mynetx +- Fix origin() on null when fetching nav tree with origin_id field [#15042](https://github.com/statamic/cms/issues/15042) by @duncanmcclean +- Pass field prefix to custom conditions [#15044](https://github.com/statamic/cms/issues/15044) by @duncanmcclean +- Ensure application cache honours static_cache store [#15045](https://github.com/statamic/cms/issues/15045) by @ryanmitchell +- German translations [#15036](https://github.com/statamic/cms/issues/15036) by @helloDanuk +- Bump the github-actions group with 2 updates [#15032](https://github.com/statamic/cms/issues/15032) by @dependabot +- Bump axios from 1.16.0 to 1.18.1 [#15038](https://github.com/statamic/cms/issues/15038) by @dependabot + + + +## 6.25.0 (2026-07-17) + +### What's new +- Allow taxonomy create button customization [#14997](https://github.com/statamic/cms/issues/14997) by @efc +- Make Files fieldtype temporary upload storage configurable [#14733](https://github.com/statamic/cms/issues/14733) by @duncanmcclean +- Support Glide 4 and Intervention Image 4 [#15019](https://github.com/statamic/cms/issues/15019) by @joshuablum + +### What's fixed +- Hide permissions covered by a broader permission [#14970](https://github.com/statamic/cms/issues/14970) by @jasonvarga +- Prevent vertical focus clipping on listing pages [#14978](https://github.com/statamic/cms/issues/14978) by @jaygeorge +- Fix Control Panel not scrolling to top on navigation [#14965](https://github.com/statamic/cms/issues/14965) by @duncanmcclean +- Fix video thumbnail generation logging an error on success [#14971](https://github.com/statamic/cms/issues/14971) by @lazerg +- Preserve unregistered permissions when saving a role [#14975](https://github.com/statamic/cms/issues/14975) by @jasonvarga +- Use form handle in key [#14974](https://github.com/statamic/cms/issues/14974) by @edalzell +- Improve recursive behavior when using route data in computed values [#11855](https://github.com/statamic/cms/issues/11855) by @JohnathonKoster +- Fix global variables being lost when migrated alongside addon update scripts [#14963](https://github.com/statamic/cms/issues/14963) by @duncanmcclean +- Fix filter badge showing the term title in the wrong site [#14973](https://github.com/statamic/cms/issues/14973) by @lazerg +- Pass the configured index name to the search insert job [#14949](https://github.com/statamic/cms/issues/14949) by @ajnsn +- Hide unauthorized sections in nav [#14990](https://github.com/statamic/cms/issues/14990) by @lazerg +- Fix English CP locale showing fallback locale translations [#15000](https://github.com/statamic/cms/issues/15000) by @jasonvarga +- Fix performance issue when duplicating entries in large collections [#14995](https://github.com/statamic/cms/issues/14995) by @duncanmcclean +- Update site:clear config stubs to match current defaults [#14991](https://github.com/statamic/cms/issues/14991) by @lazerg +- Fix error on out-of-range pagination page number [#14981](https://github.com/statamic/cms/issues/14981) by @mynetx +- Fix malformed URLs with duplicate leading slashes resolving to home page [#14982](https://github.com/statamic/cms/issues/14982) by @lazerg +- Throw parser error when mixing pipe and shorthand modifier syntax [#14892](https://github.com/statamic/cms/issues/14892) by @marcorieser +- Fix link fieldtype ignoring sometimes validator [#14985](https://github.com/statamic/cms/issues/14985) by @lazerg +- Fix range date fields ignoring the configured timezone on save [#15001](https://github.com/statamic/cms/issues/15001) by @lazerg +- Fix stache:refresh flattening structured collection trees [#15003](https://github.com/statamic/cms/issues/15003) by @mynetx +- Fix save crash after deleting a Bard set containing a hidden field [#15008](https://github.com/statamic/cms/issues/15008) by @werner-freytag +- Update link to permission docs [#15012](https://github.com/statamic/cms/issues/15012) by @duncanmcclean +- Fix nested Bard data loss when reordering sets [#15013](https://github.com/statamic/cms/issues/15013) by @mynetx +- Fix toasts breaking when sessions are serialized as JSON [#15015](https://github.com/statamic/cms/issues/15015) by @mynetx +- Fix runtime assignment in a partial blanking a later partial's slot [#15014](https://github.com/statamic/cms/issues/15014) by @mynetx +- Fix Replicator field labels hidden when nested in Grid [#14987](https://github.com/statamic/cms/issues/14987) by @lazerg +- Fix blueprint assignment of entries using custom entry class [#15017](https://github.com/statamic/cms/issues/15017) by @daun +- Fix session-expiry modals being dismissible and silently re-extending sessions [#15020](https://github.com/statamic/cms/issues/15020) by @jasonvarga +- Fix validation rules being lost when saving without pressing enter [#15022](https://github.com/statamic/cms/issues/15022) by @mynetx +- Fix search:update ignoring the index argument when index names are customized [#15024](https://github.com/statamic/cms/issues/15024) by @edalzell +- Fix errors rendering blueprints & publish components when logged out [#15027](https://github.com/statamic/cms/issues/15027) by @duncanmcclean +- Fix control panel text direction on RTL sites [#15023](https://github.com/statamic/cms/issues/15023) by @jasonvarga +- Bump ws from 8.20.0 to 8.21.1 [#15011](https://github.com/statamic/cms/issues/15011) by @dependabot + + + +## 6.24.2 (2026-07-08) + +### What's fixed +- Convert date bindings to app timezone in raw SQL dump [#14937](https://github.com/statamic/cms/issues/14937) by @marcorieser +- Fix errors when a structure tree contains a null item [#14941](https://github.com/statamic/cms/issues/14941) by @mynetx +- Fix timezone handling in `whereDate` and `whereTime` [#14940](https://github.com/statamic/cms/issues/14940) by @marcorieser +- Fix dictionary single-select showing the raw id instead of the label [#14935](https://github.com/statamic/cms/issues/14935) by @mynetx +- Do not set the Inertia root view globally [#14942](https://github.com/statamic/cms/issues/14942) by @lazerg +- Fix asset filters not applying the first time [#14943](https://github.com/statamic/cms/issues/14943) by @duncanmcclean +- Prevent the focus box on filters from being clipped [#14953](https://github.com/statamic/cms/issues/14953) by @jaygeorge +- Fix incorrect update badges in the Control Panel updater [#14890](https://github.com/statamic/cms/issues/14890) by @aaronbushnell +- Fix global variable references not resolving through the data repository [#14938](https://github.com/statamic/cms/issues/14938) by @lazerg +- Tighten front-end form upload validation [#14958](https://github.com/statamic/cms/issues/14958) by @jasonvarga +- Escape submitted values in automagic email [#14959](https://github.com/statamic/cms/issues/14959) by @jasonvarga +- Fix broken asset reference when discarding a duplicate upload [#14947](https://github.com/statamic/cms/issues/14947) by @lazerg +- Fix relationship-based fields showing raw ids after saving [#14948](https://github.com/statamic/cms/issues/14948) by @mynetx +- Fix Bard set disappearing after save [#14956](https://github.com/statamic/cms/issues/14956) by @eminos + + + +## 6.24.1 (2026-07-03) + +### What's fixed +- Do not show a disabled cursor for start/end of pagination [#14921](https://github.com/statamic/cms/issues/14921) by @jaygeorge +- Fix Bard link entry selector not showing pre-selected entry [#14917](https://github.com/statamic/cms/issues/14917) by @duncanmcclean +- Fix required validation on empty code fields [#14918](https://github.com/statamic/cms/issues/14918) by @duncanmcclean +- Fix fieldtype picker showing wrong list after switching blueprint modes [#14919](https://github.com/statamic/cms/issues/14919) by @duncanmcclean +- Fix roles/groups select being empty for non-super users [#14889](https://github.com/statamic/cms/issues/14889) by @mynetx +- Fix Glide route double slash for path-prefixed sites [#14908](https://github.com/statamic/cms/issues/14908) by @lwekuiper +- Fix amber and default badge button hover background shade [#14924](https://github.com/statamic/cms/issues/14924) by @lazerg +- Default the create user wizard super toggle to false [#14927](https://github.com/statamic/cms/issues/14927) by @stoffelio +- Fix progress bar triggering excessive recursion [#14931](https://github.com/statamic/cms/issues/14931) by @jasonvarga +- French translations [#14926](https://github.com/statamic/cms/issues/14926) by @ebeauchamps + + + +## 6.24.0 (2026-07-01) + +### What's new +- OAuth Improvements [#14899](https://github.com/statamic/cms/issues/14899) by @jasonvarga +- Add JSON language modes to code editor [#14904](https://github.com/statamic/cms/issues/14904) by @daun + +### What's fixed +- Remove `v6.` subdomain from documentation links [#14870](https://github.com/statamic/cms/issues/14870) by @duncanmcclean +- Define emits in `PublishActions` component [#14872](https://github.com/statamic/cms/issues/14872) by @duncanmcclean +- Style the list of blueprints as badges instead, improving legibility [#14878](https://github.com/statamic/cms/issues/14878) by @jaygeorge +- Prevent browser re-sort of dictionary options with integer keys [#14875](https://github.com/statamic/cms/issues/14875) by @helloiamlukas +- Improve the customize columns button layout so it no longer clashes with overflowing filters [#14885](https://github.com/statamic/cms/issues/14885) by @jaygeorge +- Fix kebab-cased props not binding on Blade components in Antlers [#14891](https://github.com/statamic/cms/issues/14891) by @marcorieser +- Tolerate a folded X-Statamic-Pagination header when warming [#14882](https://github.com/statamic/cms/issues/14882) by @mynetx +- Fix icon fieldtype error when stored icon is missing [#14881](https://github.com/statamic/cms/issues/14881) by @mynetx +- Fix user wizard authorization check [#14905](https://github.com/statamic/cms/issues/14905) by @jasonvarga +- Pass active query scope handles to relationship index scopes [#14883](https://github.com/statamic/cms/issues/14883) by @mynetx +- Fix nav authorization checks [#14906](https://github.com/statamic/cms/issues/14906) by @jasonvarga +- Fix stale Stache entry order when reordering structured collection [#14896](https://github.com/statamic/cms/issues/14896) by @joshuablum +- Tighten up dynamic method resolution [#14911](https://github.com/statamic/cms/issues/14911) by @jasonvarga +- Bump actions/checkout from 6.0.3 to 7.0.0 in the github-actions group [#14894](https://github.com/statamic/cms/issues/14894) by @dependabot + + + +## 6.23.0 (2026-06-23) + +### What's new +- Add explicit `package` param to the `installed` tag [#14858](https://github.com/statamic/cms/issues/14858) by @daun + +### What's fixed +- Prevent rare case of the container scrolling when focusing on the container [#14854](https://github.com/statamic/cms/issues/14854) by @jaygeorge +- Handle linked field comboboxes when the text is long [#14863](https://github.com/statamic/cms/issues/14863) by @jaygeorge +- Prevent the link field group from exceeding 50% of the container [#14864](https://github.com/statamic/cms/issues/14864) by @jaygeorge +- Apply as-config prop to top-level container only [#14855](https://github.com/statamic/cms/issues/14855) by @daun +- Hide "Live Preview" button while live preview is active [#14866](https://github.com/statamic/cms/issues/14866) by @duncanmcclean +- French translations [#14856](https://github.com/statamic/cms/issues/14856) by @ebeauchamps + + + +## 6.22.0 (2026-06-19) + +### What's new +- Chips [#14766](https://github.com/statamic/cms/issues/14766) by @jaygeorge +- Crop images server-side [#14841](https://github.com/statamic/cms/issues/14841) by @jasonvarga + +### What's fixed +- Give precognitive form requests a separate rate limit bucket [#14810](https://github.com/statamic/cms/issues/14810) by @jasonvarga +- Fix nested Bard data loss when editing a set [#14808](https://github.com/statamic/cms/issues/14808) by @joshuablum +- Always render Control Panel exceptions as JSON for XHR requests [#14812](https://github.com/statamic/cms/issues/14812) by @jasonvarga +- Make the whole radio/checkbox item clickable [#14821](https://github.com/statamic/cms/issues/14821) by @duncanmcclean +- Fix mobile nav button failing [#14673](https://github.com/statamic/cms/issues/14673) by @jaygeorge +- Render asset editor video player with dimensions [#14813](https://github.com/statamic/cms/issues/14813) by @daun +- Handle external links in empty-state component [#14814](https://github.com/statamic/cms/issues/14814) by @daun +- Fix inconsistent dark mode text colours [#14830](https://github.com/statamic/cms/issues/14830) by @jaygeorge +- Autopopulate email on password reset form [#14834](https://github.com/statamic/cms/issues/14834) by @jackmcdade +- Avoid loading the revisions store when finding a working copy [#14847](https://github.com/statamic/cms/issues/14847) by @jasonvarga +- Retain current tab hash in URL when switching localization [#14846](https://github.com/statamic/cms/issues/14846) by @duncanmcclean +- Translate untranslated CP page titles [#14848](https://github.com/statamic/cms/issues/14848) by @jasonvarga +- Don't show selection checkboxes when bulk actions are disabled [#14850](https://github.com/statamic/cms/issues/14850) by @jasonvarga +- Avoid widget table overflow [#14851](https://github.com/statamic/cms/issues/14851) by @daun +- German translations [#14818](https://github.com/statamic/cms/issues/14818) by @helloDanuk +- Bump the github-actions group with 2 updates [#14817](https://github.com/statamic/cms/issues/14817) by @dependabot +- Bump vite from 8.0.7 to 8.0.16 [#14824](https://github.com/statamic/cms/issues/14824) by @dependabot +- Bump form-data from 4.0.5 to 4.0.6 [#14825](https://github.com/statamic/cms/issues/14825) by @dependabot +- Bump markdown-it from 14.1.1 to 14.2.0 [#14827](https://github.com/statamic/cms/issues/14827) by @dependabot +- Bump dompurify from 3.4.0 to 3.4.9 [#14826](https://github.com/statamic/cms/issues/14826) by @dependabot +- Bump esbuild and storybook [#14828](https://github.com/statamic/cms/issues/14828) by @dependabot +- Bump dompurify from 3.4.9 to 3.4.11 in the npm_and_yarn group across 1 directory [#14845](https://github.com/statamic/cms/issues/14845) by @dependabot + + + +## 6.21.0 (2026-06-10) + +### What's new +- Add default sorting support for taxonomies [#14772](https://github.com/statamic/cms/issues/14772) by @finnjsmith +- Add default initial option configuration option for Link fieldtype [#14698](https://github.com/statamic/cms/issues/14698) by @martyf +- Add `exclude` param to stache commands [#14788](https://github.com/statamic/cms/issues/14788) by @edalzell + +### What's fixed +- Fix Modify::__toString() throwing TypeError for non-string scalar values [#14674](https://github.com/statamic/cms/issues/14674) by @VerburgtJimmy +- Speed up Stache warming for large structured collections [#14781](https://github.com/statamic/cms/issues/14781) by @o1y +- Implement permissions cache on eloquent users [#14661](https://github.com/statamic/cms/issues/14661) by @ryanmitchell +- Adjust listing skeleton to match configured features [#14796](https://github.com/statamic/cms/issues/14796) by @daun +- Fix docs for `Listing` component [#14798](https://github.com/statamic/cms/issues/14798) by @duncanmcclean +- Don't reserve space when a field's display label is hidden [#14803](https://github.com/statamic/cms/issues/14803) by @jasonvarga +- Bump web-auth/webauthn-lib to ^5.3.0 [#14727](https://github.com/statamic/cms/issues/14727) by @sstraakenbroek +- Prevent overlapping git commit jobs [#14672](https://github.com/statamic/cms/issues/14672) by @aerni +- French translations [#14789](https://github.com/statamic/cms/issues/14789) by @ebeauchamps + + + +## 6.20.3 (2026-06-08) + +### What's fixed +- Trigger the grid table mode at lower viewports because it's more useful [#14792](https://github.com/statamic/cms/issues/14792) by @jaygeorge +- Fix permission for Live Preview [#14791](https://github.com/statamic/cms/issues/14791) by @jasonvarga + + + +## 6.20.2 (2026-06-05) + +### What's fixed +- Fix GraphiQL [#14770](https://github.com/statamic/cms/issues/14770) by @joshuablum +- Fix TypeError when elevated_session_duration is a string [#14771](https://github.com/statamic/cms/issues/14771) by @duncanmcclean +- Fix asset selection in Markdown fieldtype [#14715](https://github.com/statamic/cms/issues/14715) by @duncanmcclean +- Fix configure navs permission not working properly [#14775](https://github.com/statamic/cms/issues/14775) by @joshuablum +- Resolve Entry::descendants() N+1 query [#14773](https://github.com/statamic/cms/issues/14773) by @SteveEdson +- Fix asset editor prev/next buttons and "Edit Image" button in Bard [#14728](https://github.com/statamic/cms/issues/14728) by @joshuablum +- Apply regenerate handle pattern for replicator sections [#14745](https://github.com/statamic/cms/issues/14745) by @jaygeorge +- Fix static cache invalidation stripping trailing slashes [#14713](https://github.com/statamic/cms/issues/14713) by @duncanmcclean +- Add impersonation permission description [#14776](https://github.com/statamic/cms/issues/14776) by @jasonvarga +- Fix field filters returning all results when filtering by 0 [#14747](https://github.com/statamic/cms/issues/14747) by @joshuablum +- Render PDF viewer pages lazily [#14764](https://github.com/statamic/cms/issues/14764) by @daun +- Add support for Collection in last modifier [#14778](https://github.com/statamic/cms/issues/14778) by @JonKaric +- Fix share_errors breaking nocache regions on error responses [#14780](https://github.com/statamic/cms/issues/14780) by @joshuablum +- Fix date picker inconsistencies [#14732](https://github.com/statamic/cms/issues/14732) by @jaygeorge +- Avoid version inertia prop [#14783](https://github.com/statamic/cms/issues/14783) by @jasonvarga + + + +## 6.20.1 (2026-06-02) + +### What's fixed +- Avoid crop aspect ratios select being truncated [#14712](https://github.com/statamic/cms/issues/14712) by @duncanmcclean +- Stop excessive logging of `ElevatedSessionAuthorizationException` [#14725](https://github.com/statamic/cms/issues/14725) by @joshuablum +- Remove `pt-4` as the default padding for a Group fieldtype [#14708](https://github.com/statamic/cms/issues/14708) by @martyf +- Fix `Cached Pages` count for multi-site setups [#14726](https://github.com/statamic/cms/issues/14726) by @joshuablum +- Hash URL in static caching lock key [#14716](https://github.com/statamic/cms/issues/14716) by @duncanmcclean +- Fix entry revision localizations to filter unauthorized sites [#14714](https://github.com/statamic/cms/issues/14714) by @duncanmcclean +- Date scrollbar fix [#14730](https://github.com/statamic/cms/issues/14730) by @jaygeorge +- Remove custom scrollbar from date fields [#14731](https://github.com/statamic/cms/issues/14731) by @jaygeorge +- Fix form box-shadows being clipped by expanding/collapsing sections [#14736](https://github.com/statamic/cms/issues/14736) by @jaygeorge +- Improve modal text formatting and dark mode background [#14740](https://github.com/statamic/cms/issues/14740) by @jaygeorge +- Handle replicator handle overflow [#14746](https://github.com/statamic/cms/issues/14746) by @jaygeorge +- More elegantly mask horizontal overflow for sets [#14753](https://github.com/statamic/cms/issues/14753) by @jaygeorge +- Improve collapsible section trigger [#14758](https://github.com/statamic/cms/issues/14758) by @jaygeorge +- Fix asset fieldtype icon [#14720](https://github.com/statamic/cms/issues/14720) by @jasonvarga +- Escape formula characters in form submission CSV exports [#14760](https://github.com/statamic/cms/issues/14760) by @jasonvarga +- Harden remote URL validation [#14761](https://github.com/statamic/cms/issues/14761) by @jasonvarga +- Scope shared static cache errors to sites [#14763](https://github.com/statamic/cms/issues/14763) by @joshuablum +- Fix `share_errors` breaking nocache regions on successful responses [#14729](https://github.com/statamic/cms/issues/14729) by @joshuablum +- Truncate full measure static cache files before writing [#14755](https://github.com/statamic/cms/issues/14755) by @joshuablum +- Fix `current` augmentation handling in users fieldtype [#14724](https://github.com/statamic/cms/issues/14724) by @joshuablum +- Fix clipboard pasting of validation rules [#14754](https://github.com/statamic/cms/issues/14754) by @joshuablum +- Fix Bard/Link Blink cache type collision [#14739](https://github.com/statamic/cms/issues/14739) by @simonerd +- French translations [#14738](https://github.com/statamic/cms/issues/14738) by @ebeauchamps +- Bump zizmorcore/zizmor-action from 0.5.3 to 0.5.6 in the github-actions group [#14722](https://github.com/statamic/cms/issues/14722) by @dependabot +- Bump qs from 6.15.0 to 6.15.2 [#14721](https://github.com/statamic/cms/issues/14721) by @dependabot +- Bump js-cookie from 3.0.5 to 3.0.7 [#14705](https://github.com/statamic/cms/issues/14705) by @dependabot +- Bump league/csv [#14768](https://github.com/statamic/cms/issues/14768) by @jasonvarga + + + +## 6.20.0 (2026-05-22) + +### What's new +- Date picker today shortcut [#14651](https://github.com/statamic/cms/issues/14651) by @jaygeorge +- When enabling Pro, prompts for license key [#14686](https://github.com/statamic/cms/issues/14686) by @jackmcdade +- Include `is_pdf` in augmented asset data [#14699](https://github.com/statamic/cms/issues/14699) by @jacksleight + +### What's fixed +- Make active nav anchor position more accurate [#14675](https://github.com/statamic/cms/issues/14675) by @jaygeorge +- Don't show unsaved changes warning when switching tabs [#14678](https://github.com/statamic/cms/issues/14678) by @jasonvarga +- Better collapsible sections [#14679](https://github.com/statamic/cms/issues/14679) by @jaygeorge +- Swap image dimensions when EXIF orientation indicates a 90° rotation [#14685](https://github.com/statamic/cms/issues/14685) by @jasonvarga +- Hook up "Add Row" config for List fields [#14689](https://github.com/statamic/cms/issues/14689) by @jackmcdade +- Harden `DataCollection` sort value resolution [#14693](https://github.com/statamic/cms/issues/14693) by @duncanmcclean +- Fix token path traversal [#14700](https://github.com/statamic/cms/issues/14700) by @duncanmcclean +- Authorize relationship fieldtype data [#14718](https://github.com/statamic/cms/issues/14718) by @jasonvarga +- Relationship UI adjustments [#14719](https://github.com/statamic/cms/issues/14719) by @jasonvarga +- Update Italian translations [#14683](https://github.com/statamic/cms/issues/14683) by @sbellesis +- French translations [#14680](https://github.com/statamic/cms/issues/14680) by @ebeauchamps +- Bump shivammathur/setup-php from 2.37.0 to 2.37.1 in the github-actions group [#14682](https://github.com/statamic/cms/issues/14682) by @dependabot + + + +## 6.19.0 (2026-05-13) + +### What's new +- Show crop dimensions in the crop editor [#14654](https://github.com/statamic/cms/issues/14654) by @jasonvarga +- Add configurable `@blueprint` template base path [#11632](https://github.com/statamic/cms/issues/11632) by @o1y +- Add Blade field templates for `statamic-forms` publish command [#14639](https://github.com/statamic/cms/issues/14639) by @martyf + +### What's fixed +- Fix layout shift in Entries Fieldtype mode switcher [#14646](https://github.com/statamic/cms/issues/14646) by @jackmcdade +- Fix `/index.php` request poisoning `Site::absoluteUrl` [#14647](https://github.com/statamic/cms/issues/14647) by @jasonvarga +- Remove `overscroll-behavior-x: contain` on panels [#14642](https://github.com/statamic/cms/issues/14642) by @jaygeorge +- Fix `nav:breadcrumbs` for multi-site [#13789](https://github.com/statamic/cms/issues/13789) by @nopticon +- Fix date time overflow [#14652](https://github.com/statamic/cms/issues/14652) by @jaygeorge +- Fix scrollbars showing all the time on the calendar view [#14653](https://github.com/statamic/cms/issues/14653) by @jaygeorge +- Fix grid header overlapping nav [#14640](https://github.com/statamic/cms/issues/14640) by @wiktorm12 +- Collapse equal range endpoints in NumberFormatter [#14657](https://github.com/statamic/cms/issues/14657) by @jasonvarga +- Don't show Visit URL for terms that aren't routable [#14658](https://github.com/statamic/cms/issues/14658) by @edalzell +- Cap CP `perPage` query parameter to configured ceiling [#14668](https://github.com/statamic/cms/issues/14668) by @jasonvarga + + + +## 6.18.1 (2026-05-11) + +### What's fixed +- Tone down scheduled status badge in dark mode [#14641](https://github.com/statamic/cms/issues/14641) by @jasonvarga +- Fix date fieldtype input disappearing with underscore locales [#14643](https://github.com/statamic/cms/issues/14643) by @jasonvarga +- Harden remote URL validation [#14645](https://github.com/statamic/cms/issues/14645) by @jasonvarga + + + +## 6.18.0 (2026-05-08) + +### What's new +- Customizable crop ratios [#14630](https://github.com/statamic/cms/issues/14630) by @jackmcdade +- Add --preset option to `assets:generate-presets` [#14626](https://github.com/statamic/cms/issues/14626) by @ryanmitchell + +### What's fixed +- Fix CP login bouncing after Inertia auto-follow [#14632](https://github.com/statamic/cms/issues/14632) by @jasonvarga +- Fix flaky TracksLastModified file timestamp test [#14634](https://github.com/statamic/cms/issues/14634) by @jasonvarga +- Hide redundant 'This field' timezone row in date pickers [#14635](https://github.com/statamic/cms/issues/14635) by @jasonvarga +- Simplify crop aspect ratio config formats [#14633](https://github.com/statamic/cms/issues/14633) by @jasonvarga + + + +## 6.17.0 (2026-05-08) + +### What's new +- Add configurable timezone for date fields in the Control Panel [#14554](https://github.com/statamic/cms/issues/14554) by @duncanmcclean +- Add `disabled` and `readOnly` props to `TimePicker` component [#14620](https://github.com/statamic/cms/issues/14620) by @duncanmcclean +- Add Timezones components [#14612](https://github.com/statamic/cms/issues/14612) by @jasonvarga +- Allow overriding date format preset options [#14600](https://github.com/statamic/cms/issues/14600) by @jasonvarga + +### What's fixed +- Dirty state fixes [#14592](https://github.com/statamic/cms/issues/14592) by @jackmcdade +- Localize timezone tooltip in DatePicker [#14596](https://github.com/statamic/cms/issues/14596) by @jasonvarga +- Fix asset browser actions inside selector stack [#14565](https://github.com/statamic/cms/issues/14565) by @duncanmcclean +- Fix date-only formats shifting days due to timezone conversion [#14552](https://github.com/statamic/cms/issues/14552) by @duncanmcclean +- Avoid rendering time for dates in listings when appropriate [#14599](https://github.com/statamic/cms/issues/14599) by @jasonvarga +- Display timezone in DateRangePicker [#14601](https://github.com/statamic/cms/issues/14601) by @jasonvarga +- Fix date-only index fieldtype shifting across timezones [#14602](https://github.com/statamic/cms/issues/14602) by @jasonvarga +- Memoize preprocessed fields in Validator [#14605](https://github.com/statamic/cms/issues/14605) by @jasonvarga +- Show date fieldtype when searching for range [#14606](https://github.com/statamic/cms/issues/14606) by @jasonvarga +- Fix error when typing in a required date range field [#14607](https://github.com/statamic/cms/issues/14607) by @jasonvarga +- Fix HoverCard arrow not displaying [#14611](https://github.com/statamic/cms/issues/14611) by @jasonvarga +- Adjust translation method usage [#14610](https://github.com/statamic/cms/issues/14610) by @jasonvarga +- Fix stale asset listings across queued jobs [#14617](https://github.com/statamic/cms/issues/14617) by @ryanmitchell +- Fix replicator fields using wrong site context [#14616](https://github.com/statamic/cms/issues/14616) by @ryanmitchell +- Fix read-only/disabled states in `Radio` component [#14621](https://github.com/statamic/cms/issues/14621) by @duncanmcclean +- Lazy-load actions for collections, submissions & terms [#14097](https://github.com/statamic/cms/issues/14097) by @duncanmcclean +- Fix dated entries not syncing with origin revisions [#14216](https://github.com/statamic/cms/issues/14216) by @duncanmcclean +- Fix DateRangePicker crash when selecting first date in a range [#13512](https://github.com/statamic/cms/issues/13512) by @andrii-trush +- Fix moving custom section to 1st position in CP Nav [#12993](https://github.com/statamic/cms/issues/12993) by @duncanmcclean +- Fix read-only state in publish forms [#14623](https://github.com/statamic/cms/issues/14623) by @duncanmcclean +- Fix perPage limit in relationship stack listings [#14629](https://github.com/statamic/cms/issues/14629) by @wiktorm12 +- Bump postcss from 8.5.9 to 8.5.13 [#14595](https://github.com/statamic/cms/issues/14595) by @dependabot +- Bump axios from 1.15.0 to 1.16.0 [#14613](https://github.com/statamic/cms/issues/14613) by @dependabot + + + +## 6.16.0 (2026-05-01) + +### What's new +- Add support for strict null coalescence (`???`) in Antlers parsing [#14545](https://github.com/statamic/cms/issues/14545) by @marcorieser +- Add hooks to asset listings [#14566](https://github.com/statamic/cms/issues/14566) by @edalzell +- Show license key status in about and support:details commands [#14574](https://github.com/statamic/cms/issues/14574) by @jasonvarga +- Support icon sets in names [#14579](https://github.com/statamic/cms/issues/14579) by @jasonvarga + +### What's fixed +- Fix Comb search index delete() rewriting JSON when ref absent [#14550](https://github.com/statamic/cms/issues/14550) by @SUXUMI +- Include missing time chars in `DateFormat::containsTime` [#14555](https://github.com/statamic/cms/issues/14555) by @jasonvarga +- Update setup-cp-vite to install Vite 8 [#14559](https://github.com/statamic/cms/issues/14559) by @jasonvarga +- Fix cache invalidation when using custom fields in URI route [#14564](https://github.com/statamic/cms/issues/14564) by @duncanmcclean +- Fix validation bypass via spoofed Precognition-Validate-Only header [#14557](https://github.com/statamic/cms/issues/14557) by @duncanmcclean +- Restore selected site when resuming session [#14562](https://github.com/statamic/cms/issues/14562) by @duncanmcclean +- Fix relationship selector footer not sticking to bottom of stack [#14569](https://github.com/statamic/cms/issues/14569) by @duncanmcclean +- Fix asset selector drag-to-upload covering footer but not handling drops [#14551](https://github.com/statamic/cms/issues/14551) by @duncanmcclean +- Field margin balance [#14567](https://github.com/statamic/cms/issues/14567) by @jaygeorge +- Harden OrderBys [#14572](https://github.com/statamic/cms/issues/14572) by @jasonvarga +- Fix Asset field set to "Read-only" clipping filename [#14575](https://github.com/statamic/cms/issues/14575) by @jackmcdade +- Fix login redirects [#14560](https://github.com/statamic/cms/issues/14560) by @jasonvarga +- Design a better empty, read-only state for asset fields [#14578](https://github.com/statamic/cms/issues/14578) by @jackmcdade +- Avoid per-icon requests in the Icon storybook [#14580](https://github.com/statamic/cms/issues/14580) by @jasonvarga +- Fix updater crash when addon has no license [#14573](https://github.com/statamic/cms/issues/14573) by @duncanmcclean +- Lazy load Inertia page components [#14582](https://github.com/statamic/cms/issues/14582) by @jasonvarga +- Fix LivePreview listener leak and simplify Grid row updates [#14583](https://github.com/statamic/cms/issues/14583) by @jasonvarga +- Fix SavePipeline initial debounce delay [#14586](https://github.com/statamic/cms/issues/14586) by @jasonvarga +- Debounce LinkFieldtype URL writes [#14584](https://github.com/statamic/cms/issues/14584) by @jasonvarga +- Extract fieldtype update debounce to shared constant [#14587](https://github.com/statamic/cms/issues/14587) by @jasonvarga +- Wrap FieldAction instances with markRaw [#14589](https://github.com/statamic/cms/issues/14589) by @jasonvarga +- Color swatches get borders for contrast [#14591](https://github.com/statamic/cms/issues/14591) by @jackmcdade +- Deduplicate RelationshipInput in-flight item-data requests [#14590](https://github.com/statamic/cms/issues/14590) by @jasonvarga +- German translations [#14561](https://github.com/statamic/cms/issues/14561) by @helloDanuk +- French translations [#14585](https://github.com/statamic/cms/issues/14585) by @ebeauchamps + + + +## 6.15.0 (2026-04-27) + +### What's new +- Frontend Elevated Sessions [#14424](https://github.com/statamic/cms/issues/14424) by @duncanmcclean +- Frontend Two-Factor Authentication [#14525](https://github.com/statamic/cms/issues/14525) by @duncanmcclean +- Add config for disabling Elevated Sessions [#14464](https://github.com/statamic/cms/issues/14464) by @1stevengrant + +### What's fixed +- Better Collaboration Avatars [#14511](https://github.com/statamic/cms/issues/14511) by @jackmcdade +- Fix addon settings blueprint cache collision with field settings blueprint [#14509](https://github.com/statamic/cms/issues/14509) by @duncanmcclean +- Show dashed border in assets fieldtype when field is read-only [#14507](https://github.com/statamic/cms/issues/14507) by @duncanmcclean +- Fix duplicate slugs allowed with depth-conditional routes [#14508](https://github.com/statamic/cms/issues/14508) by @duncanmcclean +- Combobox 2.0 [#13843](https://github.com/statamic/cms/issues/13843) by @duncanmcclean +- Persist active tab in URL hash on globals publish form [#14515](https://github.com/statamic/cms/issues/14515) by @duncanmcclean +- Always display time zone in DatePicker [#14518](https://github.com/statamic/cms/issues/14518) by @jasonvarga +- Fix blank page when visiting CP routes with invalid items [#14517](https://github.com/statamic/cms/issues/14517) by @jasonvarga +- Improve rate limiting [#14475](https://github.com/statamic/cms/issues/14475) by @ryanmitchell +- Hide default Statamic logo on frontend auth pages [#14522](https://github.com/statamic/cms/issues/14522) by @jasonvarga +- Update currencies dictionary [#14520](https://github.com/statamic/cms/issues/14520) by @tdrayson +- Allow extending asset preset generation command [#14521](https://github.com/statamic/cms/issues/14521) by @daun +- Fix NavBuilder crash when nav item has an unresolved children Closure [#14523](https://github.com/statamic/cms/issues/14523) by @v-Woody +- Fix Eloquent user merge setting roles and groups as model attributes [#14526](https://github.com/statamic/cms/issues/14526) by @duncanmcclean +- Fix `/!/nocache` and `/!/csrf` CSRF exemption on Laravel 13 [#14533](https://github.com/statamic/cms/issues/14533) by @ynamite +- Improve Link fieldtype in listings [#14535](https://github.com/statamic/cms/issues/14535) by @duncanmcclean +- Fix TypeError when asset last_modified meta is null [#14530](https://github.com/statamic/cms/issues/14530) by @v-Woody +- Fix Live Preview iframe becoming unscrollable after resizing in Chromium [#14542](https://github.com/statamic/cms/issues/14542) by @duncanmcclean +- Fix CP auth error when using multiple user providers [#14543](https://github.com/statamic/cms/issues/14543) by @andjsch +- Fix blank term edit screen and JS error for restricted users [#14537](https://github.com/statamic/cms/issues/14537) by @joshuablum +- Fix `durationForHumans` deprecation warning and rounding [#14541](https://github.com/statamic/cms/issues/14541) by @duncanmcclean +- Fix elevated session redirect for POST endpoints [#14544](https://github.com/statamic/cms/issues/14544) by @jasonvarga +- Always show success when using forgot password form [#14539](https://github.com/statamic/cms/issues/14539) by @jasonvarga +- Publish container tweaks [#14548](https://github.com/statamic/cms/issues/14548) by @jasonvarga +- Fix `updateChildPageUris` empty check never short-circuiting [#14547](https://github.com/statamic/cms/issues/14547) by @duncanmcclean +- French translations [#14514](https://github.com/statamic/cms/issues/14514) by @ebeauchamps + + + +## 6.14.0 (2026-04-16) + +### What's new +- Fieldset sections [#14297](https://github.com/statamic/cms/issues/14297) by @jackmcdade +- Collaboration support [#13974](https://github.com/statamic/cms/issues/13974) by @joshuablum + +### What's fixed +- Use he-tree i18n prop for tree aria instructions [#14499](https://github.com/statamic/cms/issues/14499) by @jasonvarga +- Rename `Add Block` back to `Add Set` in replicators [#14503](https://github.com/statamic/cms/issues/14503) by @joshuablum +- Resolve Cascade content closure before checking content [#14502](https://github.com/statamic/cms/issues/14502) by @marcorieser +- Fix nocache database driver failing on MySQL with invalid UTF-8 [#14505](https://github.com/statamic/cms/issues/14505) by @jasonvarga +- Fix bard undos [#14506](https://github.com/statamic/cms/issues/14506) by @jackmcdade +- Fix collection listing search case insensitivity [#14486](https://github.com/statamic/cms/issues/14486) by @joshuablum +- Bump follow-redirects from 1.15.11 to 1.16.0 [#14498](https://github.com/statamic/cms/issues/14498) by @dependabot +- Bump dompurify from 3.3.3 to 3.4.0 [#14500](https://github.com/statamic/cms/issues/14500) by @dependabot + + + +## 6.13.0 (2026-04-13) + +### What's new +- Frontend Passkeys [#14453](https://github.com/statamic/cms/issues/14453) by @duncanmcclean +- Allow control over who can be impersonated in UserPolicy [#14469](https://github.com/statamic/cms/issues/14469) by @ryanmitchell + +### What's fixed +- Fix Bard arrow keys/undo [#14467](https://github.com/statamic/cms/issues/14467) by @jackmcdade +- Fix visible he-tree accessibility text in tree view [#14465](https://github.com/statamic/cms/issues/14465) by @duncanmcclean +- Append to Bard Entry links [#11468](https://github.com/statamic/cms/issues/11468) by @edalzell +- Disable broadcast provider when broadcasting driver is null [#14471](https://github.com/statamic/cms/issues/14471) by @jasonvarga +- Make the collapsible section icon smaller to fit in with the rest of UI [#14478](https://github.com/statamic/cms/issues/14478) by @jaygeorge +- Add `.npmrc` file [#14477](https://github.com/statamic/cms/issues/14477) by @duncanmcclean +- Fix SVG sanitization tests [#14483](https://github.com/statamic/cms/issues/14483) by @duncanmcclean +- Use `cursor: pointer` when selecting from asset grid [#14487](https://github.com/statamic/cms/issues/14487) by @joshuablum +- Remove negative assertions from `TestCase` [#14458](https://github.com/statamic/cms/issues/14458) by @duncanmcclean +- Harden OrderBys [#14474](https://github.com/statamic/cms/issues/14474) by @duncanmcclean +- Harden query value resolution [#14476](https://github.com/statamic/cms/issues/14476) by @duncanmcclean +- French translations [#14479](https://github.com/statamic/cms/issues/14479) by @ebeauchamps +- Bump axios from 1.14.0 to 1.15.0 [#14473](https://github.com/statamic/cms/issues/14473) by @dependabot + + + +## 6.12.0 (2026-04-08) + +### What's new +- Add support for filtering conditions in Assets Tag [#13936](https://github.com/statamic/cms/issues/13936) by @jackmcdade + +### What's fixed +- Add padding around 2FA QR code for dark mode scanning [#14460](https://github.com/statamic/cms/issues/14460) by @duncanmcclean +- Fix form submissions with non-UTF-8 data crashing the CP listing [#14461](https://github.com/statamic/cms/issues/14461) by @duncanmcclean +- Remove deprecated function calls [#14457](https://github.com/statamic/cms/issues/14457) by @justindantzer +- Upgrade to Vite 8 [#14459](https://github.com/statamic/cms/issues/14459) by @jasonvarga +- Nested fields should respect read-only state [#14351](https://github.com/statamic/cms/issues/14351) by @duncanmcclean + + + +## 6.11.0 (2026-04-07) + +### What's new +- Add support for public properties to PathDataManager [#11697](https://github.com/statamic/cms/issues/11697) by @marcorieser +- Add ability to filter submission exports [#14432](https://github.com/statamic/cms/issues/14432) by @jasonvarga +- Add elevated session guards to AssignGroups and AssignRoles actions [#14450](https://github.com/statamic/cms/issues/14450) by @jasonvarga + +### What's fixed +- Fix Stache index re-entrancy causing null URIs on cold stache [#14181](https://github.com/statamic/cms/issues/14181) by @o1y +- Fix form submission types [#14430](https://github.com/statamic/cms/issues/14430) by @daun +- Support decimal values in Range fieldtype [#13096](https://github.com/statamic/cms/issues/13096) by @hastinbe +- Add `link` tag to allowed Antlers tags [#14438](https://github.com/statamic/cms/issues/14438) by @edalzell +- Add `@default` support to Antlers content allowlists [#14440](https://github.com/statamic/cms/issues/14440) by @jasonvarga +- Centralize SVG sanitization and sanitize CSS in style tags [#14442](https://github.com/statamic/cms/issues/14442) by @jasonvarga +- Fix serializable_classes issues [#14443](https://github.com/statamic/cms/issues/14443) by @jasonvarga +- Fix addon settings always showing as migratable [#14444](https://github.com/statamic/cms/issues/14444) by @duncanmcclean +- Fix creating passkeys with JSON session serialization [#14448](https://github.com/statamic/cms/issues/14448) by @duncanmcclean +- Stop auto-logging in users after password reset [#14454](https://github.com/statamic/cms/issues/14454) by @jasonvarga +- Fix sync/desync on localizable nested fields [#14335](https://github.com/statamic/cms/issues/14335) by @duncanmcclean +- French translations [#14431](https://github.com/statamic/cms/issues/14431) by @ebeauchamps +- Bump defu from 6.1.4 to 6.1.6 [#14434](https://github.com/statamic/cms/issues/14434) by @dependabot +- Bump vite from 7.1.12 to 7.3.2 [#14441](https://github.com/statamic/cms/issues/14441) by @dependabot + + + +## 6.10.0 (2026-04-02) + +### What's new +- Default values can be computed [#14279](https://github.com/statamic/cms/issues/14279) by @edalzell +- Ability to add to the filename replacements list [#14316](https://github.com/statamic/cms/issues/14316) by @edalzell + +### What's fixed +- Harden OrderBys [#14421](https://github.com/statamic/cms/issues/14421) by @jasonvarga +- Serialize nocache regions before storing in cache [#14422](https://github.com/statamic/cms/issues/14422) by @jasonvarga +- Fix invalid HTML `lang` attribute [#14427](https://github.com/statamic/cms/issues/14427) by @duncanmcclean +- Add serializable classes to allowlist [#14416](https://github.com/statamic/cms/issues/14416) by @duncanmcclean +- Filter invalid UTF-8 locales from dictionary [#14426](https://github.com/statamic/cms/issues/14426) by @duncanmcclean +- Fallback to option key in listings when label is missing [#14429](https://github.com/statamic/cms/issues/14429) by @duncanmcclean +- Ensure moved/removed entries are statically invalidated [#14386](https://github.com/statamic/cms/issues/14386) by @ryanmitchell +- Catch axios errors in blueprint builder [#14428](https://github.com/statamic/cms/issues/14428) by @duncanmcclean +- Improve error handling when requiring starter kits [#14411](https://github.com/statamic/cms/issues/14411) by @duncanmcclean +- Ensure empty addon settings get default blueprint values [#14384](https://github.com/statamic/cms/issues/14384) by @ryanmitchell +- Bump lodash-es from 4.17.23 to 4.18.1 [#14425](https://github.com/statamic/cms/issues/14425) by @dependabot + + + +## 6.9.0 (2026-04-01) + +### What's new +- Add a Text component [#14247](https://github.com/statamic/cms/issues/14247) by @jaygeorge +- Emit `asset.saved` event from asset editor [#14392](https://github.com/statamic/cms/issues/14392) by @duncanmcclean + +### What's fixed +- Fix collection whereStatus logic [#14380](https://github.com/statamic/cms/issues/14380) by @jackmcdade +- Implement whereStatus() on search query builder [#14387](https://github.com/statamic/cms/issues/14387) by @ryanmitchell +- Blueprint button order changes [#14365](https://github.com/statamic/cms/issues/14365) by @jaygeorge +- Fix address bar overlapping bottom of content (typically on iOS) [#14399](https://github.com/statamic/cms/issues/14399) by @jaygeorge +- Fix nested Bard toolbar focus issues [#14396](https://github.com/statamic/cms/issues/14396) by @jaygeorge +- Fix nav section border radius [#14409](https://github.com/statamic/cms/issues/14409) by @jaygeorge +- Fix conditional field borders [#14407](https://github.com/statamic/cms/issues/14407) by @thomasvantuycom +- Fix collection listing dates from wrapping [#14415](https://github.com/statamic/cms/issues/14415) by @jaygeorge +- Fix Parameters make method [#14418](https://github.com/statamic/cms/issues/14418) by @jasonvarga +- Prevent npm packages from executing malicious code via `postinstall` [#14417](https://github.com/statamic/cms/issues/14417) by @duncanmcclean +- French translations [#14393](https://github.com/statamic/cms/issues/14393) by @ebeauchamps +- Bump brace-expansion from 2.0.2 to 2.0.3 [#14383](https://github.com/statamic/cms/issues/14383) by @dependabot + + + +## 6.8.0 (2026-03-27) + +### What's new +- GraphQL API Authentication [#14292](https://github.com/statamic/cms/issues/14292) by @duncanmcclean +- Ability to disable two-factor authentication [#14263](https://github.com/statamic/cms/issues/14263) by @duncanmcclean +- Ability to select the date formatting locale [#14372](https://github.com/statamic/cms/issues/14372) by @jasonvarga +- Number formatter [#14373](https://github.com/statamic/cms/issues/14373) by @jasonvarga + +### What's fixed +- Omit application name and URL from support:details [#14359](https://github.com/statamic/cms/issues/14359) by @jasonvarga +- Fix CP Nav active state when trailing slashes are enforced [#14363](https://github.com/statamic/cms/issues/14363) by @duncanmcclean +- Only change date for localizations with an explicit date set [#14362](https://github.com/statamic/cms/issues/14362) by @duncanmcclean +- Bring back responsive button groups [#13336](https://github.com/statamic/cms/issues/13336) by @daun +- Merge external class attrs through twMerge in UI components [#14379](https://github.com/statamic/cms/issues/14379) by @jasonvarga +- Reduce amount of data provided in Assets fieldtype meta [#14366](https://github.com/statamic/cms/issues/14366) by @duncanmcclean +- Filters can only be removed by clicking cross [#14220](https://github.com/statamic/cms/issues/14220) by @jaygeorge +- Bump reka-ui [#14368](https://github.com/statamic/cms/issues/14368) by @jasonvarga +- Bump picomatch from 2.3.1 to 2.3.2 [#14360](https://github.com/statamic/cms/issues/14360) by @dependabot + + + ## 6.7.3 (2026-03-25) ### What's fixed diff --git a/CLAUDE.md b/CLAUDE.md index 7e6d3a8eef7..160b42f47f1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,9 +1,5 @@ # Statamic CMS - Claude AI Context -## ⚠️ Always Check Before Making Changes - -- Are all user-facing strings localized? - ## Project Overview This is the **Statamic CMS Core Package** - a Laravel-powered, flat-file (by default) CMS designed for building modern, easy-to-manage websites. This repository contains the core Composer package that gets installed into Laravel applications. @@ -93,6 +89,19 @@ The project uses Vite for asset compilation with separate configs: - The node module is defined in `packages/cms` and resolves everything through the `window` object. - Code needs to be in the `window` object to prevent addon bundles from re-including our code, and from needing to recompile our source files. +## For PR Reviews + +- All user-facing strings should be localized. + - Short strings (like "Submit" or "Click here") can use the translation strings as keys. + - Longer phrases or sentences should use keys and have their translations stored in an appropriate translation file. + - When adding to a translation file, only English strings need to be added. Other languages will be provided by contributors. + - Exception messages can stay untranslated in English + +## Misc + +- Commit messages within a PR do *not* need the PR number prefix. Those are just for the PR merge commit itself. + + ## Links - [Main Documentation](https://statamic.dev/) diff --git a/SECURITY.md b/SECURITY.md index 9dff2981bec..c40addd44cf 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -3,7 +3,7 @@ If you discover a security vulnerability in Statamic, please review the followin ## Guidelines While working to identify potential security vulnerabilities in Statamic, we ask that you: -- **Privately** share any issues that you discover with us via support@statamic.com as soon as possible. +- **Privately** share any issues that you discover with us via [GitHub](https://github.com/statamic/cms/security/advisories) or support@statamic.com as soon as possible. - Give us a **reasonable amount of time** to address any reported issues before publicizing them. - **Only** report issues that are in scope. - Provide a **quality report** with precise explanations and concrete attack scenarios. diff --git a/composer.json b/composer.json index 7292c381cfa..d4c50ba3c00 100644 --- a/composer.json +++ b/composer.json @@ -15,19 +15,19 @@ "composer/semver": "^3.4", "guzzlehttp/guzzle": "^6.3 || ^7.0", "inertiajs/inertia-laravel": "^2.0", + "intervention/image": "^3.9.1 || ^4.0", "james-heinrich/getid3": "^1.9.21", "laravel/framework": "^12.40.0 || ^13.0", "laravel/prompts": "^0.3.0", "league/commonmark": "^2.2", - "league/csv": "^9.0", - "league/glide": "^3.0", + "league/csv": "^9.1", + "league/glide": "^3.0 || ^4.0", "maennchen/zipstream-php": "^3.1", "michelf/php-smartypants": "^1.8.1", "nesbot/carbon": "^3.0", - "pixelfear/composer-dist-plugin": "^0.1.4", "pragmarx/google2fa": "^8.0 || ^9.0", "rebing/graphql-laravel": "^9.15", - "rhukster/dom-sanitizer": "^1.0.7", + "rhukster/dom-sanitizer": "^1.0.10", "spatie/blink": "^1.3", "spatie/error-solutions": "^1.0 || ^2.0", "statamic/stringy": "^3.1.2", @@ -38,7 +38,7 @@ "symfony/yaml": "^7.0.3 || ^8.0", "ueberdosis/tiptap-php": "^2.0", "voku/portable-ascii": "^2.0.2", - "web-auth/webauthn-lib": "~5.2.0", + "web-auth/webauthn-lib": "^5.3", "wilderborn/partyline": "^1.0" }, "require-dev": { @@ -46,10 +46,14 @@ "doctrine/dbal": "^3.6", "fakerphp/faker": "~1.10", "google/cloud-translate": "^1.6", + "larastan/larastan": "^3.10", + "laravel/pao": "^1.1", "laravel/pint": "1.16.0", + "laravel/socialite": "^5.28", "mockery/mockery": "^1.6.10", "orchestra/testbench": "^10.8 || ^11.0", - "phpunit/phpunit": "^11.5.3", + "phpstan/phpstan": "^2.2", + "phpunit/phpunit": "^12.5.23", "spatie/laravel-ray": "^1.43.6" }, "conflict": { @@ -63,29 +67,10 @@ "preferred-install": "dist", "sort-packages": true, "allow-plugins": { - "composer/package-versions-deprecated": true, - "pixelfear/composer-dist-plugin": true + "composer/package-versions-deprecated": true } }, "extra": { - "download-dist": [ - { - "url": "https://github.com/statamic/cms/releases/download/{$version}/dist.tar.gz", - "path": "resources/dist" - }, - { - "url": "https://github.com/statamic/cms/releases/download/{$version}/dist-dev.tar.gz", - "path": "resources/dist-dev" - }, - { - "url": "https://github.com/statamic/cms/releases/download/{$version}/dist-frontend.tar.gz", - "path": "resources/dist-frontend" - }, - { - "url": "https://github.com/statamic/cms/releases/download/{$version}/dist-package.tar.gz", - "path": "resources/dist-package" - } - ], "laravel": { "providers": [ "Statamic\\Providers\\StatamicServiceProvider" diff --git a/config/antlers.php b/config/antlers.php index 6ec813093f8..b2cdd86f7bb 100644 --- a/config/antlers.php +++ b/config/antlers.php @@ -57,4 +57,25 @@ ], + /* + |-------------------------------------------------------------------------- + | User content allowlists + |-------------------------------------------------------------------------- + | + | These control which tags and modifiers will be permitted in user-supplied + | Antlers (e.g. fields with `antlers: true`). Include the literal string + | `@default` in the array to merge Statamic's defaults with your own. + | + */ + + // 'allowedContentTags' => [ + // '@default', + // 'foo:*', + // ], + + // 'allowedContentModifiers' => [ + // '@default', + // 'foo' + // ], + ]; diff --git a/config/assets.php b/config/assets.php index 2618b48e33b..b91ecb9104e 100644 --- a/config/assets.php +++ b/config/assets.php @@ -70,6 +70,19 @@ // 'quality' => 50, ], + /* + |-------------------------------------------------------------------------- + | Crop Quality + |-------------------------------------------------------------------------- + | + | The quality used when saving images cropped in the control panel. The + | user may override this per crop. When null, the quality defined in + | the "defaults" above will be used, otherwise it falls back to 90. + | + */ + + 'crop_quality' => null, + /* |-------------------------------------------------------------------------- | Image Manipulation Presets @@ -182,6 +195,25 @@ 'focal_point_editor' => true, + /* + |-------------------------------------------------------------------------- + | Crop Aspect Ratios + |-------------------------------------------------------------------------- + | + | Configure the aspect ratio presets available in the Control Panel image + | crop editor. Each entry may be a "W:H" string (e.g. "16:9") or an array + | with a custom label and ratio: ['label' => 'Wide', 'ratio' => '16:9']. + | + */ + + 'crop_aspect_ratios' => [ + '16:9', + '4:3', + '3:2', + '2:1', + '1:1', + ], + /* |-------------------------------------------------------------------------- | Enforce Lowercase Filenames @@ -207,6 +239,19 @@ 'additional_uploadable_extensions' => [], + /* + |-------------------------------------------------------------------------- + | Additional Filename Character Replacements + |-------------------------------------------------------------------------- + | + | When uploading files, certain characters in filenames will be replaced + | to ensure a safe filename. You may configure additional replacements. + | These are in addition to the native ones. They are not overridable. + | + */ + + 'additional_filename_replacements' => [], + /* |-------------------------------------------------------------------------- | SVG Sanitization diff --git a/config/cp.php b/config/cp.php index e024d6a0336..090e6e8b049 100644 --- a/config/cp.php +++ b/config/cp.php @@ -68,7 +68,7 @@ 'pagination_size' => 50, - 'pagination_size_options' => [10, 25, 50, 100, 500], + 'pagination_size_options' => [10, 25, 50, 100], /* |-------------------------------------------------------------------------- @@ -115,6 +115,19 @@ 'custom_css_url' => env('STATAMIC_CUSTOM_CSS_URL', null), + /* + |-------------------------------------------------------------------------- + | Default Timezone + |-------------------------------------------------------------------------- + | + | Determines the timezone used when displaying and entering dates in the + | Control Panel. Can be overridden by individual date fields. Defaults to + | "auto" which uses the browser's local timezone. + | + */ + + 'default_timezone' => env('STATAMIC_CP_DEFAULT_TIMEZONE', 'auto'), + /* |-------------------------------------------------------------------------- | Thumbnails diff --git a/config/git.php b/config/git.php index 7c569b0435f..6edadac32da 100644 --- a/config/git.php +++ b/config/git.php @@ -62,6 +62,20 @@ 'dispatch_delay' => env('STATAMIC_GIT_DISPATCH_DELAY', 0), + /* + |-------------------------------------------------------------------------- + | Unique Lock Expiry + |-------------------------------------------------------------------------- + | + | When commits are queued, a unique lock prevents multiple jobs from + | running concurrently against the same repository. This value (in + | seconds) controls how long that lock is held as a crash-safety + | net. It should exceed your queue worker's configured timeout. + | + */ + + 'unique_lock_expiry' => env('STATAMIC_GIT_UNIQUE_LOCK_EXPIRY', 120), + /* |-------------------------------------------------------------------------- | Git User diff --git a/config/oauth.php b/config/oauth.php index d7e3fd2488e..0f098efa253 100644 --- a/config/oauth.php +++ b/config/oauth.php @@ -13,6 +13,7 @@ 'routes' => [ 'login' => 'oauth/{provider}', 'callback' => 'oauth/{provider}/callback', + 'disconnect' => 'oauth/{provider}/disconnect', ], /* diff --git a/config/system.php b/config/system.php index f4705eb5d80..90a0c2b1615 100644 --- a/config/system.php +++ b/config/system.php @@ -269,4 +269,48 @@ 'layout' => env('STATAMIC_LAYOUT', 'layout'), + /* + |-------------------------------------------------------------------------- + | Blueprint Templates + |-------------------------------------------------------------------------- + | + | When an entry's template is set to `@blueprint`, Statamic will look for + | a view named `{collection}.{blueprint}`. You may override this logic + | on a per-collection basis here. + | + | https://statamic.dev/content-modeling/collections#templates + | + */ + + 'blueprint_templates' => [ + // + ], + + /* + |-------------------------------------------------------------------------- + | File Uploads Disk + |-------------------------------------------------------------------------- + | + | Temporary file uploads are stored here before being moved to their + | final destination. You may configure this to use a shared filesystem + | in multiserver environments. This disk may be shared by other kinds + | of temporary file uploads (e.g. forms) that use their own path below. + | + */ + + 'file_uploads_disk' => env('STATAMIC_FILE_UPLOADS_DISK', 'local'), + + /* + |-------------------------------------------------------------------------- + | File Uploads Path + |-------------------------------------------------------------------------- + | + | The path (on the file uploads disk above) where temporary file uploads + | from the Files fieldtype are stored before being moved to their final + | destination. These files are automatically cleaned up over time. + | + */ + + 'file_uploads_path' => env('STATAMIC_FILE_UPLOADS_PATH', 'statamic/file-uploads'), + ]; diff --git a/config/users.php b/config/users.php index b0c9b2e7a0f..da2d293b3e2 100644 --- a/config/users.php +++ b/config/users.php @@ -176,11 +176,28 @@ | Users may be required to reauthorize before performing certain | sensitive actions. This is called an elevated session. Here | you may configure the duration of the session in minutes. + | You may also disable the elevated session entirely. | */ + 'elevated_sessions_enabled' => env('STATAMIC_ELEVATED_SESSIONS_ENABLED', true), + 'elevated_session_duration' => 15, + 'elevated_sessions_url' => null, + + /* + |-------------------------------------------------------------------------- + | Two-Factor Authentication + |-------------------------------------------------------------------------- + | + | Here you may disable two-factor authentication entirely. This can be + | useful on local or staging environments, or when using OAuth. + | + */ + + 'two_factor_enabled' => env('STATAMIC_TWO_FACTOR_ENABLED', true), + /* |-------------------------------------------------------------------------- | Enforce Two-Factor Authentication @@ -194,6 +211,22 @@ 'two_factor_enforced_roles' => [], + /* + |-------------------------------------------------------------------------- + | Two-Factor Authentication URLs + |-------------------------------------------------------------------------- + | + | When users log in to the frontend and need to verify a two-factor code + | or set up two-factor authentication, they will be redirected to these + | URLs. Leave null to use the built-in pages. Control panel flows are + | unaffected and always use their own pages. + | + */ + + 'two_factor_challenge_url' => null, + + 'two_factor_setup_url' => null, + /* |-------------------------------------------------------------------------- | Default Sorting diff --git a/lang/ar.json b/lang/ar.json index 8509dad054d..19375e646a6 100644 --- a/lang/ar.json +++ b/lang/ar.json @@ -86,7 +86,6 @@ "Always show": "عرض دائمًا", "Always Show Set Button": "دائمًا عرض زر المجموعة", "An entry will be deleted|:count entries will be deleted": "سيتم حذف إدخال واحد|:count إدخالات سيتم حذفها", - "An item with this ID could not be found": "لم يتم العثور على عنصر بهذا المعرف", "and": "و", "and :count more": "و :count المزيد", "Antlers": "Antlers", @@ -99,6 +98,7 @@ "Application Cache": "ذاكرة تخزين التطبيق", "Application cache cleared.": "تم مسح ذاكرة تخزين التطبيق.", "Apply": "تطبيق", + "Save All": "حفظ الكل", "Apply Link": "تطبيق الرابط", "Are you sure you want to delete this column?": "هل أنت متأكد أنك تريد حذف هذا العمود؟", "Are you sure you want to delete this entry?": "هل أنت متأكد أنك تريد حذف هذا الإدخال؟", diff --git a/lang/ar/fieldtypes.php b/lang/ar/fieldtypes.php index fdd375b0dbb..9758fc4f4ff 100644 --- a/lang/ar/fieldtypes.php +++ b/lang/ar/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'عرض عدد الكلمات في أسفل الحقل.', 'bard.title' => 'محرر', 'button_group.title' => 'مجموعة الأزرار', - 'checkboxes.config.inline' => 'عرض مربعات الاختيار في صف.', 'checkboxes.config.options' => 'حدد مفاتيح المصفوفة والتسميات الاختيارية لها.', 'checkboxes.title' => 'مربعات الاختيار', 'code.config.indent_size' => 'حدد حجم المسافة البادئة المفضل لديك (بالفراغات).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'هذه الحقول خاصة، كل بطريقتها الخاصة.', 'picker.category.structured.description' => 'الحقول التي تخزن البيانات المهيكلة. بعضها قد يحتوي حتى على حقول أخرى متداخلة.', 'picker.category.text.description' => 'الحقول التي تخزن سلاسل النصوص، المحتوى الغني، أو كلاهما.', - 'radio.config.inline' => 'عرض أزرار الراديو في صف.', 'radio.config.options' => 'حدد مفاتيح المصفوفة والتسميات الاختيارية لها.', 'radio.title' => 'راديو', 'range.config.append' => 'إضافة نص إلى نهاية (الجانب الأيمن) للسلايدر.', diff --git a/lang/ar/messages.php b/lang/ar/messages.php index 6cd172430e7..a8f000775ed 100644 --- a/lang/ar/messages.php +++ b/lang/ar/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'سيتم تطبيق التغييرات على النسخة الحالية وسيتم نشرها على الفور.', 'publish_actions_schedule' => 'سيتم تطبيق التغييرات على النسخة الحالية وسيتم نشرها في التاريخ المحدد.', 'publish_actions_unpublish' => 'ستتم إزالة النشر عن المراجعة الحالية.', + 'relationship_item_unavailable' => 'هذا العنصر غير متاح. ربما تم حذفه، أو قد لا تملك صلاحية عرضه.', 'reset_password_notification_body' => 'تتلقى هذا البريد الإلكتروني لأننا تلقينا طلبًا لإعادة تعيين كلمة المرور لحسابك.', 'reset_password_notification_no_action' => 'إذا لم تطلب إعادة تعيين كلمة المرور، فلا يلزم اتخاذ أي إجراء آخر.', 'reset_password_notification_subject' => 'إشعار إعادة تعيين كلمة المرور', diff --git a/lang/az.json b/lang/az.json index fe4d10475ee..c3f1513e97f 100644 --- a/lang/az.json +++ b/lang/az.json @@ -86,7 +86,6 @@ "Always show": "Həmişə göstər", "Always Show Set Button": "Həmişə Dəst Düyməsini Göstər", "An entry will be deleted|:count entries will be deleted": "Bir giriş silinəcək|:count giriş silinəcək", - "An item with this ID could not be found": "Bu ID ilə element tapılmadı", "and": "və", "and :count more": "və :count daha", "Antlers": "Antlers", @@ -99,6 +98,7 @@ "Application Cache": "Tətbiqi Program Keşi", "Application cache cleared.": "Tətbiq Program keşi təmizləndi.", "Apply": "Tətbiq et", + "Save All": "Hamısını yadda saxla", "Apply Link": "Keçidi tətbiq et", "Are you sure you want to delete this column?": "Bu sütunu silmək istədiyinizə əminsinizmi?", "Are you sure you want to delete this entry?": "Bu girişi silmək istədiyinizə əminsinizmi?", diff --git a/lang/az/fieldtypes.php b/lang/az/fieldtypes.php index d96c3f76554..cfc73006ac4 100644 --- a/lang/az/fieldtypes.php +++ b/lang/az/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Sahənin altına söz sayını göstər.', 'bard.title' => 'Bard', 'button_group.title' => 'Düymə Qrupu', - 'checkboxes.config.inline' => 'Yoxlama qutularını bir sətirdə göstər.', 'checkboxes.config.options' => 'Dizi açarlarını və isteğe bağlı etiketlərini təyin edin.', 'checkboxes.title' => 'Yoxlama Qutuları', 'code.config.indent_size' => 'Tercih etdiyiniz girinti ölçüsünü (boşluq olaraq) təyin edin.', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Bu sahələr xüsusi olub, hər biri özünəməxsusdur.', 'picker.category.structured.description' => 'Strukturlaşdırılmış məlumatları saxlayan sahələr. Bəziləri hətta digər sahələri içərilərində qura bilər.', 'picker.category.text.description' => 'Mətn sətirlərini, zəngin məzmunu və ya hər ikisini saxlayan sahələr.', - 'radio.config.inline' => 'Radioları bir sətirdə göstərin.', 'radio.config.options' => 'Dizi açarlarını və isteğe bağlı etiketlərini təyin edin.', 'radio.title' => 'Radio', 'range.config.append' => 'Sürgü mətninin sonuna (sağ tərəfə) mətn əlavə edin.', diff --git a/lang/az/messages.php b/lang/az/messages.php index d002eb8c16e..7398cd0c962 100644 --- a/lang/az/messages.php +++ b/lang/az/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'İşləyən nüsxədəki dəyişikliklər qeydə tətbiq ediləcək və dərhal dərc ediləcək.', 'publish_actions_schedule' => 'İşləyən nüsxədəki dəyişikliklər qeydə tətbiq ediləcək və seçilmiş tarixdə dərc ediləcək.', 'publish_actions_unpublish' => 'Cari təkrar dərc edilməyəcək.', + 'relationship_item_unavailable' => 'Bu element əlçatan deyil. Silinmiş ola bilər və ya onu görməyə icazəniz olmaya bilər.', 'reset_password_notification_body' => 'Bu e-poçtu şifrə sıfırlama tələbi aldığımız üçün alırsınız.', 'reset_password_notification_no_action' => 'Əgər şifrə sıfırlama tələbi etməmisinizsə, heç bir əlavə tədbir görülməlidir.', 'reset_password_notification_subject' => 'Şifrə Sıfırlama Bildirişi', diff --git a/lang/cs.json b/lang/cs.json index e347ba5db89..825fe9debf7 100644 --- a/lang/cs.json +++ b/lang/cs.json @@ -86,7 +86,6 @@ "Always show": "Vždy zobrazit", "Always Show Set Button": "Vždy zobrazit tlačítko Set", "An entry will be deleted|:count entries will be deleted": "Záznam bude smazán|:count záznamů bude smazáno", - "An item with this ID could not be found": "Položka s tímto ID nebyla nalezena", "and": "a", "and :count more": "a :count dalších", "Antlers": "Parohy", @@ -99,6 +98,7 @@ "Application Cache": "Mezipaměť aplikace", "Application cache cleared.": "Mezipaměť aplikace vymazána.", "Apply": "Použít", + "Save All": "Uložit vše", "Apply Link": "Použít odkaz", "Are you sure you want to delete this column?": "Opravdu chcete smazat tento sloupec?", "Are you sure you want to delete this entry?": "Opravdu chcete smazat tento záznam?", diff --git a/lang/cs/fieldtypes.php b/lang/cs/fieldtypes.php index c1d08106bd0..805ce77e64a 100644 --- a/lang/cs/fieldtypes.php +++ b/lang/cs/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Ukažte počet slov ve spodní části pole.', 'bard.title' => 'Bard', 'button_group.title' => 'Skupina tlačítek', - 'checkboxes.config.inline' => 'Přepínač pro vložené výběry.', 'checkboxes.config.options' => 'Nastavení klíčů pole a jejich volitelných popisků.', 'checkboxes.title' => 'Výběry', 'code.config.indent_size' => 'Nastavení preferované velikosti odsazení (v mezerách).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Do těchto polí se ukládají speciální typy dat.', 'picker.category.structured.description' => 'Do těchto polí se ukládají strukturované daty.', 'picker.category.text.description' => 'Do těchto polí se ukládají textové údaje.', - 'radio.config.inline' => 'Zobrazení přepínačů v řadě.', 'radio.config.options' => 'Nastavení klíčů pole a jejich volitelných popisků.', 'radio.title' => 'Rozevírací seznam', 'range.config.append' => 'Přidejte text na pravou stranu posuvníku.', diff --git a/lang/cs/messages.php b/lang/cs/messages.php index 005398cdce9..641c622fe5a 100644 --- a/lang/cs/messages.php +++ b/lang/cs/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'Publikovat', 'publish_actions_schedule' => 'Naplánovat', 'publish_actions_unpublish' => 'Zrušit publikaci', + 'relationship_item_unavailable' => 'Tato položka není dostupná. Mohla být smazána nebo nemáte oprávnění ji zobrazit.', 'reset_password_notification_body' => 'Vaše heslo bylo změněno. Pokud jste nezměnili heslo, prosím kontaktujte správce webu.', 'reset_password_notification_no_action' => 'Toto je automatická zpráva. Prosím neodpovídejte na ni.', 'reset_password_notification_subject' => 'Změna hesla', diff --git a/lang/da.json b/lang/da.json index 82050bfe8cc..d7795257b1c 100644 --- a/lang/da.json +++ b/lang/da.json @@ -86,7 +86,6 @@ "Always show": "Vis altid", "Always Show Set Button": "Vis altid knappen Set", "An entry will be deleted|:count entries will be deleted": "En post slettes | :count poster slettes", - "An item with this ID could not be found": "Side med dette id kunne ikke findes", "and": "og", "and :count more": "og :count mere", "Antlers": "Gevir", @@ -99,6 +98,7 @@ "Application Cache": "Applikationscache", "Application cache cleared.": "Applikationscache ryddet.", "Apply": "Anvende", + "Save All": "Gem alle", "Apply Link": "Anvend link", "Are you sure you want to delete this column?": "Er du sikker på, at du vil slette denne kolonne?", "Are you sure you want to delete this entry?": "Er du sikker på, at du vil slette denne?", diff --git a/lang/da/fieldtypes.php b/lang/da/fieldtypes.php index c3462bff8ee..6eb700be895 100644 --- a/lang/da/fieldtypes.php +++ b/lang/da/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Vis ordantallet nederst i feltet.', 'bard.title' => 'Bard', 'button_group.title' => 'Gruppe af knapper', - 'checkboxes.config.inline' => 'Vis afkrydsningsfelterne i samme række.', 'checkboxes.config.options' => 'Indstil array-tasterne og deres valgfri etiketter.', 'checkboxes.title' => 'Afkrydsningsfelter', 'code.config.indent_size' => 'Indstil din foretrukne indrykningsstørrelse (i mellemrum).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Disse felter er specielle, hver på deres måde.', 'picker.category.structured.description' => 'Felter, der gemmer strukturerede data. Nogle kan endda rede andre marker inde i sig selv.', 'picker.category.text.description' => 'Felter, der gemmer tekststrenge, rigt indhold eller begge dele.', - 'radio.config.inline' => 'Vis knapperne i samme række.', 'radio.config.options' => 'Indstil array-nøglerne og deres valgfri etiketter.', 'radio.title' => 'Radio', 'range.config.append' => 'Føj tekst til slutningen (højre side) af skyderen.', diff --git a/lang/da/messages.php b/lang/da/messages.php index a6524e52154..27f303dab99 100644 --- a/lang/da/messages.php +++ b/lang/da/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'Ændringer i arbejdskopien anvendes og den offentliggøres straks.', 'publish_actions_schedule' => 'Ændringer i arbejdskopien anvendes og den vises offentliggjort på den valgte dato.', 'publish_actions_unpublish' => 'Den aktuelle revision vil ikke blive offentliggjort.', + 'relationship_item_unavailable' => 'Dette element er ikke tilgængeligt. Det er muligvis blevet slettet, eller du har måske ikke tilladelse til at se det.', 'reset_password_notification_body' => 'Du modtager denne e-mail, fordi vi modtog en anmodning om nulstilling af adgangskode til din konto.', 'reset_password_notification_no_action' => 'Hvis du ikke anmodede om nulstilling af adgangskode, er der ikke behov for yderligere handling.', 'reset_password_notification_subject' => 'Nulstil adgangskode besked', diff --git a/lang/de.json b/lang/de.json index d44b6360e72..89ed4239832 100644 --- a/lang/de.json +++ b/lang/de.json @@ -4,13 +4,14 @@ "404": "404", ":count asset selected|:count assets selected": ":count Datei ausgewählt|:count Dateien ausgewählt", ":count item selected|:count items selected": ":count Element ausgewählt|:count Elemente ausgewählt", + ":count of :max selections": ":count von :max ausgewählt", ":count row|:count rows": ":count Zeile|:count Zeilen", ":count set|:count sets": ":count Set|:count Sets", ":count word|:count words": ":count Wort|:count Wörter", ":count\/:max selected": ":count\/:max ausgewählt", ":count\/:total characters": ":count\/:total Zeichen", ":file uploaded": ":file hochgeladen", - ":start-:end of :total": ":start–:end von :total", + ":range of :total": ":range von :total", ":success\/:total entries were deleted": ":success\/:total Einträge wurden gelöscht", ":success\/:total entries were published": ":success\/:total Einträge wurden veröffentlicht", ":success\/:total entries were unpublished": ":success\/:total Einträge wurden in Entwürfe umgewandelt", @@ -33,7 +34,6 @@ "Add": "Hinzufügen", "Add a link label": "Linktitel hinzufügen", "Add Attribute": "Attribut hinzufügen", - "Add Block": "Block hinzufügen", "Add child link to entry": "Untereintrag hinzufügen", "Add child nav item": "Unterpunkt hinzufügen", "Add Color": "Farbe hinzufügen", @@ -80,6 +80,7 @@ "All caches cleared.": "Alle Caches wurden geleert.", "All of the following conditions pass": "alle folgenden Bedingungen erfüllt sind", "All rights reserved.": "Alle Rechte vorbehalten.", + "All Submissions": "Alle Antworten", "Allow additions": "Hinzufügen erlauben", "Allow Antlers": "Antlers erlauben", "Allow Any Color": "Beliebige Farbe erlauben", @@ -107,7 +108,7 @@ "Applied to users in specific roles.": "Werden auf Benutzer:innen in bestimmten Rollen angewendet.", "Applied to your account.": "Werden auf dein Konto angewendet.", "Apply": "Übernehmen", - "Apply & Close All": "Übernehmen & alle schließen", + "Apply & Close All": "Übernehmen & alles schließen", "Apply & Save": "Übernehmen & Speichern", "Apply Link": "Link übernehmen", "Apply Query Scopes": "Query-Scopes anwenden", @@ -158,6 +159,7 @@ "Augment Format": "Ausgabeformat", "Authentication failed.": "Authentifizierung fehlgeschlagen.", "Author": "Autor", + "Auto": "Automatisch", "Autocomplete": "Autovervollständigung", "Automatic Line Breaks": "Automatische Zeilenumbrüche", "Automatic Links": "Automatische Links", @@ -165,6 +167,8 @@ "Available Columns": "Verfügbare Spalten", "Back to login": "Zurück zur Anmeldung", "Back to Users": "Zurück zu Benutzer:innen", + "Background": "Hintergrund", + "Background colour": "Hintergrundfarbe", "Base": "Standard", "BCC Recipient(s)": "BBC-Empfänger:innen", "Before": "Bevor", @@ -172,6 +176,7 @@ "Behaviour": "Verhalten", "Below": "Unterhalb", "Between": "Zwischen", + "Black": "Schwarz", "Blockquote": "Blockzitat", "Blueprint": "Blueprint", "Blueprint deleted": "Blueprint gelöscht", @@ -207,14 +212,17 @@ "Characters": "Zeichen", "Check All": "Alle auswählen", "Checked": "Ausgewählt", + "Chips": "Chips", "choose a file": "auswählen", "Choose Blueprint": "Blueprint wählen", "Choose Image": "Bild auswählen", "Choose item...": "Element auswählen…", "Choose...": "Auswählen…", "Clear": "Leeren", + "Clear :filter": ":filter löschen", "Clear All": "Alle leeren", "Clear date": "Datum löschen", + "Clear selection": "Auswahl löschen", "Clearable": "Aufheben erlauben", "Close": "Schließen", "Close Editor": "Editor schließen", @@ -267,6 +275,7 @@ "Confirm with Passkey": "Mit Passkey bestätigen", "Confirm Your Identity": "Deine Identität bestätigen", "Confirm Your Password": "Dein Passwort bestätigen", + "Connect": "Verknüpfen", "Constrain Layout": "Layout begrenzen", "Container": "Container", "Contains": "enthält", @@ -352,6 +361,7 @@ "Default Icon": "Standard-Icon", "Default Mailer": "Standard-Mailer", "Default Mode": "Standardmodus", + "Default Option": "Standardoption", "Default preferences saved": "Standardeinstellungen gespeichert", "Default Value": "Standardwert", "Delete": "Löschen", @@ -376,7 +386,6 @@ "Deselect :count item|Deselect all :count items": ":count Element abwählen|Alle :count Elemente abwählen", "Deselect :title": ":title abwählen", "Deselect all items": "Alle Elemente abwählen", - "Deselect option": "Option abwählen", "Detach": "Trennen", "Details": "Details", "Dictionary": "Wörterbuch", @@ -388,6 +397,7 @@ "Disabled two factor authentication": "Zwei-Faktor-Authentifizierung deaktiviert", "Discard": "Verwerfen", "Discard Changes": "Änderungen verwerfen", + "Disconnect": "Trennen", "Disk": "Laufwerk", "Display": "Titel", "Display Label": "Bezeichnung", @@ -487,11 +497,11 @@ "Expanded format": "Erweitertes Format", "Expect a root page": "Erwartet eine Startseite", "Expired": "Abgelaufen", + "Export": "Exportieren", "Export Submissions": "Antworten exportieren", "Extend Session": "Sitzung verlängern", "Extension": "Dateiendung", "External link": "Externer Link", - "Failed to create cropped image": "Zugeschnittenes Bild konnte nicht erstellt werden", "Failed to crop image": "Bild konnte nicht zugeschnitten werden", "Failed to load entries": "Einträge konnten nicht geladen werden", "Failed to upload cropped image": "Zugeschnittenes Bild konnte nicht hochgeladen werden", @@ -511,12 +521,14 @@ "File": "Datei", "File Driver": "Dateitreiber", "Filename": "Dateiname", + "Filtered Submissions": "Gefilterte Antworten", "Filters": "Filter", "Finish": "Übernehmen", "Finish cropping": "Zuschnitt übernehmen", "First Child": "Erster Untereintrag", "Fix": "Beheben", "Fixed": "Fixiert", + "Flatten": "Integrieren", "Flip crop orientation": "Zuschneiderichtung umkehren", "Flip Orientation": "Ausrichtung umkehren", "Floating": "Schwebend", @@ -530,6 +542,7 @@ "Form saved": "Formular gespeichert", "Form Submission": "Antworten", "Format": "Format", + "Formatting Locale": "Region für Formate", "Forms": "Formulare", "Free": "Kostenlos", "From": "Von", @@ -565,6 +578,7 @@ "Group": "Gruppe", "Groups": "Gruppen", "Handle": "Handle", + "Has Section|Has Sections": "Enthält einen Abschnitt|Enthält Abschnitte", "Heading 1": "Überschrift 1", "Heading 2": "Überschrift 2", "Heading 3": "Überschrift 3", @@ -593,9 +607,9 @@ "Icon": "Icon", "Icon Set": "Icon-Set", "ID": "ID", - "ID not found": "ID nicht gefunden", "ID regenerated and Stache cleared": "ID neu generiert und Stache geleert", "If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "Falls das Klicken auf den „:actionText“-Button nicht funktioniert, kopiere die folgende URL in deinen Webbrowser:", + "Ignoring Section|Ignoring Sections": "Abschnitt wird ignoriert|Abschnitte werden ignoriert", "Image": "Bild", "Image Cache": "Cache für Bilder", "Image cache cleared.": "Bild-Cache wurde geleert.", @@ -641,6 +655,7 @@ "Item could not be deleted": "Element konnte nicht gelöscht werden", "Item deleted|Items deleted": "Element gelöscht|Elemente gelöscht", "Items could not be deleted": "Elemente konnten nicht gelöscht werden", + "Keep imported sections as-is.": "Importierte Abschnitte unverändert übernehmen.", "Key": "Schlüssel", "Key Mappings": "Tastaturbefehle", "Keyed": "schlüsselbasiert", @@ -716,6 +731,7 @@ "Maximum items selected:": "Maximale Anzahl ausgewählt:", "Maximum Rows": "Maximale Anzahl Zeilen", "Media": "Medien", + "Merge all fields into this section.": "Alle Felder in diesen Abschnitt zusammenführen.", "Merge Cells": "Zellen verbinden", "Min": "Minimum", "Min Files": "Minimale Dateiauswahl", @@ -765,8 +781,8 @@ "No matching passkey found": "Kein passender Passkey gefunden", "No options available.": "Keine Optionen verfügbar.", "No options to choose from.": "Keine Optionen zur Auswahl.", - "No results": "Keine Resultate", - "No results found!": "Keine Resultate gefunden!", + "No results": "Keine Ergebnisse", + "No results found!": "Keine Ergebnisse gefunden!", "No revisions": "Keine Revisionen", "No sets available": "Keine Sets verfügbar", "No templates to choose from.": "Keine Templates zur Auswahl.", @@ -803,10 +819,12 @@ "Origin": "Quelle", "Origin Behavior": "Herkunftsverhalten", "Other": "Andere", + "Output format": "Ausgabeformat", "Override Alt": "Alt-Text überschreiben", "Pages": "Seiten", "Parser": "Parser", "Passkey": "Passkey", + "Passkey deleted.": "Passkey gelöscht.", "Passkeys": "Passkeys", "Password": "Passwort", "Password changed": "Passwort geändert", @@ -826,6 +844,7 @@ "Pinned Item": "Angeheftetes Element", "Placeholder": "Platzhalter", "Playground": "Playground", + "Please select...": "Bitte wählen…", "Pop in": "Zurück ins Hauptfenster", "Pop out": "Eigenes Fenster", "Port": "Port", @@ -834,6 +853,7 @@ "Preferences by Role": "Einstellungen nach Rolle", "Prefix": "Präfix", "Prepend": "Voranstellen", + "Preserve": "Beibehalten", "Press enter to access additional save options": "Für zusätzliche Speicheroptionen Enter drücken.", "Preview": "Vorschau", "Preview Image": "Vorschaubild", @@ -846,12 +866,14 @@ "Propagate": "Verbreiten", "Properties": "Eigenschaften", "Protected Page": "Geschützte Seite", + "Provider": "Dienst", "Publish": "Veröffentlichen", "Publish by Default": "Standardmäßig veröffentlichen", "Publish Date": "Erscheinungsdatum", "Publish Entry|Publish :count Entries": "Eintrag veröffentlichen|:count Einträge veröffentlichen", "Publish Now": "Jetzt veröffentlichen", "Published": "Veröffentlicht", + "Quality": "Qualität", "Query Scopes": "Query-Scopes", "Range": "Von\/Bis-Modus", "Raster image": "Pixelbild", @@ -863,6 +885,7 @@ "Records": "Aufzeichnungen", "Recovery Code": "Wiederherstellungscode", "Recovery Codes": "Wiederherstellungscodes", + "Recovery codes regenerated.": "Wiederherstellungscodes neu generiert.", "Redirect": "Weiterleiten", "Refresh": "Aktualisieren", "Refresh recovery codes": "Wiederherstellungscodes aktualisieren", @@ -878,6 +901,7 @@ "Released on :date": "Veröffentlicht am :date", "Remember me": "Angemeldet bleiben", "Remove": "Entfernen", + "Remove :label": ":label entfernen", "Remove All": "Alle entfernen", "Remove all empty nodes": "Alle leeren Nodes entfernen", "Remove Asset": "Datei entfernen", @@ -917,6 +941,7 @@ "Restrict": "Beschränken", "Restrict to Folder": "Auf Ordner begrenzen", "Resume Your Session": "Sitzung fortsetzen", + "Return to Control Panel": "Zurück zum Control Panel", "Reupload": "Neu hochladen", "Revision": "Revision", "Revision created": "Revision erstellt", @@ -940,11 +965,12 @@ "Rulers": "Lineale", "Rules": "Regeln", "Run action|Run action on :count items": "Aktion ausführen|Aktion bei :count Elementen ausführen", + "Same as language": "Gleich wie Sprache", "Sanitize": "Bereinigen", "Save": "Speichern", - "Save & Close All": "Speichern & alle schließen", "Save & Publish": "Speichern & Veröffentlichen", "Save & Unpublish": "Speichern & in Entwurf umwandeln", + "Save All": "Alles speichern", "Save as Copy": "Als Kopie speichern", "Save as HTML": "Als HTML speichern", "Save Changes": "Änderungen speichern", @@ -954,7 +980,7 @@ "Save Order": "Reihenfolge speichern", "Save to": "Speichern unter", "Saved": "Gespeichert", - "Scaffold Views": "Ansichten erstellen", + "Scaffold Views": "Ansichten generieren", "Schedule": "Zeitplan", "Scheduled": "Geplant", "Search": "Suchen", @@ -968,6 +994,7 @@ "Searchable": "Durchsuchbar", "Searchables": "Quellen", "Second": "Sekunde", + "Section Behavior": "Abschnittsverhalten", "Security": "Sicherheit", "Security update available": "Sicherheitsupdate verfügbar", "Select": "Auswählen", @@ -1026,12 +1053,14 @@ "Sign in with OAuth": "Mit OAuth anmelden", "Sign into your Statamic Control Panel": "Melde dich im Statamic Control Panel an.", "Sign out": "Abmelden", + "Sign-in Providers": "Anmeldedienste", "Single": "Einzel", "Site": "Website", "Site Defaults": "Standardeinstellungen der Website", "Site deleted": "Website gelöscht", "Site saved": "Website gespeichert", "Site selected.": "Website ausgewählt.", + "Site time": "Website-Zeit", "Sites": "Websites", "Size": "Größe", "Skip to content": "Zum Inhalt springen", @@ -1117,6 +1146,7 @@ "Text & Rich Content": "Text & formatierter Inhalt", "Text item": "Text-Element", "Text view": "Text-Ansicht", + "The asset is not an image.": "Diese Datei ist kein Bild.", "the Git Integration": "Git-Integration", "The given data was invalid.": "Die angegebenen Daten sind ungültig.", "The page you are looking for could not be found.": "Die gesuchte Seite wurde nicht gefunden.", @@ -1127,12 +1157,15 @@ "These are now your default columns.": "Dies sind jetzt deine Standardspalten.", "This action is unauthorized.": "Für diese Aktion hast du keine Berechtigung.", "This collection isn't available in this site.": "Diese Sammlung ist auf dieser Website nicht verfügbar.", + "This field": "Dieses Feld", "This form is awaiting responses": "Dieses Formular wartet auf Antworten", "This is the published version": "Dies ist die veröffentlichte Version", "This is the root page": "Dies ist die Startseite", "This is the working copy": "Dies ist die Arbeitskopie", + "This month": "Dieser Monat", "This will delete the collection and all of its entries.|This will delete the collections and all of their entries.": "Dies löscht die Sammlung und alle ihre Einträge.|Dies löscht die Sammlungen und alle ihre Einträge.", "Time Enabled": "Uhrzeit aktivieren", + "Timezone": "Zeitzone", "Title": "Titel", "Today": "Heute", "Toggle": "Schalter", @@ -1151,6 +1184,8 @@ "True": "Wahr", "Try Again": "Erneut versuchen", "Two-Factor Authentication": "Zwei-Faktor-Authentifizierung", + "Two-factor authentication disabled.": "Zwei-Faktor-Authentifizierung deaktiviert.", + "Two-factor authentication enabled.": "Zwei-Faktor-Authentifizierung aktiviert.", "Type": "Typ", "Type '\/' to insert a set": "Tippe \/, um ein Set einzufügen", "Typeahead Field": "Autovervollständigung", @@ -1213,7 +1248,7 @@ "Verification Code": "Authentifizierungscode", "Video": "Video", "Video URL": "Video-URL", - "View": "Ansehen", + "View": "Anzeigen", "View additional releases": "Weitere Versionen anzeigen", "View All": "Alle anzeigen", "View All Blueprints": "Alle Blueprints anzeigen", @@ -1231,6 +1266,7 @@ "Warm Specific Presets": "Bestimmte Presets vorwärmen", "Warning! Changing a site handle may break existing site content!": "Achtung! Das Ändern des Website-Handles kann vorhandene Inhalte der Website beschädigen!", "Week": "Woche", + "White": "Weiß", "Whoops!": "Ups!", "Widgets": "Widgets", "Width": "Breite", @@ -1249,7 +1285,7 @@ "You are not authorized to edit this collection.": "Du hast keine Berechtigung, diese Sammlung zu bearbeiten.", "You are not authorized to edit this taxonomy.": "Du hast keine Berechtigung, diese Taxonomie zu bearbeiten.", "You are not authorized to run this action.": "Du hast keine Berechtigung, diese Aktion auszuführen.", - "You are not authorized to scaffold resources.": "Du hast keine Berechtigung, Ressourcen anzulegen.", + "You are not authorized to scaffold resources.": "Du hast keine Berechtigung, Ressourcen zu generieren.", "You are not authorized to view collections.": "Du hast keine Berechtigung, Sammlungen anzusehen.", "You are not authorized to view navs.": "Du hast keine Berechtigung, Navigationen anzusehen.", "You are not authorized to view this collection.": "Du hast keine Berechtigung, diese Sammlung anzusehen.", @@ -1258,5 +1294,6 @@ "You do not have permission to access this URL": "Du hast keine Berechtigung, auf diese URL zuzugreifen.", "You're already editing this item.": "Du bearbeitest diesen Eintrag bereits.", "Your Session is Expiring": "Deine Sitzung läuft ab", + "Your time": "Deine Zeitzone", "Your working copy will be replaced by the contents of this revision.": "Deine aktuelle Arbeitskopie wird mit dem Inhalt dieser Revision ersetzt." } diff --git a/lang/de/dictionary-currencies.php b/lang/de/dictionary-currencies.php index 933865778ef..12bdf44b901 100644 --- a/lang/de/dictionary-currencies.php +++ b/lang/de/dictionary-currencies.php @@ -5,16 +5,22 @@ 'AFN' => 'Afghanischer Afghani', 'ALL' => 'Albanischer Lek', 'AMD' => 'Armenischer Dram', + 'AOA' => 'Angolanische Kwanza', 'ARS' => 'Argentinischer Peso', 'AUD' => 'Australischer Dollar', + 'AWG' => 'Arubischer Florin', 'AZN' => 'Aserbaidschanischer Manat', 'BAM' => 'Bosnisch-herzegowinischer konvertibler Mark', + 'BBD' => 'Barbadischer Dollar', 'BDT' => 'Bangladeschischer Taka', 'BHD' => 'Bahrainer Dinar', 'BIF' => 'Burundischer Franc', + 'BMD' => 'Bermudischer Dollar', 'BND' => 'Bruneischer Dollar', 'BOB' => 'Bolivianischer Boliviano', 'BRL' => 'Brasilianischer Real', + 'BSD' => 'Bahamischer Dollar', + 'BTN' => 'Bhutanischer Ngultrum', 'BWP' => 'Botswanischer Pula', 'BYN' => 'Belarussischer Rubel', 'BZD' => 'Belize-Dollar', @@ -25,6 +31,7 @@ 'CNY' => 'Chinesischer Yuan', 'COP' => 'Kolumbianischer Peso', 'CRC' => 'Costa-Rica-Colón', + 'CUP' => 'Kubanischer Peso', 'CVE' => 'Kapverdischer Escudo', 'CZK' => 'Tschechische Krone', 'DJF' => 'Dschibutischer Franc', @@ -35,13 +42,19 @@ 'ERN' => 'Eritreischer Nakfa', 'ETB' => 'Äthiopischer Birr', 'EUR' => 'Euro', + 'FJD' => 'Fidschianischer Dollar', + 'FKP' => 'Falkland-Inseln-Pfund', 'GBP' => 'Britisches Pfund Sterling', 'GEL' => 'Georgischer Lari', 'GHS' => 'Ghanaischer Cedi', + 'GIP' => 'Gibraltarisches Pfund', + 'GMD' => 'Gambischer Dalasi', 'GNF' => 'Guineischer Franc', 'GTQ' => 'Guatemaltekischer Quetzal', + 'GYD' => 'Guyanischer Dollar', 'HKD' => 'Hongkong-Dollar', 'HNL' => 'Honduranischer Lempira', + 'HTG' => 'Haitianische Gourde', 'HUF' => 'Ungarischer Forint', 'IDR' => 'Indonesische Rupiah', 'ILS' => 'Israelischer Neuer Schekel', @@ -53,21 +66,31 @@ 'JOD' => 'Jordanischer Dinar', 'JPY' => 'Japanischer Yen', 'KES' => 'Kenianischer Schilling', + 'KGS' => 'Kirgisischer Som', 'KHR' => 'Kambodschanischer Riel', 'KMF' => 'Komorischer Franc', + 'KPW' => 'Nordkoreanischer Won', 'KRW' => 'Südkoreanischer Won', 'KWD' => 'Kuwaitischer Dinar', + 'KYD' => 'Kaiman-Inseln-Dollar', 'KZT' => 'Kasachischer Tenge', + 'LAK' => 'Laotischer Kip', 'LBP' => 'Libanesisches Pfund', 'LKR' => 'Sri-lankische Rupie', + 'LRD' => 'Liberianischer Dollar', + 'LSL' => 'Lesothischer Loti', 'LYD' => 'Libyscher Dinar', 'MAD' => 'Marokkanischer Dirham', 'MDL' => 'Moldauischer Leu', 'MGA' => 'Madagassischer Ariary', 'MKD' => 'Mazedonischer Denar', 'MMK' => 'Myanmar-Kyat', + 'MNT' => 'Mongolischer Tögrög', 'MOP' => 'Macao-Pataca', + 'MRU' => 'Mauretanischer Ouguiya', 'MUR' => 'Mauritische Rupie', + 'MVR' => 'Maledivische Rufiyaa', + 'MWK' => 'Malawischer Kwacha', 'MXN' => 'Mexikanischer Peso', 'MYR' => 'Malaysischer Ringgit', 'MZN' => 'Mosambikanischer Metical', @@ -79,7 +102,8 @@ 'NZD' => 'Neuseeland-Dollar', 'OMR' => 'Omanischer Rial', 'PAB' => 'Panamanischer Balboa', - 'PEN' => 'Peruanischer Nuevo Sol', + 'PEN' => 'Peruanischer Sol', + 'PGK' => 'Papua-Neuguineanische Kina', 'PHP' => 'Philippinischer Peso', 'PKR' => 'Pakistanische Rupie', 'PLN' => 'Polnischer Zloty', @@ -90,12 +114,22 @@ 'RUB' => 'Russischer Rubel', 'RWF' => 'Ruandischer Franc', 'SAR' => 'Saudi-arabischer Riyal', + 'SBD' => 'Salomonischer Dollar', + 'SCR' => 'Seychellische Rupie', 'SDG' => 'Sudanesisches Pfund', 'SEK' => 'Schwedische Krone', 'SGD' => 'Singapur-Dollar', + 'SHP' => 'Sankt-Helena-Pfund', + 'SLE' => 'Sierra-leonischer Leone', 'SOS' => 'Somalischer Schilling', + 'SRD' => 'Surinamischer Dollar', + 'SSP' => 'Südsudanesisches Pfund', + 'STN' => 'São-toméischer Dobra', 'SYP' => 'Syrisches Pfund', + 'SZL' => 'Swasiländischer Lilangeni', 'THB' => 'Thailändischer Baht', + 'TJS' => 'Tadschikischer Somoni', + 'TMT' => 'Turkmenischer Manat', 'TND' => 'Tunesischer Dinar', 'TOP' => 'Tonganischer Paʻanga', 'TRY' => 'Türkische Lira', @@ -107,10 +141,16 @@ 'USD' => 'US-Dollar', 'UYU' => 'Uruguayischer Peso', 'UZS' => 'Usbekischer Som', + 'VED' => 'Venezolanischer Digitaler Bolívar', 'VES' => 'Venezolanischer Bolívar Soberano', 'VND' => 'Vietnamesischer Dong', + 'VUV' => 'Vanuatischer Vatu', + 'WST' => 'Samoanischer Tala', 'XAF' => 'CFA-Franc BEAC', + 'XCD' => 'Ostkaribischer Dollar', + 'XCG' => 'Karibischer Gulden', 'XOF' => 'CFA-Franc BCEAO', + 'XPF' => 'CFP-Franc', 'YER' => 'Jemenitischer Rial', 'ZAR' => 'Südafrikanischer Rand', 'ZMW' => 'Sambischer Kwacha', diff --git a/lang/de/fieldtypes.php b/lang/de/fieldtypes.php index d23914c77e5..694d048d29d 100644 --- a/lang/de/fieldtypes.php +++ b/lang/de/fieldtypes.php @@ -48,7 +48,7 @@ 'bard.config.word_count' => 'Blendet die Anzahl Wörter unter dem Feld ein.', 'bard.title' => 'Bard', 'button_group.title' => 'Button-Gruppe', - 'checkboxes.config.inline' => 'Checkboxen in einer Reihe anzeigen.', + 'checkboxes.config.appearance' => 'Lege fest, wie die Checkboxen dargestellt werden.', 'checkboxes.config.options' => 'Array-Schlüssel und ihre optionalen Beschriftungen festlegen.', 'checkboxes.title' => 'Checkboxen', 'code.config.color_mode' => 'Bevorzugten Farbmodus auswählen.', @@ -78,6 +78,7 @@ 'date.config.number_of_months' => 'Anzahl der gleichzeitig sichtbaren Monate festlegen.', 'date.config.time_enabled' => 'Aktiviert den Timepicker.', 'date.config.time_seconds_enabled' => 'Sekunden im Timepicker einblenden.', + 'date.config.timezone' => 'Die Zeitzone, in der Datumsangaben angezeigt und eingegeben werden. Standardmäßig wird die lokale Zeitzone des Browsers verwendet.', 'date.title' => 'Datum', 'dictionary.config.dictionary' => 'Das Wörterbuch, aus dem du Optionen beziehen möchtest.', 'dictionary.file.config.filename' => 'Der Dateiname, der deine Optionen enthält, relativ zum Verzeichnis `resources/dictionaries`.', @@ -119,7 +120,9 @@ 'integer.title' => 'Ganzzahl', 'link.config.collections' => 'Einträge aus diesen Sammlungen stehen zur Verfügung. Bleibt das Feld leer, können Einträge aus allen verknüpfbaren Sammlungen genutzt werden.', 'link.config.container' => 'Datei-Container für dieses Feld auswählen.', + 'link.config.default_option' => 'Die Standardoption für den Link-Typ, sofern diese in der Konfiguration des Feldtyps verfügbar ist.', 'link.title' => 'Link', + 'list.config.add_row' => 'Beschriftung des „Element hinzufügen“-Buttons anpassen.', 'list.title' => 'Liste', 'markdown.config.automatic_line_breaks' => 'Aktiviert automatische Zeilenumbrüche.', 'markdown.config.automatic_links' => 'Aktiviert die automatische Verlinkung beliebiger URLs.', @@ -140,7 +143,7 @@ 'picker.category.special.description' => 'Diese Felder sind besonders, jedes auf seine Weise.', 'picker.category.structured.description' => 'Diese Felder speichern strukturierte Daten. Einige können sogar andere Felder in sich selbst verschachteln.', 'picker.category.text.description' => 'Diese Felder speichern Text, formatierten Inhalt oder beides.', - 'radio.config.inline' => 'Radio-Buttons in einer Reihe anzeigen.', + 'radio.config.appearance' => 'Lege fest, wie die Radio-Buttons dargestellt werden.', 'radio.config.options' => 'Array-Schlüssel und ihre optionalen Beschriftungen festlegen.', 'radio.title' => 'Radio', 'range.config.append' => 'Text auf der rechten Seite des Schiebereglers hinzufügen.', diff --git a/lang/de/messages.php b/lang/de/messages.php index 64cfff12b6f..2109dc89a60 100644 --- a/lang/de/messages.php +++ b/lang/de/messages.php @@ -46,9 +46,9 @@ 'collection_next_steps_blueprints_description' => 'Verwalte die Blueprints und Felder dieser Sammlung. Strukturiere sie mit Fieldsets.', 'collection_next_steps_configure_description' => 'Konfiguriere URLs und Routen, lege Blueprints fest, bestimme das Datumsverhalten, die Reihenfolge und weitere Optionen.', 'collection_next_steps_create_entry_description' => 'Erstelle den ersten Eintrag oder lege einige Platzhalter-Einträge an – ganz nach deinen Bedürfnissen.', - 'collection_next_steps_scaffold_description' => 'Erstelle mit einem Klick aus dem Namen der Sammlung Ansichten für Index- und Detailseiten.', + 'collection_next_steps_scaffold_description' => 'Generiere mit einem Klick aus dem Namen der Sammlung Ansichten für Index- und Detailseiten.', 'collection_revisions_instructions' => 'Revisionen für diese Sammlung aktivieren.', - 'collection_scaffold_instructions' => 'Wähle und konfiguriere die Ansichten, die erstellt werden sollen. Bereits vorhandene Dateien bleiben erhalten.', + 'collection_scaffold_instructions' => 'Wähle und konfiguriere die Ansichten, die generiert werden sollen. Bereits vorhandene Dateien werden nicht überschrieben.', 'collections_blueprint_instructions' => 'Einträge in dieser Sammlung können jeden dieser Blueprints verwenden.', 'collections_default_publish_state_instructions' => 'Beim Erstellen neuer Einträge in dieser Sammlung wird der Schalter für die Veröffentlichung standardmäßig auf *true* gesetzt anstatt auf *false* (Entwurf).', 'collections_future_date_behavior_instructions' => 'Wie sollen sich Einträge mit einem zukünftigen Datum verhalten?', @@ -61,6 +61,8 @@ 'collections_route_instructions' => 'Die Route steuert das URL-Muster der Einträge. Mehr dazu in der [Dokumentation](https://statamic.dev/collections#routing).', 'collections_sort_direction_instructions' => 'Voreinstellung für die Sortierrichtung.', 'collections_taxonomies_instructions' => 'Einträge dieser Sammlung mit Taxonomien verknüpfen. Die Felder werden automatisch den Formularen hinzugefügt.', + 'crop_jpeg_background_help' => 'JPEG unterstützt keine Transparenz – transparente Bereiche werden mit dieser Farbe gefüllt.', + 'crop_replace_unavailable_format' => 'Das Original kann nur ersetzt werden, wenn das Format gleich bleibt.', 'crop_save_as_copy_confirm' => 'Das zugeschnittene Bild als neue Kopie speichern?', 'crop_save_copy_or_replace' => 'Möchtest du dies als neue Kopie speichern oder das Originalbild ersetzen?', 'dictionaries_countries_emojis_instructions' => 'Flaggen-Emojis in Ländernamen einbeziehen.', @@ -86,7 +88,7 @@ 'entry_count' => ':count Eintrag|:count Einträge', 'entry_origin_instructions' => 'Die neue Lokalisierung übernimmt die Werte vom Eintrag der ausgewählten Website.', 'expect_root_instructions' => 'Die erste Seite im Seitenbaum als Root oder Startseite behandeln.', - 'field_conditions_always_save_instructions' => 'Wert dieses Feldes immer speichern, auch wenn es ausgeblendet ist.', + 'field_conditions_always_save_instructions' => 'Feldwert immer speichern, auch wenn das Feld ausgeblendet ist.', 'field_conditions_field_instructions' => 'Du kannst jeden „Handle“ eingeben und bist nicht auf die Optionen im Dropdown beschränkt.', 'field_conditions_instructions' => 'Wann soll dieses Feld ein- oder ausgeblendet werden?', 'field_desynced_from_origin' => 'Weicht von der Quelle ab. Zum Zurücksetzen auf den ursprünglichen Wert klicken.', @@ -108,6 +110,7 @@ 'fields_visibility_instructions' => 'Anzeige des Feldes in Formularen festlegen.', 'fieldset_import_fieldset_instructions' => 'Fieldset auswählen, das importiert werden soll.', 'fieldset_import_prefix_instructions' => 'Beim Import jedem Feld ein Präfix hinzufügen (z.B. `hero_`).', + 'fieldset_import_section_behavior_instructions' => 'Legt fest, ob die Abschnitte aus dem importierten Fieldset beibehalten oder in diesen Abschnitt integriert werden.', 'fieldset_intro' => 'Fieldsets sind optionale Begleiter zu Blueprints und dienen als wiederverwendbare Partials innerhalb von Blueprints.', 'fieldset_link_fields_prefix_instructions' => 'Jedem Feld im verknüpften Fieldset diesen Wert als Präfix voranstellen. Nützlich, um dieselben Felder mehrfach zu importieren.', 'fieldsets_handle_instructions' => 'Dient an anderer Stelle als Referenz für dieses Fieldset. Dies lässt sich später nicht ohne Weiteres ändern.', @@ -137,6 +140,7 @@ 'form_configure_store_instructions' => 'Deaktivieren, um Antworten nicht mehr zu speichern. Ereignisse und E-Mail-Benachrichtigungen bleiben aktiv.', 'form_configure_title_instructions' => 'Verwende einen Call to Action wie „Kontaktiere uns“.', 'form_create_description' => 'Starte mit dem Anlegen deines ersten Formulars.', + 'form_export_filtered_description' => 'Exportiert die Antworten mit den aktuellen Filtern und den sichtbaren Spalten.', 'getting_started_widget_collections' => 'Sammlungen fassen die verschiedenen Inhaltstypen deiner Website zusammen und helfen dir, den Überblick zu behalten.', 'getting_started_widget_docs' => 'Entdecke alle Funktionen von Statamic und lerne, wie du die leistungsstarken Features richtig einsetzen kannst.', 'getting_started_widget_header' => 'Erste Schritte mit Statamic', @@ -185,6 +189,12 @@ 'navigation_documentation_instructions' => 'Lerne, wie du Navigationen erstellst, einrichtest und darstellst.', 'navigation_link_to_entry_instructions' => 'Füge einen Link zu einem Eintrag hinzu. Aktiviere das Verknüpfen auf weitere Sammlungen im Konfigurationsbereich.', 'navigation_link_to_url_instructions' => 'Füge einen Link zu einer internen oder externen URL hinzu und erlaube in den Einstellungen das Verknüpfen mit Einträgen.', + 'oauth_already_connected' => 'Dein :provider-Konto ist bereits verknüpft.', + 'oauth_belongs_to_another_user' => 'Dieses :provider-Konto ist bereits mit einem anderen Account verknüpft.', + 'oauth_connect_unsupported' => 'Dieser Dienst unterstützt keine Kontoverknüpfung.', + 'oauth_connected' => 'Dein :provider-Konto wurde verknüpft.', + 'oauth_disconnected' => 'Dein :provider-Konto wurde getrennt.', + 'oauth_email_exists' => 'Ein Konto mit dieser E-Mail-Adresse existiert bereits. Melde dich an und verknüpfe diesen Dienst in deinen Kontoeinstellungen.', 'outpost_error_422' => 'Fehler bei der Kommunikation mit statamic.com.', 'outpost_error_429' => 'Zu viele Anfragen auf statamic.com.', 'outpost_issue_try_later' => 'Es gab ein Problem bei der Kommunikation mit statamic.com. Bitte versuche es später erneut.', @@ -199,15 +209,18 @@ 'phpinfo_utility_description' => 'Überprüfe die PHP-Konfiguration und die installierten Module.', 'plus_count_more' => '+ :count mehr', 'preference_confirm_dirty_navigation_instructions' => 'Warnung einblenden, wenn ungespeicherte Änderungen beim Verlassen der Seite verloren gehen.', - 'preference_locale_instructions' => 'Die bevorzugte Sprache für das Control Panel.', - 'preference_start_page_instructions' => 'Die Seite, die beim Anmelden ins Control Panel angezeigt wird.', + 'preference_formatting_locale_instructions' => 'Legt die Region für Datums- und Zahlenformate im Control Panel fest.', + 'preference_formatting_locale_invalid' => 'Bitte gib ein gültiges Sprachkürzel ein.', + 'preference_locale_instructions' => 'Legt die bevorzugte Sprache für das Control Panel fest.', + 'preference_start_page_instructions' => 'Legt die Seite fest, die nach der Anmeldung im Control Panel angezeigt wird.', 'preference_strict_accessibility_instructions' => 'Wir haben das Control Panel mit Blick auf Barrierefreiheit gestaltet und uns bemüht, die WCAG 2.2-Richtlinien so weit wie möglich einzuhalten. Mit dieser Option kannst du strengere Barrierefreiheitsregeln anwenden, indem der Rahmenkontrast bei Eingabefeldern erhöht wird.', 'preference_theme_instructions' => 'Farben und Erscheinungsbild des Control Panel anpassen.', 'publish_actions_create_revision' => 'Aus der Arbeitskopie wird eine neue Revision erstellt. Die bestehende Revision bleibt dabei unverändert.', 'publish_actions_current_becomes_draft_because_scheduled' => 'Die aktuelle Version ist bereits veröffentlicht und du hast ein Datum in der Zukunft ausgewählt. Deshalb wird nach dem Absenden die neue Revision bis zu diesem Datum wie ein Entwurf behandelt.', - 'publish_actions_publish' => 'Änderungen aus der Arbeitskopie werden übernommen und der Eintrag wird sofort veröffentlicht.', - 'publish_actions_schedule' => 'Änderungen aus der Arbeitskopie werden übernommen und der Eintrag wird am ausgewählten Datum automatisch veröffentlicht.', + 'publish_actions_publish' => 'Die Änderungen der Arbeitskopie werden auf den Eintrag übertragen und sofort veröffentlicht.', + 'publish_actions_schedule' => 'Die Änderungen der Arbeitskopie werden auf den Eintrag übertragen und am ausgewählten Datum veröffentlicht.', 'publish_actions_unpublish' => 'Die aktuelle Version wird nicht mehr veröffentlicht und stattdessen als Entwurf gespeichert.', + 'relationship_item_unavailable' => 'Dieses Element ist nicht verfügbar. Möglicherweise wurde es gelöscht oder du hast keine Berechtigung, es anzusehen.', 'reset_password_notification_body' => 'Du erhältst diese E-Mail, weil wir für dein Konto eine Anfrage zum Zurücksetzen des Passworts erhalten haben.', 'reset_password_notification_no_action' => 'Sollte die Anfrage zum Zurücksetzen des Passworts nicht von dir stammen, sind keine weiteren Maßnahmen erforderlich.', 'reset_password_notification_subject' => 'Passwort zurücksetzen', @@ -222,6 +235,8 @@ 'selections_item_unselected' => ':title ist nicht ausgewählt. Zum Auswählen klicken.', 'selections_limit_reached' => 'Das Auswahllimit ist erreicht. :title kann nicht mehr ausgewählt werden.', 'selections_select_all' => ':selected von :total Elemente ausgewählt. Zum Auswählen aller Elemente das Häkchen setzen.', + 'session_expiry_dismissed_banner' => 'Deine Sitzung läuft bald ab. Klicke hier, um sie zu verlängern und angemeldet zu bleiben.', + 'session_expiry_dismissed_login_banner' => 'Deine Sitzung ist abgelaufen. Klicke hier, um dich erneut anzumelden.', 'session_expiry_enter_password' => 'Gib dein Passwort ein, um fortzufahren.', 'session_expiry_enter_two_factor_code' => 'Gib deinen Authentifizierungscode ein, um fortzufahren.', 'session_expiry_enter_two_factor_recovery_code' => 'Gib einen Wiederherstellungscode ein, um fortzufahren.', @@ -252,6 +267,7 @@ 'taxonomy_next_steps_configure_description' => 'Konfiguriere Namen, verknüpfe Sammlungen, lege Blueprints fest und vieles mehr.', 'taxonomy_next_steps_create_term_description' => 'Erstelle den ersten Begriff oder lege einige Platzhalterbegriffe an – ganz wie du möchtest.', 'theme_share_instructions' => 'Veröffentliche dieses Thema über dein statamic.com-Konto, um es anderen verfügbar zu machen.', + 'tree_aria_instructions' => 'Verwende die Pfeiltasten zum Navigieren. Zum Neuanordnen Alt + Pfeiltaste drücken.', 'try_again_in_minutes' => 'Versuche es in einer Minute erneut.|Versuche es in :count Minuten erneut.', 'try_again_in_seconds' => '{0,1}Versuche es jetzt erneut.|Versuche es in :count Sekunden erneut.', 'two_factor_account_requirement' => 'Dein Konto erfordert die Zwei-Faktor-Authentifizierung. Bitte aktiviere sie, bevor du fortfährst.', diff --git a/lang/de/permissions.php b/lang/de/permissions.php index 871d673d5c6..3de98e5aeb9 100644 --- a/lang/de/permissions.php +++ b/lang/de/permissions.php @@ -78,6 +78,7 @@ 'assign_user_groups' => 'Gruppen zuweisen', 'assign_roles' => 'Rollen zuweisen', 'impersonate_users' => 'Als andere Benutzer:in anmelden (Impersonate)', + 'impersonate_users_desc' => 'Erlaubt das Einloggen als beliebige Benutzer:in – einschließlich Super-Admins. Vergib diese Berechtigung nur mit großer Vorsicht.', 'group_updates' => 'Updates', 'view_updates' => 'Updates anzeigen', 'group_addons' => 'Add-ons', diff --git a/lang/de/validation.php b/lang/de/validation.php index a3c0bc0f149..a90b8db8cc9 100644 --- a/lang/de/validation.php +++ b/lang/de/validation.php @@ -131,6 +131,7 @@ 'date_fieldtype_time_required' => 'Eine Zeitangabe ist erforderlich.', 'duplicate_field_handle' => 'Ein Feld mit dem Handle „:handle“ existiert bereits.', 'duplicate_uri' => 'Doppelte URI: :value.', + 'elevated_session_resend_code_unavailable' => 'Die Option „Code erneut senden“ ist nur für die Methode mit Bestätigungscode verfügbar.', 'elevated_session_verification_code' => 'Der Authentifizierungscode ist falsch.', 'email_available' => 'Eine Benutzer:in mit dieser E-Mail-Adresse existiert bereits.', 'fieldset_imported_recursively' => 'Fieldset :handle wird rekursiv importiert.', diff --git a/lang/de_CH.json b/lang/de_CH.json index 426ad8e33bf..9ce913335c3 100644 --- a/lang/de_CH.json +++ b/lang/de_CH.json @@ -4,13 +4,14 @@ "404": "404", ":count asset selected|:count assets selected": ":count Datei ausgewählt|:count Dateien ausgewählt", ":count item selected|:count items selected": ":count Element ausgewählt|:count Elemente ausgewählt", + ":count of :max selections": ":count von :max ausgewählt", ":count row|:count rows": ":count Zeile|:count Zeilen", ":count set|:count sets": ":count Set|:count Sets", ":count word|:count words": ":count Wort|:count Wörter", ":count\/:max selected": ":count\/:max ausgewählt", ":count\/:total characters": ":count\/:total Zeichen", ":file uploaded": ":file hochgeladen", - ":start-:end of :total": ":start–:end von :total", + ":range of :total": ":range von :total", ":success\/:total entries were deleted": ":success\/:total Einträge wurden gelöscht", ":success\/:total entries were published": ":success\/:total Einträge wurden veröffentlicht", ":success\/:total entries were unpublished": ":success\/:total Einträge wurden in Entwürfe umgewandelt", @@ -33,7 +34,6 @@ "Add": "Hinzufügen", "Add a link label": "Linktitel hinzufügen", "Add Attribute": "Attribut hinzufügen", - "Add Block": "Block hinzufügen", "Add child link to entry": "Untereintrag hinzufügen", "Add child nav item": "Unterpunkt hinzufügen", "Add Color": "Farbe hinzufügen", @@ -80,6 +80,7 @@ "All caches cleared.": "Alle Caches wurden geleert.", "All of the following conditions pass": "alle folgenden Bedingungen erfüllt sind", "All rights reserved.": "Alle Rechte vorbehalten.", + "All Submissions": "Alle Antworten", "Allow additions": "Hinzufügen erlauben", "Allow Antlers": "Antlers erlauben", "Allow Any Color": "Beliebige Farbe erlauben", @@ -107,7 +108,7 @@ "Applied to users in specific roles.": "Werden auf Benutzer:innen in bestimmten Rollen angewendet.", "Applied to your account.": "Werden auf dein Konto angewendet.", "Apply": "Übernehmen", - "Apply & Close All": "Übernehmen & alle schliessen", + "Apply & Close All": "Übernehmen & alles schliessen", "Apply & Save": "Übernehmen & Speichern", "Apply Link": "Link übernehmen", "Apply Query Scopes": "Query-Scopes anwenden", @@ -158,6 +159,7 @@ "Augment Format": "Ausgabeformat", "Authentication failed.": "Authentifizierung fehlgeschlagen.", "Author": "Autor", + "Auto": "Automatisch", "Autocomplete": "Autovervollständigung", "Automatic Line Breaks": "Automatische Zeilenumbrüche", "Automatic Links": "Automatische Links", @@ -165,6 +167,8 @@ "Available Columns": "Verfügbare Spalten", "Back to login": "Zurück zur Anmeldung", "Back to Users": "Zurück zu Benutzer:innen", + "Background": "Hintergrund", + "Background colour": "Hintergrundfarbe", "Base": "Standard", "BCC Recipient(s)": "BBC-Empfänger:innen", "Before": "Bevor", @@ -172,6 +176,7 @@ "Behaviour": "Verhalten", "Below": "Unterhalb", "Between": "Zwischen", + "Black": "Schwarz", "Blockquote": "Blockzitat", "Blueprint": "Blueprint", "Blueprint deleted": "Blueprint gelöscht", @@ -207,14 +212,17 @@ "Characters": "Zeichen", "Check All": "Alle auswählen", "Checked": "Ausgewählt", + "Chips": "Chips", "choose a file": "auswählen", "Choose Blueprint": "Blueprint wählen", "Choose Image": "Bild auswählen", "Choose item...": "Element auswählen…", "Choose...": "Auswählen…", "Clear": "Leeren", + "Clear :filter": ":filter löschen", "Clear All": "Alle leeren", "Clear date": "Datum löschen", + "Clear selection": "Auswahl löschen", "Clearable": "Aufheben erlauben", "Close": "Schliessen", "Close Editor": "Editor schliessen", @@ -267,6 +275,7 @@ "Confirm with Passkey": "Mit Passkey bestätigen", "Confirm Your Identity": "Deine Identität bestätigen", "Confirm Your Password": "Dein Passwort bestätigen", + "Connect": "Verknüpfen", "Constrain Layout": "Layout begrenzen", "Container": "Container", "Contains": "enthält", @@ -352,6 +361,7 @@ "Default Icon": "Standard-Icon", "Default Mailer": "Standard-Mailer", "Default Mode": "Standardmodus", + "Default Option": "Standardoption", "Default preferences saved": "Standardeinstellungen gespeichert", "Default Value": "Standardwert", "Delete": "Löschen", @@ -376,7 +386,6 @@ "Deselect :count item|Deselect all :count items": ":count Element abwählen|Alle :count Elemente abwählen", "Deselect :title": ":title abwählen", "Deselect all items": "Alle Elemente abwählen", - "Deselect option": "Option abwählen", "Detach": "Trennen", "Details": "Details", "Dictionary": "Wörterbuch", @@ -388,6 +397,7 @@ "Disabled two factor authentication": "Zwei-Faktor-Authentifizierung deaktiviert", "Discard": "Verwerfen", "Discard Changes": "Änderungen verwerfen", + "Disconnect": "Trennen", "Disk": "Laufwerk", "Display": "Titel", "Display Label": "Bezeichnung", @@ -487,11 +497,11 @@ "Expanded format": "Erweitertes Format", "Expect a root page": "Erwartet eine Startseite", "Expired": "Abgelaufen", + "Export": "Exportieren", "Export Submissions": "Antworten exportieren", "Extend Session": "Sitzung verlängern", "Extension": "Dateiendung", "External link": "Externer Link", - "Failed to create cropped image": "Zugeschnittenes Bild konnte nicht erstellt werden", "Failed to crop image": "Bild konnte nicht zugeschnitten werden", "Failed to load entries": "Einträge konnten nicht geladen werden", "Failed to upload cropped image": "Zugeschnittenes Bild konnte nicht hochgeladen werden", @@ -511,12 +521,14 @@ "File": "Datei", "File Driver": "Dateitreiber", "Filename": "Dateiname", + "Filtered Submissions": "Gefilterte Antworten", "Filters": "Filter", "Finish": "Übernehmen", "Finish cropping": "Zuschnitt übernehmen", "First Child": "Erster Untereintrag", "Fix": "Beheben", "Fixed": "Fixiert", + "Flatten": "Integrieren", "Flip crop orientation": "Zuschneiderichtung umkehren", "Flip Orientation": "Ausrichtung umkehren", "Floating": "Schwebend", @@ -530,6 +542,7 @@ "Form saved": "Formular gespeichert", "Form Submission": "Antworten", "Format": "Format", + "Formatting Locale": "Region für Formate", "Forms": "Formulare", "Free": "Kostenlos", "From": "Von", @@ -565,6 +578,7 @@ "Group": "Gruppe", "Groups": "Gruppen", "Handle": "Handle", + "Has Section|Has Sections": "Enthält einen Abschnitt|Enthält Abschnitte", "Heading 1": "Überschrift 1", "Heading 2": "Überschrift 2", "Heading 3": "Überschrift 3", @@ -593,9 +607,9 @@ "Icon": "Icon", "Icon Set": "Icon-Set", "ID": "ID", - "ID not found": "ID nicht gefunden", "ID regenerated and Stache cleared": "ID neu generiert und Stache geleert", "If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "Falls das Klicken auf den «:actionText»-Button nicht funktioniert, kopiere die folgende URL in deinen Webbrowser:", + "Ignoring Section|Ignoring Sections": "Abschnitt wird ignoriert|Abschnitte werden ignoriert", "Image": "Bild", "Image Cache": "Cache für Bilder", "Image cache cleared.": "Bild-Cache wurde geleert.", @@ -641,6 +655,7 @@ "Item could not be deleted": "Element konnte nicht gelöscht werden", "Item deleted|Items deleted": "Element gelöscht|Elemente gelöscht", "Items could not be deleted": "Elemente konnten nicht gelöscht werden", + "Keep imported sections as-is.": "Importierte Abschnitte unverändert übernehmen.", "Key": "Schlüssel", "Key Mappings": "Tastaturbefehle", "Keyed": "schlüsselbasiert", @@ -716,6 +731,7 @@ "Maximum items selected:": "Maximale Anzahl ausgewählt:", "Maximum Rows": "Maximale Anzahl Zeilen", "Media": "Medien", + "Merge all fields into this section.": "Alle Felder in diesen Abschnitt zusammenführen.", "Merge Cells": "Zellen verbinden", "Min": "Minimum", "Min Files": "Minimale Dateiauswahl", @@ -765,8 +781,8 @@ "No matching passkey found": "Kein passender Passkey gefunden", "No options available.": "Keine Optionen verfügbar.", "No options to choose from.": "Keine Optionen zur Auswahl.", - "No results": "Keine Resultate", - "No results found!": "Keine Resultate gefunden!", + "No results": "Keine Ergebnisse", + "No results found!": "Keine Ergebnisse gefunden!", "No revisions": "Keine Revisionen", "No sets available": "Keine Sets verfügbar", "No templates to choose from.": "Keine Templates zur Auswahl.", @@ -803,10 +819,12 @@ "Origin": "Quelle", "Origin Behavior": "Herkunftsverhalten", "Other": "Andere", + "Output format": "Ausgabeformat", "Override Alt": "Alt-Text überschreiben", "Pages": "Seiten", "Parser": "Parser", "Passkey": "Passkey", + "Passkey deleted.": "Passkey gelöscht.", "Passkeys": "Passkeys", "Password": "Passwort", "Password changed": "Passwort geändert", @@ -826,6 +844,7 @@ "Pinned Item": "Angeheftetes Element", "Placeholder": "Platzhalter", "Playground": "Playground", + "Please select...": "Bitte wählen…", "Pop in": "Zurück ins Hauptfenster", "Pop out": "Eigenes Fenster", "Port": "Port", @@ -834,6 +853,7 @@ "Preferences by Role": "Einstellungen nach Rolle", "Prefix": "Präfix", "Prepend": "Voranstellen", + "Preserve": "Beibehalten", "Press enter to access additional save options": "Für zusätzliche Speicheroptionen Enter drücken.", "Preview": "Vorschau", "Preview Image": "Vorschaubild", @@ -846,12 +866,14 @@ "Propagate": "Verbreiten", "Properties": "Eigenschaften", "Protected Page": "Geschützte Seite", + "Provider": "Dienst", "Publish": "Veröffentlichen", "Publish by Default": "Standardmässig veröffentlichen", "Publish Date": "Erscheinungsdatum", "Publish Entry|Publish :count Entries": "Eintrag veröffentlichen|:count Einträge veröffentlichen", "Publish Now": "Jetzt veröffentlichen", "Published": "Veröffentlicht", + "Quality": "Qualität", "Query Scopes": "Query-Scopes", "Range": "Von\/Bis-Modus", "Raster image": "Pixelbild", @@ -863,6 +885,7 @@ "Records": "Aufzeichnungen", "Recovery Code": "Wiederherstellungscode", "Recovery Codes": "Wiederherstellungscodes", + "Recovery codes regenerated.": "Wiederherstellungscodes neu generiert.", "Redirect": "Weiterleiten", "Refresh": "Aktualisieren", "Refresh recovery codes": "Wiederherstellungscodes aktualisieren", @@ -878,6 +901,7 @@ "Released on :date": "Veröffentlicht am :date", "Remember me": "Angemeldet bleiben", "Remove": "Entfernen", + "Remove :label": ":label entfernen", "Remove All": "Alle entfernen", "Remove all empty nodes": "Alle leeren Nodes entfernen", "Remove Asset": "Datei entfernen", @@ -917,6 +941,7 @@ "Restrict": "Beschränken", "Restrict to Folder": "Auf Ordner begrenzen", "Resume Your Session": "Sitzung fortsetzen", + "Return to Control Panel": "Zurück zum Control Panel", "Reupload": "Neu hochladen", "Revision": "Revision", "Revision created": "Revision erstellt", @@ -940,11 +965,12 @@ "Rulers": "Lineale", "Rules": "Regeln", "Run action|Run action on :count items": "Aktion ausführen|Aktion bei :count Elementen ausführen", + "Same as language": "Gleich wie Sprache", "Sanitize": "Bereinigen", "Save": "Speichern", - "Save & Close All": "Speichern & alle schliessen", "Save & Publish": "Speichern & Veröffentlichen", "Save & Unpublish": "Speichern & in Entwurf umwandeln", + "Save All": "Alles speichern", "Save as Copy": "Als Kopie speichern", "Save as HTML": "Als HTML speichern", "Save Changes": "Änderungen speichern", @@ -954,7 +980,7 @@ "Save Order": "Reihenfolge speichern", "Save to": "Speichern unter", "Saved": "Gespeichert", - "Scaffold Views": "Ansichten erstellen", + "Scaffold Views": "Ansichten generieren", "Schedule": "Zeitplan", "Scheduled": "Geplant", "Search": "Suchen", @@ -968,6 +994,7 @@ "Searchable": "Durchsuchbar", "Searchables": "Quellen", "Second": "Sekunde", + "Section Behavior": "Abschnittsverhalten", "Security": "Sicherheit", "Security update available": "Sicherheitsupdate verfügbar", "Select": "Auswählen", @@ -1026,12 +1053,14 @@ "Sign in with OAuth": "Mit OAuth anmelden", "Sign into your Statamic Control Panel": "Melde dich im Statamic Control Panel an.", "Sign out": "Abmelden", + "Sign-in Providers": "Anmeldedienste", "Single": "Einzel", "Site": "Website", "Site Defaults": "Standardeinstellungen der Website", "Site deleted": "Website gelöscht", "Site saved": "Website gespeichert", "Site selected.": "Website ausgewählt.", + "Site time": "Website-Zeit", "Sites": "Websites", "Size": "Grösse", "Skip to content": "Zum Inhalt springen", @@ -1117,6 +1146,7 @@ "Text & Rich Content": "Text & formatierter Inhalt", "Text item": "Text-Element", "Text view": "Text-Ansicht", + "The asset is not an image.": "Diese Datei ist kein Bild.", "the Git Integration": "Git-Integration", "The given data was invalid.": "Die angegebenen Daten sind ungültig.", "The page you are looking for could not be found.": "Die gesuchte Seite wurde nicht gefunden.", @@ -1127,12 +1157,15 @@ "These are now your default columns.": "Dies sind jetzt deine Standardspalten.", "This action is unauthorized.": "Für diese Aktion hast du keine Berechtigung.", "This collection isn't available in this site.": "Diese Sammlung ist auf dieser Website nicht verfügbar.", + "This field": "Dieses Feld", "This form is awaiting responses": "Dieses Formular wartet auf Antworten", "This is the published version": "Dies ist die veröffentlichte Version", "This is the root page": "Dies ist die Startseite", "This is the working copy": "Dies ist die Arbeitskopie", + "This month": "Dieser Monat", "This will delete the collection and all of its entries.|This will delete the collections and all of their entries.": "Dies löscht die Sammlung und alle ihre Einträge.|Dies löscht die Sammlungen und alle ihre Einträge.", "Time Enabled": "Uhrzeit aktivieren", + "Timezone": "Zeitzone", "Title": "Titel", "Today": "Heute", "Toggle": "Schalter", @@ -1151,6 +1184,8 @@ "True": "Wahr", "Try Again": "Erneut versuchen", "Two-Factor Authentication": "Zwei-Faktor-Authentifizierung", + "Two-factor authentication disabled.": "Zwei-Faktor-Authentifizierung deaktiviert.", + "Two-factor authentication enabled.": "Zwei-Faktor-Authentifizierung aktiviert.", "Type": "Typ", "Type '\/' to insert a set": "Tippe \/, um ein Set einzufügen", "Typeahead Field": "Autovervollständigung", @@ -1213,7 +1248,7 @@ "Verification Code": "Authentifizierungscode", "Video": "Video", "Video URL": "Video-URL", - "View": "Ansehen", + "View": "Anzeigen", "View additional releases": "Weitere Versionen anzeigen", "View All": "Alle anzeigen", "View All Blueprints": "Alle Blueprints anzeigen", @@ -1231,6 +1266,7 @@ "Warm Specific Presets": "Bestimmte Presets vorwärmen", "Warning! Changing a site handle may break existing site content!": "Achtung! Das Ändern des Website-Handles kann vorhandene Inhalte der Website beschädigen!", "Week": "Woche", + "White": "Weiss", "Whoops!": "Ups!", "Widgets": "Widgets", "Width": "Breite", @@ -1249,7 +1285,7 @@ "You are not authorized to edit this collection.": "Du hast keine Berechtigung, diese Sammlung zu bearbeiten.", "You are not authorized to edit this taxonomy.": "Du hast keine Berechtigung, diese Taxonomie zu bearbeiten.", "You are not authorized to run this action.": "Du hast keine Berechtigung, diese Aktion auszuführen.", - "You are not authorized to scaffold resources.": "Du hast keine Berechtigung, Ressourcen anzulegen.", + "You are not authorized to scaffold resources.": "Du hast keine Berechtigung, Ressourcen zu generieren.", "You are not authorized to view collections.": "Du hast keine Berechtigung, Sammlungen anzusehen.", "You are not authorized to view navs.": "Du hast keine Berechtigung, Navigationen anzusehen.", "You are not authorized to view this collection.": "Du hast keine Berechtigung, diese Sammlung anzusehen.", @@ -1258,5 +1294,6 @@ "You do not have permission to access this URL": "Du hast keine Berechtigung, auf diese URL zuzugreifen.", "You're already editing this item.": "Du bearbeitest diesen Eintrag bereits.", "Your Session is Expiring": "Deine Sitzung läuft ab", + "Your time": "Deine Zeitzone", "Your working copy will be replaced by the contents of this revision.": "Deine aktuelle Arbeitskopie wird mit dem Inhalt dieser Revision ersetzt." } diff --git a/lang/de_CH/dictionary-currencies.php b/lang/de_CH/dictionary-currencies.php index 933865778ef..12bdf44b901 100644 --- a/lang/de_CH/dictionary-currencies.php +++ b/lang/de_CH/dictionary-currencies.php @@ -5,16 +5,22 @@ 'AFN' => 'Afghanischer Afghani', 'ALL' => 'Albanischer Lek', 'AMD' => 'Armenischer Dram', + 'AOA' => 'Angolanische Kwanza', 'ARS' => 'Argentinischer Peso', 'AUD' => 'Australischer Dollar', + 'AWG' => 'Arubischer Florin', 'AZN' => 'Aserbaidschanischer Manat', 'BAM' => 'Bosnisch-herzegowinischer konvertibler Mark', + 'BBD' => 'Barbadischer Dollar', 'BDT' => 'Bangladeschischer Taka', 'BHD' => 'Bahrainer Dinar', 'BIF' => 'Burundischer Franc', + 'BMD' => 'Bermudischer Dollar', 'BND' => 'Bruneischer Dollar', 'BOB' => 'Bolivianischer Boliviano', 'BRL' => 'Brasilianischer Real', + 'BSD' => 'Bahamischer Dollar', + 'BTN' => 'Bhutanischer Ngultrum', 'BWP' => 'Botswanischer Pula', 'BYN' => 'Belarussischer Rubel', 'BZD' => 'Belize-Dollar', @@ -25,6 +31,7 @@ 'CNY' => 'Chinesischer Yuan', 'COP' => 'Kolumbianischer Peso', 'CRC' => 'Costa-Rica-Colón', + 'CUP' => 'Kubanischer Peso', 'CVE' => 'Kapverdischer Escudo', 'CZK' => 'Tschechische Krone', 'DJF' => 'Dschibutischer Franc', @@ -35,13 +42,19 @@ 'ERN' => 'Eritreischer Nakfa', 'ETB' => 'Äthiopischer Birr', 'EUR' => 'Euro', + 'FJD' => 'Fidschianischer Dollar', + 'FKP' => 'Falkland-Inseln-Pfund', 'GBP' => 'Britisches Pfund Sterling', 'GEL' => 'Georgischer Lari', 'GHS' => 'Ghanaischer Cedi', + 'GIP' => 'Gibraltarisches Pfund', + 'GMD' => 'Gambischer Dalasi', 'GNF' => 'Guineischer Franc', 'GTQ' => 'Guatemaltekischer Quetzal', + 'GYD' => 'Guyanischer Dollar', 'HKD' => 'Hongkong-Dollar', 'HNL' => 'Honduranischer Lempira', + 'HTG' => 'Haitianische Gourde', 'HUF' => 'Ungarischer Forint', 'IDR' => 'Indonesische Rupiah', 'ILS' => 'Israelischer Neuer Schekel', @@ -53,21 +66,31 @@ 'JOD' => 'Jordanischer Dinar', 'JPY' => 'Japanischer Yen', 'KES' => 'Kenianischer Schilling', + 'KGS' => 'Kirgisischer Som', 'KHR' => 'Kambodschanischer Riel', 'KMF' => 'Komorischer Franc', + 'KPW' => 'Nordkoreanischer Won', 'KRW' => 'Südkoreanischer Won', 'KWD' => 'Kuwaitischer Dinar', + 'KYD' => 'Kaiman-Inseln-Dollar', 'KZT' => 'Kasachischer Tenge', + 'LAK' => 'Laotischer Kip', 'LBP' => 'Libanesisches Pfund', 'LKR' => 'Sri-lankische Rupie', + 'LRD' => 'Liberianischer Dollar', + 'LSL' => 'Lesothischer Loti', 'LYD' => 'Libyscher Dinar', 'MAD' => 'Marokkanischer Dirham', 'MDL' => 'Moldauischer Leu', 'MGA' => 'Madagassischer Ariary', 'MKD' => 'Mazedonischer Denar', 'MMK' => 'Myanmar-Kyat', + 'MNT' => 'Mongolischer Tögrög', 'MOP' => 'Macao-Pataca', + 'MRU' => 'Mauretanischer Ouguiya', 'MUR' => 'Mauritische Rupie', + 'MVR' => 'Maledivische Rufiyaa', + 'MWK' => 'Malawischer Kwacha', 'MXN' => 'Mexikanischer Peso', 'MYR' => 'Malaysischer Ringgit', 'MZN' => 'Mosambikanischer Metical', @@ -79,7 +102,8 @@ 'NZD' => 'Neuseeland-Dollar', 'OMR' => 'Omanischer Rial', 'PAB' => 'Panamanischer Balboa', - 'PEN' => 'Peruanischer Nuevo Sol', + 'PEN' => 'Peruanischer Sol', + 'PGK' => 'Papua-Neuguineanische Kina', 'PHP' => 'Philippinischer Peso', 'PKR' => 'Pakistanische Rupie', 'PLN' => 'Polnischer Zloty', @@ -90,12 +114,22 @@ 'RUB' => 'Russischer Rubel', 'RWF' => 'Ruandischer Franc', 'SAR' => 'Saudi-arabischer Riyal', + 'SBD' => 'Salomonischer Dollar', + 'SCR' => 'Seychellische Rupie', 'SDG' => 'Sudanesisches Pfund', 'SEK' => 'Schwedische Krone', 'SGD' => 'Singapur-Dollar', + 'SHP' => 'Sankt-Helena-Pfund', + 'SLE' => 'Sierra-leonischer Leone', 'SOS' => 'Somalischer Schilling', + 'SRD' => 'Surinamischer Dollar', + 'SSP' => 'Südsudanesisches Pfund', + 'STN' => 'São-toméischer Dobra', 'SYP' => 'Syrisches Pfund', + 'SZL' => 'Swasiländischer Lilangeni', 'THB' => 'Thailändischer Baht', + 'TJS' => 'Tadschikischer Somoni', + 'TMT' => 'Turkmenischer Manat', 'TND' => 'Tunesischer Dinar', 'TOP' => 'Tonganischer Paʻanga', 'TRY' => 'Türkische Lira', @@ -107,10 +141,16 @@ 'USD' => 'US-Dollar', 'UYU' => 'Uruguayischer Peso', 'UZS' => 'Usbekischer Som', + 'VED' => 'Venezolanischer Digitaler Bolívar', 'VES' => 'Venezolanischer Bolívar Soberano', 'VND' => 'Vietnamesischer Dong', + 'VUV' => 'Vanuatischer Vatu', + 'WST' => 'Samoanischer Tala', 'XAF' => 'CFA-Franc BEAC', + 'XCD' => 'Ostkaribischer Dollar', + 'XCG' => 'Karibischer Gulden', 'XOF' => 'CFA-Franc BCEAO', + 'XPF' => 'CFP-Franc', 'YER' => 'Jemenitischer Rial', 'ZAR' => 'Südafrikanischer Rand', 'ZMW' => 'Sambischer Kwacha', diff --git a/lang/de_CH/fieldtypes.php b/lang/de_CH/fieldtypes.php index 4d10dec51f4..2ba8684d3ba 100644 --- a/lang/de_CH/fieldtypes.php +++ b/lang/de_CH/fieldtypes.php @@ -48,7 +48,7 @@ 'bard.config.word_count' => 'Blendet die Anzahl Wörter unter dem Feld ein.', 'bard.title' => 'Bard', 'button_group.title' => 'Button-Gruppe', - 'checkboxes.config.inline' => 'Checkboxen in einer Reihe anzeigen.', + 'checkboxes.config.appearance' => 'Lege fest, wie die Checkboxen dargestellt werden.', 'checkboxes.config.options' => 'Array-Schlüssel und ihre optionalen Beschriftungen festlegen.', 'checkboxes.title' => 'Checkboxen', 'code.config.color_mode' => 'Bevorzugten Farbmodus auswählen.', @@ -78,6 +78,7 @@ 'date.config.number_of_months' => 'Anzahl der gleichzeitig sichtbaren Monate festlegen.', 'date.config.time_enabled' => 'Aktiviert den Timepicker.', 'date.config.time_seconds_enabled' => 'Sekunden im Timepicker einblenden.', + 'date.config.timezone' => 'Die Zeitzone, in der Datumsangaben angezeigt und eingegeben werden. Standardmässig wird die lokale Zeitzone des Browsers verwendet.', 'date.title' => 'Datum', 'dictionary.config.dictionary' => 'Das Wörterbuch, aus dem du Optionen beziehen möchtest.', 'dictionary.file.config.filename' => 'Der Dateiname, der deine Optionen enthält, relativ zum Verzeichnis `resources/dictionaries`.', @@ -119,7 +120,9 @@ 'integer.title' => 'Ganzzahl', 'link.config.collections' => 'Einträge aus diesen Sammlungen stehen zur Verfügung. Bleibt das Feld leer, können Einträge aus allen verknüpfbaren Sammlungen genutzt werden.', 'link.config.container' => 'Datei-Container für dieses Feld auswählen.', + 'link.config.default_option' => 'Die Standardoption für den Link-Typ, sofern diese in der Konfiguration des Feldtyps verfügbar ist.', 'link.title' => 'Link', + 'list.config.add_row' => 'Beschriftung des «Element hinzufügen»-Buttons anpassen.', 'list.title' => 'Liste', 'markdown.config.automatic_line_breaks' => 'Aktiviert automatische Zeilenumbrüche.', 'markdown.config.automatic_links' => 'Aktiviert die automatische Verlinkung beliebiger URLs.', @@ -140,7 +143,7 @@ 'picker.category.special.description' => 'Diese Felder sind besonders, jedes auf seine Weise.', 'picker.category.structured.description' => 'Diese Felder speichern strukturierte Daten. Einige können sogar andere Felder in sich selbst verschachteln.', 'picker.category.text.description' => 'Diese Felder speichern Text, formatierten Inhalt oder beides.', - 'radio.config.inline' => 'Radio-Buttons in einer Reihe anzeigen.', + 'radio.config.appearance' => 'Lege fest, wie die Radio-Buttons dargestellt werden.', 'radio.config.options' => 'Array-Schlüssel und ihre optionalen Beschriftungen festlegen.', 'radio.title' => 'Radio', 'range.config.append' => 'Text auf der rechten Seite des Schiebereglers hinzufügen.', diff --git a/lang/de_CH/messages.php b/lang/de_CH/messages.php index c1eb0238131..210b629bbce 100644 --- a/lang/de_CH/messages.php +++ b/lang/de_CH/messages.php @@ -46,9 +46,9 @@ 'collection_next_steps_blueprints_description' => 'Verwalte die Blueprints und Felder dieser Sammlung. Strukturiere sie mit Fieldsets.', 'collection_next_steps_configure_description' => 'Konfiguriere URLs und Routen, lege Blueprints fest, bestimme das Datumsverhalten, die Reihenfolge und weitere Optionen.', 'collection_next_steps_create_entry_description' => 'Erstelle den ersten Eintrag oder lege einige Platzhalter-Einträge an – ganz nach deinen Bedürfnissen.', - 'collection_next_steps_scaffold_description' => 'Erstelle mit einem Klick aus dem Namen der Sammlung Ansichten für Index- und Detailseiten.', + 'collection_next_steps_scaffold_description' => 'Generiere mit einem Klick aus dem Namen der Sammlung Ansichten für Index- und Detailseiten.', 'collection_revisions_instructions' => 'Revisionen für diese Sammlung aktivieren.', - 'collection_scaffold_instructions' => 'Wähle und konfiguriere die Ansichten, die erstellt werden sollen. Bereits vorhandene Dateien bleiben erhalten.', + 'collection_scaffold_instructions' => 'Wähle und konfiguriere die Ansichten, die generiert werden sollen. Bereits vorhandene Dateien werden nicht überschrieben.', 'collections_blueprint_instructions' => 'Einträge in dieser Sammlung können jedes dieser Blueprints verwenden.', 'collections_default_publish_state_instructions' => 'Beim Erstellen neuer Einträge in dieser Sammlung wird der Schalter für die Veröffentlichung standardmässig auf *true* gesetzt anstatt auf *false* (Entwurf).', 'collections_future_date_behavior_instructions' => 'Wie sollen sich Einträge mit einem zukünftigen Datum verhalten?', @@ -61,6 +61,8 @@ 'collections_route_instructions' => 'Die Route steuert das URL-Muster der Einträge. Mehr dazu in der [Dokumentation](https://statamic.dev/collections#routing).', 'collections_sort_direction_instructions' => 'Voreinstellung für die Sortierrichtung.', 'collections_taxonomies_instructions' => 'Einträge dieser Sammlung mit Taxonomien verknüpfen. Die Felder werden automatisch den Formularen hinzugefügt.', + 'crop_jpeg_background_help' => 'JPEG unterstützt keine Transparenz – transparente Bereiche werden mit dieser Farbe gefüllt.', + 'crop_replace_unavailable_format' => 'Das Original kann nur ersetzt werden, wenn das Format gleich bleibt.', 'crop_save_as_copy_confirm' => 'Das zugeschnittene Bild als neue Kopie speichern?', 'crop_save_copy_or_replace' => 'Möchtest du dies als neue Kopie speichern oder das Originalbild ersetzen?', 'dictionaries_countries_emojis_instructions' => 'Flaggen-Emojis in Ländernamen einbeziehen.', @@ -86,7 +88,7 @@ 'entry_count' => ':count Eintrag|:count Einträge', 'entry_origin_instructions' => 'Die neue Lokalisierung übernimmt die Werte vom Eintrag der ausgewählten Website.', 'expect_root_instructions' => 'Die erste Seite im Seitenbaum als Root oder Startseite behandeln.', - 'field_conditions_always_save_instructions' => 'Wert dieses Feldes immer speichern, auch wenn es ausgeblendet ist.', + 'field_conditions_always_save_instructions' => 'Feldwert immer speichern, auch wenn das Feld ausgeblendet ist.', 'field_conditions_field_instructions' => 'Du kannst jeden «Handle» eingeben und bist nicht auf die Optionen im Dropdown beschränkt.', 'field_conditions_instructions' => 'Wann soll dieses Feld ein- oder ausgeblendet werden?', 'field_desynced_from_origin' => 'Weicht von der Quelle ab. Zum Zurücksetzen auf den ursprünglichen Wert klicken.', @@ -108,6 +110,7 @@ 'fields_visibility_instructions' => 'Anzeige des Feldes in Formularen festlegen.', 'fieldset_import_fieldset_instructions' => 'Fieldset auswählen, das importiert werden soll.', 'fieldset_import_prefix_instructions' => 'Beim Import jedem Feld ein Präfix hinzufügen (z.B. `hero_`).', + 'fieldset_import_section_behavior_instructions' => 'Legt fest, ob die Abschnitte aus dem importierten Fieldset beibehalten oder in diesen Abschnitt integriert werden.', 'fieldset_intro' => 'Fieldsets sind optionale Begleiter zu Blueprints und dienen als wiederverwendbare Partials innerhalb von Blueprints.', 'fieldset_link_fields_prefix_instructions' => 'Jedem Feld im verknüpften Fieldset diesen Wert als Präfix voranstellen. Nützlich, um dieselben Felder mehrfach zu importieren.', 'fieldsets_handle_instructions' => 'Dient an anderer Stelle als Referenz für dieses Fieldset. Dies lässt sich später nicht ohne Weiteres ändern.', @@ -137,6 +140,7 @@ 'form_configure_store_instructions' => 'Deaktivieren, um Antworten nicht mehr zu speichern. Ereignisse und E-Mail-Benachrichtigungen bleiben aktiv.', 'form_configure_title_instructions' => 'Verwende einen Call to Action wie «Kontaktiere uns».', 'form_create_description' => 'Starte mit dem Anlegen deines ersten Formulars.', + 'form_export_filtered_description' => 'Exportiert die Antworten mit den aktuellen Filtern und den sichtbaren Spalten.', 'getting_started_widget_collections' => 'Sammlungen fassen die verschiedenen Inhaltstypen deiner Website zusammen und helfen dir, den Überblick zu behalten.', 'getting_started_widget_docs' => 'Entdecke alle Funktionen von Statamic und lerne, wie du die leistungsstarken Features richtig einsetzen kannst.', 'getting_started_widget_header' => 'Erste Schritte mit Statamic', @@ -185,6 +189,12 @@ 'navigation_documentation_instructions' => 'Lerne, wie du Navigationen erstellst, einrichtest und darstellst.', 'navigation_link_to_entry_instructions' => 'Füge einen Link zu einem Eintrag hinzu. Aktiviere das Verknüpfen auf weitere Sammlungen im Konfigurationsbereich.', 'navigation_link_to_url_instructions' => 'Füge einen Link zu einer internen oder externen URL hinzu und erlaube in den Einstellungen das Verknüpfen mit Einträgen.', + 'oauth_already_connected' => 'Dein :provider-Konto ist bereits verknüpft.', + 'oauth_belongs_to_another_user' => 'Dieses :provider-Konto ist bereits mit einem anderen Account verknüpft.', + 'oauth_connect_unsupported' => 'Dieser Dienst unterstützt keine Kontoverknüpfung.', + 'oauth_connected' => 'Dein :provider-Konto wurde verknüpft.', + 'oauth_disconnected' => 'Dein :provider-Konto wurde getrennt.', + 'oauth_email_exists' => 'Ein Konto mit dieser E-Mail-Adresse existiert bereits. Melde dich an und verknüpfe diesen Dienst in deinen Kontoeinstellungen.', 'outpost_error_422' => 'Fehler bei der Kommunikation mit statamic.com.', 'outpost_error_429' => 'Zu viele Anfragen auf statamic.com.', 'outpost_issue_try_later' => 'Es gab ein Problem bei der Kommunikation mit statamic.com. Bitte versuche es später erneut.', @@ -199,15 +209,18 @@ 'phpinfo_utility_description' => 'Überprüfe die PHP-Konfiguration und die installierten Module.', 'plus_count_more' => '+ :count mehr', 'preference_confirm_dirty_navigation_instructions' => 'Warnung einblenden, wenn ungespeicherte Änderungen beim Verlassen der Seite verloren gehen.', - 'preference_locale_instructions' => 'Die bevorzugte Sprache für das Control Panel.', - 'preference_start_page_instructions' => 'Die Seite, die beim Anmelden ins Control Panel angezeigt wird.', + 'preference_formatting_locale_instructions' => 'Legt die Region für Datums- und Zahlenformate im Control Panel fest.', + 'preference_formatting_locale_invalid' => 'Bitte gib ein gültiges Sprachkürzel ein.', + 'preference_locale_instructions' => 'Legt die bevorzugte Sprache für das Control Panel fest.', + 'preference_start_page_instructions' => 'Legt die Seite fest, die nach der Anmeldung im Control Panel angezeigt wird.', 'preference_strict_accessibility_instructions' => 'Wir haben das Control Panel mit Blick auf Barrierefreiheit gestaltet und uns bemüht, die WCAG 2.2-Richtlinien so weit wie möglich einzuhalten. Mit dieser Option kannst du strengere Barrierefreiheitsregeln anwenden, indem der Rahmenkontrast bei Eingabefeldern erhöht wird.', 'preference_theme_instructions' => 'Farben und Erscheinungsbild des Control Panel anpassen.', 'publish_actions_create_revision' => 'Aus der Arbeitskopie wird eine neue Revision erstellt. Die bestehende Revision bleibt dabei unverändert.', 'publish_actions_current_becomes_draft_because_scheduled' => 'Die aktuelle Version ist bereits veröffentlicht und du hast ein Datum in der Zukunft ausgewählt. Deshalb wird nach dem Absenden die neue Revision bis zu diesem Datum wie ein Entwurf behandelt.', - 'publish_actions_publish' => 'Änderungen aus der Arbeitskopie werden übernommen und der Eintrag wird sofort veröffentlicht.', - 'publish_actions_schedule' => 'Änderungen aus der Arbeitskopie werden übernommen und der Eintrag wird am ausgewählten Datum automatisch veröffentlicht.', + 'publish_actions_publish' => 'Die Änderungen der Arbeitskopie werden auf den Eintrag übertragen und sofort veröffentlicht.', + 'publish_actions_schedule' => 'Die Änderungen der Arbeitskopie werden auf den Eintrag übertragen und am ausgewählten Datum veröffentlicht.', 'publish_actions_unpublish' => 'Die aktuelle Version wird nicht mehr veröffentlicht und stattdessen als Entwurf gespeichert.', + 'relationship_item_unavailable' => 'Dieses Element ist nicht verfügbar. Möglicherweise wurde es gelöscht oder du hast keine Berechtigung, es anzusehen.', 'reset_password_notification_body' => 'Du erhältst diese E-Mail, weil wir für dein Konto eine Anfrage zum Zurücksetzen des Passworts erhalten haben.', 'reset_password_notification_no_action' => 'Sollte die Anfrage zum Zurücksetzen des Passworts nicht von dir stammen, sind keine weiteren Massnahmen erforderlich.', 'reset_password_notification_subject' => 'Passwort zurücksetzen', @@ -222,6 +235,8 @@ 'selections_item_unselected' => ':title ist nicht ausgewählt. Zum Auswählen klicken.', 'selections_limit_reached' => 'Das Auswahllimit ist erreicht. :title kann nicht mehr ausgewählt werden.', 'selections_select_all' => ':selected von :total Elemente ausgewählt. Zum Auswählen aller Elemente das Häkchen setzen.', + 'session_expiry_dismissed_banner' => 'Deine Sitzung läuft bald ab. Klicke hier, um sie zu verlängern und angemeldet zu bleiben.', + 'session_expiry_dismissed_login_banner' => 'Deine Sitzung ist abgelaufen. Klicke hier, um dich erneut anzumelden.', 'session_expiry_enter_password' => 'Gib dein Passwort ein, um fortzufahren.', 'session_expiry_enter_two_factor_code' => 'Gib deinen Authentifizierungscode ein, um fortzufahren.', 'session_expiry_enter_two_factor_recovery_code' => 'Gib einen Wiederherstellungscode ein, um fortzufahren.', @@ -252,6 +267,7 @@ 'taxonomy_next_steps_configure_description' => 'Konfiguriere Namen, verknüpfe Sammlungen, lege Blueprints fest und vieles mehr.', 'taxonomy_next_steps_create_term_description' => 'Erstelle den ersten Begriff oder lege einige Platzhalterbegriffe an – ganz wie du möchtest.', 'theme_share_instructions' => 'Veröffentliche dieses Thema über dein statamic.com-Konto, um es anderen verfügbar zu machen.', + 'tree_aria_instructions' => 'Verwende die Pfeiltasten zum Navigieren. Zum Neuanordnen Alt + Pfeiltaste drücken.', 'try_again_in_minutes' => 'Versuche es in einer Minute erneut.|Versuche es in :count Minuten erneut.', 'try_again_in_seconds' => '{0,1}Versuche es jetzt erneut.|Versuche es in :count Sekunden erneut.', 'two_factor_account_requirement' => 'Dein Konto erfordert die Zwei-Faktor-Authentifizierung. Bitte aktiviere sie, bevor du fortfährst.', diff --git a/lang/de_CH/permissions.php b/lang/de_CH/permissions.php index 76b8703472c..82b4e2a63c4 100644 --- a/lang/de_CH/permissions.php +++ b/lang/de_CH/permissions.php @@ -78,6 +78,7 @@ 'assign_user_groups' => 'Gruppen zuweisen', 'assign_roles' => 'Rollen zuweisen', 'impersonate_users' => 'Als andere Benutzer:in anmelden (Impersonate)', + 'impersonate_users_desc' => 'Erlaubt das Einloggen als beliebige Benutzer:in – einschliesslich Super-Admins. Vergib diese Berechtigung nur mit großer Vorsicht.', 'group_updates' => 'Updates', 'view_updates' => 'Updates anzeigen', 'group_addons' => 'Add-ons', diff --git a/lang/de_CH/validation.php b/lang/de_CH/validation.php index 8d02cca99f4..23c0ebf6463 100644 --- a/lang/de_CH/validation.php +++ b/lang/de_CH/validation.php @@ -131,6 +131,7 @@ 'date_fieldtype_time_required' => 'Eine Zeitangabe ist erforderlich.', 'duplicate_field_handle' => 'Ein Feld mit dem Handle «:handle» existiert bereits.', 'duplicate_uri' => 'Doppelte URI: :value.', + 'elevated_session_resend_code_unavailable' => 'Die Option «Code erneut senden» ist nur für die Methode mit Bestätigungscode verfügbar.', 'elevated_session_verification_code' => 'Der Authentifizierungscode ist falsch.', 'email_available' => 'Eine Benutzer:in mit dieser E-Mail-Adresse existiert bereits.', 'fieldset_imported_recursively' => 'Fieldset :handle wird rekursiv importiert.', diff --git a/lang/en/dictionary-currencies.php b/lang/en/dictionary-currencies.php index 18df0474db7..e37c2c2b8d9 100644 --- a/lang/en/dictionary-currencies.php +++ b/lang/en/dictionary-currencies.php @@ -5,16 +5,22 @@ 'AFN' => 'Afghan Afghani', 'ALL' => 'Albanian Lek', 'AMD' => 'Armenian Dram', + 'AOA' => 'Angolan Kwanza', 'ARS' => 'Argentine Peso', 'AUD' => 'Australian Dollar', + 'AWG' => 'Aruban Florin', 'AZN' => 'Azerbaijani Manat', 'BAM' => 'Bosnia-Herzegovina Convertible Mark', + 'BBD' => 'Barbadian Dollar', 'BDT' => 'Bangladeshi Taka', 'BHD' => 'Bahraini Dinar', 'BIF' => 'Burundian Franc', + 'BMD' => 'Bermudian Dollar', 'BND' => 'Brunei Dollar', 'BOB' => 'Bolivian Boliviano', 'BRL' => 'Brazilian Real', + 'BSD' => 'Bahamian Dollar', + 'BTN' => 'Bhutanese Ngultrum', 'BWP' => 'Botswanan Pula', 'BYN' => 'Belarusian Ruble', 'BZD' => 'Belize Dollar', @@ -25,8 +31,9 @@ 'CNY' => 'Chinese Yuan', 'COP' => 'Colombian Peso', 'CRC' => 'Costa Rican Colón', + 'CUP' => 'Cuban Peso', 'CVE' => 'Cape Verdean Escudo', - 'CZK' => 'Czech Republic Koruna', + 'CZK' => 'Czech Koruna', 'DJF' => 'Djiboutian Franc', 'DKK' => 'Danish Krone', 'DOP' => 'Dominican Peso', @@ -35,16 +42,22 @@ 'ERN' => 'Eritrean Nakfa', 'ETB' => 'Ethiopian Birr', 'EUR' => 'Euro', + 'FJD' => 'Fijian Dollar', + 'FKP' => 'Falkland Islands Pound', 'GBP' => 'British Pound Sterling', 'GEL' => 'Georgian Lari', 'GHS' => 'Ghanaian Cedi', + 'GIP' => 'Gibraltar Pound', + 'GMD' => 'Gambian Dalasi', 'GNF' => 'Guinean Franc', 'GTQ' => 'Guatemalan Quetzal', + 'GYD' => 'Guyanese Dollar', 'HKD' => 'Hong Kong Dollar', 'HNL' => 'Honduran Lempira', + 'HTG' => 'Haitian Gourde', 'HUF' => 'Hungarian Forint', 'IDR' => 'Indonesian Rupiah', - 'ILS' => 'Israeli New Sheqel', + 'ILS' => 'Israeli New Shekel', 'INR' => 'Indian Rupee', 'IQD' => 'Iraqi Dinar', 'IRR' => 'Iranian Rial', @@ -53,21 +66,31 @@ 'JOD' => 'Jordanian Dinar', 'JPY' => 'Japanese Yen', 'KES' => 'Kenyan Shilling', + 'KGS' => 'Kyrgyz Som', 'KHR' => 'Cambodian Riel', 'KMF' => 'Comorian Franc', + 'KPW' => 'North Korean Won', 'KRW' => 'South Korean Won', 'KWD' => 'Kuwaiti Dinar', + 'KYD' => 'Cayman Islands Dollar', 'KZT' => 'Kazakhstani Tenge', + 'LAK' => 'Lao Kip', 'LBP' => 'Lebanese Pound', 'LKR' => 'Sri Lankan Rupee', + 'LRD' => 'Liberian Dollar', + 'LSL' => 'Lesotho Loti', 'LYD' => 'Libyan Dinar', 'MAD' => 'Moroccan Dirham', 'MDL' => 'Moldovan Leu', 'MGA' => 'Malagasy Ariary', 'MKD' => 'Macedonian Denar', - 'MMK' => 'Myanma Kyat', + 'MMK' => 'Myanmar Kyat', + 'MNT' => 'Mongolian Tugrik', 'MOP' => 'Macanese Pataca', + 'MRU' => 'Mauritanian Ouguiya', 'MUR' => 'Mauritian Rupee', + 'MVR' => 'Maldivian Rufiyaa', + 'MWK' => 'Malawian Kwacha', 'MXN' => 'Mexican Peso', 'MYR' => 'Malaysian Ringgit', 'MZN' => 'Mozambican Metical', @@ -79,23 +102,34 @@ 'NZD' => 'New Zealand Dollar', 'OMR' => 'Omani Rial', 'PAB' => 'Panamanian Balboa', - 'PEN' => 'Peruvian Nuevo Sol', + 'PEN' => 'Peruvian Sol', + 'PGK' => 'Papua New Guinean Kina', 'PHP' => 'Philippine Peso', 'PKR' => 'Pakistani Rupee', 'PLN' => 'Polish Zloty', 'PYG' => 'Paraguayan Guarani', - 'QAR' => 'Qatari Rial', + 'QAR' => 'Qatari Riyal', 'RON' => 'Romanian Leu', 'RSD' => 'Serbian Dinar', 'RUB' => 'Russian Ruble', 'RWF' => 'Rwandan Franc', 'SAR' => 'Saudi Riyal', + 'SBD' => 'Solomon Islands Dollar', + 'SCR' => 'Seychellois Rupee', 'SDG' => 'Sudanese Pound', 'SEK' => 'Swedish Krona', 'SGD' => 'Singapore Dollar', + 'SHP' => 'Saint Helena Pound', + 'SLE' => 'Sierra Leonean Leone', 'SOS' => 'Somali Shilling', + 'SRD' => 'Surinamese Dollar', + 'SSP' => 'South Sudanese Pound', + 'STN' => 'São Tomé and Príncipe Dobra', 'SYP' => 'Syrian Pound', + 'SZL' => 'Swazi Lilangeni', 'THB' => 'Thai Baht', + 'TJS' => 'Tajikistani Somoni', + 'TMT' => 'Turkmenistani Manat', 'TND' => 'Tunisian Dinar', 'TOP' => 'Tongan Paʻanga', 'TRY' => 'Turkish Lira', @@ -106,11 +140,17 @@ 'UGX' => 'Ugandan Shilling', 'USD' => 'US Dollar', 'UYU' => 'Uruguayan Peso', - 'UZS' => 'Uzbekistan Som', - 'VES' => 'Venezuelan Bolívar Soberano', + 'UZS' => 'Uzbekistani Som', + 'VED' => 'Venezuelan Digital Bolívar', + 'VES' => 'Venezuelan Sovereign Bolívar', 'VND' => 'Vietnamese Dong', - 'XAF' => 'CFA Franc BEAC', - 'XOF' => 'CFA Franc BCEAO', + 'VUV' => 'Vanuatu Vatu', + 'WST' => 'Samoan Tala', + 'XAF' => 'Central African CFA Franc', + 'XCD' => 'Eastern Caribbean Dollar', + 'XCG' => 'Caribbean Guilder', + 'XOF' => 'West African CFA Franc', + 'XPF' => 'CFP Franc', 'YER' => 'Yemeni Rial', 'ZAR' => 'South African Rand', 'ZMW' => 'Zambian Kwacha', diff --git a/lang/en/fieldtypes.php b/lang/en/fieldtypes.php index f7832118263..df2ed07b900 100644 --- a/lang/en/fieldtypes.php +++ b/lang/en/fieldtypes.php @@ -5,7 +5,7 @@ 'any.config.cast_booleans' => 'Options with values of true and false will be saved as booleans.', 'any.config.mode' => 'Choose your preferred UI style.', 'array.config.expand' => 'Whether to save the array in the expanded format. Use this if you intend to have numeric values.', - 'array.config.keys' => 'Set the array keys (variables) and optional labels.', + 'array.config.keys' => 'Set the array keys (variables) and their optional labels.', 'array.config.mode' => 'The **dynamic** mode gives the user free control of the data, while **keyed** and **single** modes enforce strict keys.', 'array.title' => 'Array', 'assets.config.allow_uploads' => 'Allow new file uploads.', @@ -49,7 +49,7 @@ 'bard.config.word_count' => 'Show the word count at the bottom of the field.', 'bard.title' => 'Bard', 'button_group.title' => 'Button Group', - 'checkboxes.config.inline' => 'Show the checkboxes in a row.', + 'checkboxes.config.appearance' => 'Choose how the checkboxes are displayed.', 'checkboxes.config.options' => 'Set the array keys and their optional labels.', 'checkboxes.title' => 'Checkboxes', 'code.config.color_mode' => 'Choose your preferred color mode.', @@ -78,6 +78,7 @@ 'date.config.number_of_months' => 'Control how many months are shown at one time.', 'date.config.time_enabled' => 'Enable the timepicker.', 'date.config.time_seconds_enabled' => 'Show seconds in the timepicker.', + 'date.config.timezone' => 'The timezone dates will be displayed and entered in. Defaults to the browser\'s local timezone.', 'date.config.default' => 'You may specify a date using `YYYY-MM-DD`, or `now`.', 'date.title' => 'Date', 'dictionary.config.dictionary' => 'The dictionary you wish to pull options from.', @@ -120,7 +121,9 @@ 'integer.title' => 'Integer', 'link.config.collections' => 'Entries from these collections will be available. Leaving this empty will make entries from routable collections available.', 'link.config.container' => 'Choose which asset container to use for this field.', + 'link.config.default_option' => 'The default Link type option, if available for the fieldtype\'s configuration.', 'link.title' => 'Link', + 'list.config.add_row' => 'Customize the label of the "Add Item" button.', 'list.title' => 'List', 'markdown.config.automatic_line_breaks' => 'Enables automatic line breaks.', 'markdown.config.automatic_links' => 'Enables automatic linking of any URLs.', @@ -141,7 +144,7 @@ 'picker.category.special.description' => 'These fields are special, each in their own way.', 'picker.category.structured.description' => 'Fields that store structured data. Some can even nest other fields inside themselves.', 'picker.category.text.description' => 'Fields that store strings of text, rich content, or both.', - 'radio.config.inline' => 'Show the radio buttons in a row.', + 'radio.config.appearance' => 'Choose how the radio buttons are displayed.', 'radio.config.options' => 'Set the array keys and their optional labels.', 'radio.title' => 'Radio', 'range.config.append' => 'Add text to the end (right-side) of the slider.', @@ -151,7 +154,7 @@ 'range.config.step' => 'The minimum size between values.', 'range.title' => 'Range', 'relationship.config.mode' => 'Choose your preferred UI style.', - 'replicator.config.button_label' => 'Add a label to the add set button.', + 'replicator.config.button_label' => 'Customize the label of the "Add Set" button.', 'replicator.config.collapse' => 'The set collapsing behavior.', 'replicator.config.collapse.accordion' => 'Only allow one set to be expanded at a time.', 'replicator.config.collapse.disabled' => 'All sets expanded by default.', @@ -161,7 +164,7 @@ 'replicator.config.previews' => 'Show a preview of the content inside a set while collapsed.', 'replicator.config.sets' => 'Sets are configurable blocks of fields that can be created and reordered as desired.', 'replicator.title' => 'Replicator', - 'revealer.config.input_label' => 'Set a label to be shown in the button or beside the toggle.', + 'revealer.config.input_label' => 'Customize the label of the "Show Fields" button, or the label beside the toggle.', 'revealer.config.mode' => 'Choose your preferred UI style.', 'revealer.title' => 'Revealer', 'section.title' => 'Section', diff --git a/lang/en/messages.php b/lang/en/messages.php index 42d340c728b..f6339ba62df 100644 --- a/lang/en/messages.php +++ b/lang/en/messages.php @@ -61,6 +61,8 @@ 'collections_route_instructions' => 'The route controls the entries URL pattern. Learn more in the [documentation](https://statamic.dev/collections#routing).', 'collections_sort_direction_instructions' => 'The default sort direction.', 'collections_taxonomies_instructions' => 'Connect entries in this collection to taxonomies. Fields will be automatically added to publish forms.', + 'crop_jpeg_background_help' => 'JPEG does not support transparency — transparent areas will be filled with this color.', + 'crop_replace_unavailable_format' => 'The original can only be replaced when keeping the same format.', 'crop_save_as_copy_confirm' => 'Save the cropped image as a new copy?', 'crop_save_copy_or_replace' => 'Would you like to save this as a new copy or replace the original image?', 'dictionaries_countries_emojis_instructions' => 'Include flag emojis in country labels.', @@ -107,6 +109,7 @@ 'fields_visibility_instructions' => 'Control field visibility on publish forms.', 'fieldset_import_fieldset_instructions' => 'The fieldset to be imported.', 'fieldset_import_prefix_instructions' => 'Apply a prefix to each field when they are imported. e.g. hero_', + 'fieldset_import_section_behavior_instructions' => 'Choose whether imported fieldset sections should be preserved or flattened into this section.', 'fieldset_intro' => 'Fieldsets are an optional companion to blueprints, acting as reusable partials that can be used within blueprints.', 'fieldset_link_fields_prefix_instructions' => 'Prefix each field in the linked fieldset with this value. Useful for importing the same fields multiple times.', 'fieldsets_handle_instructions' => 'Used to reference this fieldset elsewhere. This cannot be easily changed later.', @@ -136,6 +139,7 @@ 'form_configure_store_instructions' => 'Disable to stop storing submissions. Events and email notifications will still be sent.', 'form_configure_title_instructions' => 'Use a call to action, such as \'Contact Us\'.', 'form_create_description' => 'Get started by creating your first form.', + 'form_export_filtered_description' => 'Exports submissions with current filters and visible columns.', 'getting_started_widget_collections' => 'Collections hold the different content types that make up your site, helping you stay organized.', 'getting_started_widget_docs' => 'Discover everything Statamic can do, and learn how to use its powerful features the right way.', 'getting_started_widget_header' => 'Getting Started with Statamic', @@ -184,6 +188,12 @@ 'navigation_documentation_instructions' => 'Learn about building, configuring, and rendering navigations', 'navigation_link_to_entry_instructions' => 'Add a link to an entry. Enable linking to additional collections in the config area.', 'navigation_link_to_url_instructions' => 'Add a link to any internal or external URL. Enable linking to entries in the config area.', + 'oauth_already_connected' => 'Your :provider account is already connected.', + 'oauth_belongs_to_another_user' => 'This :provider account is already connected to a different user.', + 'oauth_connect_unsupported' => 'This provider does not support connecting accounts.', + 'oauth_connected' => 'Connected your :provider account.', + 'oauth_disconnected' => 'Disconnected your :provider account.', + 'oauth_email_exists' => 'An account with this email address already exists. Sign in and connect this provider from your account settings.', 'outpost_error_422' => 'Error communicating with statamic.com.', 'outpost_error_429' => 'Too many requests to statamic.com.', 'outpost_issue_try_later' => 'There was an issue communicating with statamic.com. Please try again later.', @@ -198,6 +208,8 @@ 'phpinfo_utility_description' => 'Check PHP configuration settings and installed modules.', 'plus_count_more' => '+ :count more', 'preference_confirm_dirty_navigation_instructions' => 'Whether you should get a warning when trying to leave the page when there are unsaved changes.', + 'preference_formatting_locale_invalid' => 'Please enter a valid locale code.', + 'preference_formatting_locale_instructions' => 'The locale used for formatting values in the control panel, such as dates and numbers.', 'preference_locale_instructions' => 'The preferred language for the control panel.', 'preference_start_page_instructions' => 'The page to be shown when logging into the control panel.', 'preference_strict_accessibility_instructions' => 'We\'ve designed the control panel with accessibility in mind, aiming to meet WCAG 2.2 guidelines where possible. Enable this option to apply stricter accessibility rules by increasing form border contrast.', @@ -207,6 +219,7 @@ 'publish_actions_publish' => 'Changes to the working copy will be applied to the entry and it will be published immediately.', 'publish_actions_schedule' => 'Changes to the working copy will be applied to the entry and it will appear published on the selected date.', 'publish_actions_unpublish' => 'The current revision will be unpublished.', + 'relationship_item_unavailable' => 'This item is unavailable. It may have been deleted, or you may not have permission to view it.', 'reset_password_notification_body' => 'You are receiving this email because we received a password reset request for your account.', 'reset_password_notification_no_action' => 'If you did not request a password reset, no further action is required.', 'reset_password_notification_subject' => 'Reset Password Notification', @@ -221,6 +234,8 @@ 'selections_item_unselected' => ':title is not selected. Click to select.', 'selections_limit_reached' => 'Selection limit reached. Cannot select :title', 'selections_select_all' => ':selected of :total items selected. Check to select all items.', + 'session_expiry_dismissed_banner' => 'Your session is about to expire. Click here to extend it and stay signed in.', + 'session_expiry_dismissed_login_banner' => 'Your session has expired. Click here to log back in.', 'session_expiry_enter_password' => 'Enter your password to continue.', 'session_expiry_enter_two_factor_code' => 'Enter your authenticator code to continue.', 'session_expiry_enter_two_factor_recovery_code' => 'Enter a recovery code to continue.', @@ -253,6 +268,7 @@ 'theme_share_instructions' => 'Publish this theme through your statamic.com account to make it available to others.', 'try_again_in_seconds' => '{0,1}Try again now.|Try again in :count seconds.', 'try_again_in_minutes' => 'Try again in a minute.|Try again in :count minutes.', + 'tree_aria_instructions' => 'Use arrow keys to navigate. Alt plus arrow keys to reorder.', 'two_factor_account_requirement' => 'Your account requires two-factor authentication. Please enable it before proceeding.', 'two_factor_challenge_code_instructions' => 'Enter the 6-digit code from your authenticator app to confirm access to your account.', 'two_factor_enable_introduction' => 'When enabled, you will be prompted for a secure, random token from your phone\'s authenticator app every time you log in.', diff --git a/lang/en/permissions.php b/lang/en/permissions.php index 0b57bfede41..dae704fcd3e 100644 --- a/lang/en/permissions.php +++ b/lang/en/permissions.php @@ -88,6 +88,7 @@ 'assign_user_groups' => 'Assign groups to users', 'assign_roles' => 'Assign roles to users', 'impersonate_users' => 'Impersonate users', + 'impersonate_users_desc' => 'Allows logging in as any user, including super admins. Grant this permission with caution.', 'group_updates' => 'Updates', 'view_updates' => 'View updates', diff --git a/lang/en/validation.php b/lang/en/validation.php index b27d0cc1ea6..9e46026ccab 100644 --- a/lang/en/validation.php +++ b/lang/en/validation.php @@ -169,6 +169,7 @@ 'date_fieldtype_time_required' => 'Time is required.', 'duplicate_field_handle' => 'A field with a handle of :handle already exists.', 'duplicate_uri' => 'Duplicate URI :value', + 'elevated_session_resend_code_unavailable' => 'Resend code is only available for verification code method.', 'elevated_session_verification_code' => 'The verification code is incorrect.', 'email_available' => 'A user with this email already exists.', 'fieldset_imported_recursively' => 'Fieldset :handle is being imported recursively.', diff --git a/lang/es.json b/lang/es.json index eecfe63c42e..e922b330751 100644 --- a/lang/es.json +++ b/lang/es.json @@ -86,7 +86,6 @@ "Always show": "Mostrar siempre", "Always Show Set Button": "Mostrar siempre el botón Establecer", "An entry will be deleted|:count entries will be deleted": "Una entrada será eliminada | :count entradas de :count se eliminarán", - "An item with this ID could not be found": "No se pudo encontrar un elemento con este ID", "and": "y", "and :count more": "y :count más", "Antlers": "Cornamenta", @@ -99,6 +98,7 @@ "Application Cache": "Caché de aplicaciones", "Application cache cleared.": "Caché de la aplicación borrada.", "Apply": "Aplicar", + "Save All": "Guardar todo", "Apply Link": "Aplicar enlace", "Are you sure you want to delete this column?": "¿Realmente deseas eliminar esta columna?", "Are you sure you want to delete this entry?": "¿Estás seguro de que deseas eliminar esta entrada?", diff --git a/lang/es/fieldtypes.php b/lang/es/fieldtypes.php index 1edb149ffd0..dbfab8bb60d 100644 --- a/lang/es/fieldtypes.php +++ b/lang/es/fieldtypes.php @@ -49,7 +49,6 @@ 'bard.config.word_count' => 'Muestra el recuento de palabras en la parte inferior del campo.', 'bard.title' => 'Bard', 'button_group.title' => 'Grupo de botones', - 'checkboxes.config.inline' => 'Mostrar los botones de checkbox en una fila.', 'checkboxes.config.options' => 'Establece las llaves del arreglo y sus etiquetas opcionales.', 'checkboxes.title' => 'Checkboxes', 'code.config.indent_size' => 'Establece tu tamaño de indentado preferido (en espacios).', @@ -130,7 +129,6 @@ 'picker.category.special.description' => 'Estos campos son especiales, cada uno a su manera.', 'picker.category.structured.description' => 'Campos que almacenan datos estructurados. Algunos incluso pueden anidar otros campos dentro de sí mismos.', 'picker.category.text.description' => 'Campos que almacenan cadenas de texto, contenido enriquecido o ambos.', - 'radio.config.inline' => 'Mostrar los botones de radio en una fila.', 'radio.config.options' => 'Establece las llaves del arreglo y sus etiquetas opcionales.', 'radio.title' => 'Radio', 'range.config.append' => 'Agrega texto al final (derecha) del control deslizante.', diff --git a/lang/es/messages.php b/lang/es/messages.php index 1bee891e6e9..ac2d507719c 100644 --- a/lang/es/messages.php +++ b/lang/es/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'Los cambios en la copia de trabajo se aplicarán a la entrada y se publicarán de inmediato.', 'publish_actions_schedule' => 'Los cambios en la copia de trabajo se aplicarán a la entrada y aparecerá publicada en la fecha seleccionada.', 'publish_actions_unpublish' => 'La revisión actual se ocultará.', + 'relationship_item_unavailable' => 'Este elemento no está disponible. Es posible que se haya eliminado o que no tengas permiso para verlo.', 'reset_password_notification_body' => 'Te enviamos este correo electrónico porque recibimos una solicitud de restablecimiento de contraseña para tu cuenta.', 'reset_password_notification_no_action' => 'Si no solicitaste un restablecimiento de contraseña, tienes que hacer nada más.', 'reset_password_notification_subject' => 'Notificación de restablecimiento de contraseña', diff --git a/lang/et.json b/lang/et.json index d9142512a51..e4619f300b0 100644 --- a/lang/et.json +++ b/lang/et.json @@ -86,7 +86,6 @@ "Always show": "Näita alati", "Always Show Set Button": "Kuva alati komplekti nupp", "An entry will be deleted|:count entries will be deleted": "Kirje kustutatakse|:count kirjet kustutatakse", - "An item with this ID could not be found": "Selle ID-ga üksust ei leitud", "and": "ja", "and :count more": "ja veel :count", "Antlers": "Antlers", @@ -99,6 +98,7 @@ "Application Cache": "Rakenduse vahemälu", "Application cache cleared.": "Rakenduse vahemälu tühjendati.", "Apply": "Rakenda", + "Save All": "Salvesta kõik", "Apply Link": "Rakenda link", "Are you sure you want to delete this column?": "Oled kindel, et soovid selle veeru kustutada?", "Are you sure you want to delete this entry?": "Oled kindel, et soovid selle kirje kustutada?", diff --git a/lang/et/fieldtypes.php b/lang/et/fieldtypes.php index 7b96182a78e..8f51757f8c7 100644 --- a/lang/et/fieldtypes.php +++ b/lang/et/fieldtypes.php @@ -51,7 +51,6 @@ 'bard.config.word_count' => 'Kuva sõnade arv välja allosas.', 'bard.title' => 'Bard', 'button_group.title' => 'Nupugrupp', - 'checkboxes.config.inline' => 'Kuva märkeruudud reas.', 'checkboxes.config.options' => 'Määra massiivi võtmed ja nende valikulised sildid.', 'checkboxes.title' => 'Märkeruudud', 'code.config.indent_size' => 'Määra eelistatud taande suurus (tühikutes).', @@ -132,7 +131,6 @@ 'picker.category.special.description' => 'Need väljad on erilised, igaüks omal moel.', 'picker.category.structured.description' => 'Väljad, mis salvestavad struktureeritud andmeid. Mõned saavad isegi teisi välju enda sisse pesastada.', 'picker.category.text.description' => 'Väljad, mis salvestavad tekstistringe, rikastatud sisu või mõlemat.', - 'radio.config.inline' => 'Näita raadionuppe reas.', 'radio.config.options' => 'Määra massiivi võtmed ja nende valikulised sildid.', 'radio.title' => 'Raadio', 'range.config.append' => 'Lisa tekst liuguri lõppu (paremale poole).', diff --git a/lang/et/messages.php b/lang/et/messages.php index fa3b51177b6..31fe14c1ac4 100644 --- a/lang/et/messages.php +++ b/lang/et/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'Töökoopia muudatused rakendatakse kirjele ja see avaldatakse kohe.', 'publish_actions_schedule' => 'Töökoopia muudatused rakendatakse kirjele ja see avaldatakse valitud kuupäeval.', 'publish_actions_unpublish' => 'Praegune redaktsioon muudetakse mustandiks.', + 'relationship_item_unavailable' => 'See üksus pole saadaval. Võimalik, et see on kustutatud või sul pole õigust seda vaadata.', 'reset_password_notification_body' => 'Saite selle e-kirja, kuna saime sinu konto parooli lähtestamise taotluse.', 'reset_password_notification_no_action' => 'Kui sa parooli lähtestamist ei taotlenud, pole edasisi toiminguid vaja.', 'reset_password_notification_subject' => 'Parooli lähtestamise teavitus', diff --git a/lang/fa.json b/lang/fa.json index d9f8ff63170..f1498e9ba4e 100644 --- a/lang/fa.json +++ b/lang/fa.json @@ -86,7 +86,6 @@ "Always show": "همواره نمایان باشد", "Always Show Set Button": "همواره دکمه‌ی مجموعه نمایان باشد", "An entry will be deleted|:count entries will be deleted": "این مطلب حذف خواهد شد|:count مطلب حذف خواهد شد", - "An item with this ID could not be found": "آیتمی با این شناسه موجود نیست", "and": "و", "and :count more": "و :count عدد دیگر", "Antlers": "Antlers", @@ -99,6 +98,7 @@ "Application Cache": "کش اپلیکیشن", "Application cache cleared.": "کش اپلیکیشن پاک شد.", "Apply": "اعمال", + "Save All": "ذخیره همه", "Apply Link": "اعمال پیوند", "Are you sure you want to delete this column?": "آیا از حذف این ستون اطمینان دارید؟", "Are you sure you want to delete this entry?": "آیا از حذف این مطلب اطمینان دارید؟", diff --git a/lang/fa/fieldtypes.php b/lang/fa/fieldtypes.php index 71988960058..2eeb6ede472 100644 --- a/lang/fa/fieldtypes.php +++ b/lang/fa/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'نمایش شمارنده کلمات در زیر فیلد', 'bard.title' => 'ویرایشگر', 'button_group.title' => 'دکمه‌های گروهی', - 'checkboxes.config.inline' => 'نمایش چکباکس‌ها در یک سطر.', 'checkboxes.config.options' => 'کلیدهای آرایه و عناوین آنها را مشخص کنید.', 'checkboxes.title' => 'چک‌باکس', 'code.config.indent_size' => 'میزان دلخواه تورفتگی را مشخص نمائید (چه تعداد فاصله).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'این الگوها کارهای خاصی را انجام می‌دهند که برای هر کدام تعریف شده است.', 'picker.category.structured.description' => 'فیلدهایی که داده‌های ساخت یافته را ذخیره می‌کنند. برخی حتی می‌توانند دیگر الگوها را در داخل دوباره فرا بخوانند.', 'picker.category.text.description' => 'فیلدهایی که رشته‌هایی از متن یا محتوای غنی یا هر دو را ذخیره می‌کنند.', - 'radio.config.inline' => 'نمایش دکمه‌های رادیویی در یک سطر.', 'radio.config.options' => 'مقادیر و عناوین آنها را مشخص سازید.', 'radio.title' => 'دکمه‌های رادیو', 'range.config.append' => 'افزودن متن به انتهای بازه (سمت چپ).', diff --git a/lang/fa/messages.php b/lang/fa/messages.php index de5b9183b1a..90d63e68981 100644 --- a/lang/fa/messages.php +++ b/lang/fa/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'تغییرات در نسخه فعلی اعمال شده و بلافاصله منتشر می‌شود.', 'publish_actions_schedule' => 'تغییرات در نسخه فعلی اعمال می‌شود و در تاریخ انتخاب شده منتشر می‌شود.', 'publish_actions_unpublish' => 'نسخه‌ی فعلی منتشر نخواهد شد.', + 'relationship_item_unavailable' => 'این مورد در دسترس نیست. ممکن است حذف شده باشد یا اجازه مشاهده آن را نداشته باشید.', 'reset_password_notification_body' => 'شما این ایمیل را دریافت کرده‌اید زیرا یک درخواست بازنشانی گذرواژه برای حساب کاربری شما دریافت شده است.', 'reset_password_notification_no_action' => 'درصورتی که بازنشانی گذرواژه توسط شما درخواست نشده است نیازی نیست اقدامی انجام دهید.', 'reset_password_notification_subject' => 'ناتیفیکیشن برای بازنشانی گذرواژه', diff --git a/lang/fr.json b/lang/fr.json index 5f6b12e2553..8f5a3db9092 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -4,13 +4,14 @@ "404": "404", ":count asset selected|:count assets selected": ":count ressource sélectionnée|:count ressources sélectionnées", ":count item selected|:count items selected": ":count élément sélectionné|:count éléments sélectionnés", + ":count of :max selections": ":count sélections sur :max", ":count row|:count rows": ":count rangée|:count rangées", ":count set|:count sets": ":count jeu|:count jeux", ":count word|:count words": ":count mot|:count mots", ":count\/:max selected": ":count sélectionnés \/:max", ":count\/:total characters": "count caractères :count\/:total", ":file uploaded": ":file téléchargé", - ":start-:end of :total": ":start-:end sur :total", + ":range of :total": ":range sur :total", ":success\/:total entries were deleted": ":success\/:total entrées ont été supprimées", ":success\/:total entries were published": ":success\/:total entrées ont été publiées", ":success\/:total entries were unpublished": ":success\/:total entrées ont été dépubliées", @@ -33,7 +34,6 @@ "Add": "Ajouter", "Add a link label": "Ajouter une étiquette de lien", "Add Attribute": "Ajouter des attributs", - "Add Block": "Ajouter un bloc", "Add child link to entry": "Ajouter un lien enfant à l'entrée", "Add child nav item": "Ajouter un élément de navigation enfant", "Add Color": "Ajouter une couleur", @@ -53,7 +53,7 @@ "Add Row": "Ajouter une rangée", "Add Row After": "Ajouter une rangée après", "Add Row Before": "Ajouter une rangée avant", - "Add Row Label": "Ajouter l'étiquette de rangée", + "Add Row Label": "Etiquette du bouton", "Add Rule": "Ajouter une règle", "Add Ruler": "Ajouter une règle", "Add Section": "Ajouter une section", @@ -80,6 +80,7 @@ "All caches cleared.": "Tous les caches ont été effacés.", "All of the following conditions pass": "Toutes les conditions suivantes sont remplies", "All rights reserved.": "Tous droits réservés.", + "All Submissions": "Toutes les soumissions", "Allow additions": "Autoriser les ajouts", "Allow Antlers": "Autoriser Antlers", "Allow Any Color": "Autoriser toutes les couleurs", @@ -158,6 +159,7 @@ "Augment Format": "Augmenter le format", "Authentication failed.": "L'authentification a échoué.", "Author": "Auteur", + "Auto": "Auto", "Autocomplete": "Saisie automatique", "Automatic Line Breaks": "Sauts de ligne automatiques", "Automatic Links": "Liens automatiques", @@ -165,6 +167,8 @@ "Available Columns": "Colonnes disponibles", "Back to login": "Retour à la connexion", "Back to Users": "Retour aux Utilisateurs", + "Background": "Arrière-plan", + "Background colour": "Couleur de l'arrière-plan", "Base": "Par défaut", "BCC Recipient(s)": "Destinataire(s) Cci", "Before": "Avant", @@ -172,6 +176,7 @@ "Behaviour": "Comportement", "Below": "En dessous", "Between": "entre", + "Black": "Noir", "Blockquote": "Citation", "Blueprint": "Blueprint", "Blueprint deleted": "Blueprint supprimé", @@ -207,14 +212,17 @@ "Characters": "Caractères", "Check All": "Tout cocher", "Checked": "Coché", + "Chips": "Chips", "choose a file": "choisir un fichier", "Choose Blueprint": "Choisir un Blueprint", "Choose Image": "Choisir une image", "Choose item...": "Choisir l'élément...", "Choose...": "Choisir...", "Clear": "Effacer", + "Clear :filter": "Effacer :filter", "Clear All": "Tout effacer", "Clear date": "Effacer la date", + "Clear selection": "Effacer la sélection", "Clearable": "Effaçable", "Close": "Fermer", "Close Editor": "Fermer l'éditeur", @@ -267,6 +275,7 @@ "Confirm with Passkey": "Confirmez avec la clé d'accès", "Confirm Your Identity": "Confirmez votre identité", "Confirm Your Password": "Confirmez votre mot de passe", + "Connect": "Connecter", "Constrain Layout": "Contraindre la mise en page", "Container": "Conteneur", "Contains": "Contient", @@ -352,6 +361,7 @@ "Default Icon": "Icône par défaut", "Default Mailer": "Expéditeur par défaut", "Default Mode": "Mode par défaut", + "Default Option": "Option par défaut", "Default preferences saved": "Préférences par défaut enregistrées", "Default Value": "Valeur par défaut", "Delete": "Supprimer", @@ -376,7 +386,6 @@ "Deselect :count item|Deselect all :count items": "Désélectionner :count élément|Désélectionner les :count éléments", "Deselect :title": "Désélectionner :title", "Deselect all items": "Désélectionner tous les éléments", - "Deselect option": "Désélectionner l'option", "Detach": "Détacher", "Details": "Détails", "Dictionary": "Dictionnaire", @@ -388,6 +397,7 @@ "Disabled two factor authentication": "Authentification à 2 facteurs désactivée", "Discard": "Annuler", "Discard Changes": "Annuler les modifications", + "Disconnect": "Déconnecter", "Disk": "Disque", "Display": "Affichage", "Display Label": "Etiquette à l'écran", @@ -487,11 +497,11 @@ "Expanded format": "Format étendu", "Expect a root page": "S'attendre à une page racine", "Expired": "Expirée", + "Export": "Exporter", "Export Submissions": "Exporter les soumissions", "Extend Session": "Prolonger la session", "Extension": "Extension", "External link": "Lien externe", - "Failed to create cropped image": "Impossible de créer une image recadrée", "Failed to crop image": "Impossible de recadrer l'image", "Failed to load entries": "Échec du chargement des entrées", "Failed to upload cropped image": "Impossible de télécharger l'image recadrée", @@ -511,12 +521,14 @@ "File": "Fichier", "File Driver": "Driver de fichier", "Filename": "Nom du fichier", + "Filtered Submissions": "Soumissions filtrées", "Filters": "Filtres", "Finish": "Terminer", "Finish cropping": "Finir le recadrage", "First Child": "Premier enfant", "Fix": "Réparer", "Fixed": "Fixe", + "Flatten": "Aplaties", "Flip crop orientation": "Inverser l'orientation du recadrage", "Flip Orientation": "Inverser l'orientation", "Floating": "Flottante", @@ -530,6 +542,7 @@ "Form saved": "Formulaire enregistré", "Form Submission": "Soumission de formulaire", "Format": "Format", + "Formatting Locale": "Paramètre régional pour le format", "Forms": "Formulaires", "Free": "Gratuit", "From": "A partir de", @@ -565,6 +578,7 @@ "Group": "Groupe", "Groups": "Groupes", "Handle": "Identifiant", + "Has Section|Has Sections": "A une section|A des sections", "Heading 1": "Titre 1", "Heading 2": "Titre 2", "Heading 3": "Titre 3", @@ -593,9 +607,9 @@ "Icon": "Icône", "Icon Set": "Jeu d'icônes", "ID": "ID", - "ID not found": "ID non trouvée", "ID regenerated and Stache cleared": "ID regénéré et Stache effacé", "If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "Si vous ne parvenez pas à cliquer sur le bouton \":actionText\", copiez et collez l'URL ci-dessous dans votre navigateur Web :", + "Ignoring Section|Ignoring Sections": "Ignorer la section|Ignorer les sections", "Image": "Image", "Image Cache": "Cache des images", "Image cache cleared.": "Cache des images effacé.", @@ -603,7 +617,7 @@ "Image Manipulation": "Manipulation d'image", "Image replaced successfully": "Image remplacée avec succès", "Image to crop": "Image à recadrer", - "Impersonating": "Usurpation d'identité", + "Impersonating": "Personnification", "Imported from: :reference": "Importé depuis : :reference", "Included in output": "Affiché", "Indent Size": "Taille d'indentation", @@ -641,6 +655,7 @@ "Item could not be deleted": "L'élément n'a pas pu être supprimé", "Item deleted|Items deleted": "Elément supprimé|Eléments supprimés", "Items could not be deleted": "Les éléments n'ont pas pu être supprimés", + "Keep imported sections as-is.": "Conserver les sections importées telles quelles", "Key": "Clé", "Key Mappings": "Mappages des touches", "Keyed": "A clé", @@ -716,6 +731,7 @@ "Maximum items selected:": "Nombre maximal d'éléments sélectionnés :", "Maximum Rows": "Nb maxi de rangées", "Media": "Médias", + "Merge all fields into this section.": "Fusionner tous les champs dans cette section", "Merge Cells": "Fusionner des cellules", "Min": "Mini", "Min Files": "Nb mini de fichiers", @@ -803,10 +819,12 @@ "Origin": "Origine", "Origin Behavior": "Comportement d'origine", "Other": "Autre", + "Output format": "Format de sortie", "Override Alt": "Remplacement de Alt", "Pages": "Pages", "Parser": "Analyseur", "Passkey": "Clé d'accès", + "Passkey deleted.": "Clé d'accès supprimée.", "Passkeys": "Clés d'accès", "Password": "Mot de passe", "Password changed": "Mot de passe modifié", @@ -826,6 +844,7 @@ "Pinned Item": "Elément épinglé", "Placeholder": "Espace réservé", "Playground": "Bac à sable", + "Please select...": "Merci de sélectionner...", "Pop in": "Regrouper", "Pop out": "Détacher", "Port": "Port", @@ -834,6 +853,7 @@ "Preferences by Role": "Préférences par rôle", "Prefix": "Préfixe", "Prepend": "Ajouter au début", + "Preserve": "Conservées", "Press enter to access additional save options": "Appuyez sur Entrée pour accéder à des options de sauvegarde supplémentaires", "Preview": "Aperçu", "Preview Image": "Image d'aperçu", @@ -846,12 +866,14 @@ "Propagate": "Propager", "Properties": "Propriétés", "Protected Page": "Page protégée", + "Provider": "Fournisseur", "Publish": "Publier", "Publish by Default": "Publier par défaut", "Publish Date": "Date de publication", "Publish Entry|Publish :count Entries": "Publier une entrée|Publier :count entrées", "Publish Now": "Publier maintenant", "Published": "Publiée", + "Quality": "Qualité", "Query Scopes": "Étendues de requête", "Range": "Intervalle", "Raster image": "Image raster", @@ -863,6 +885,7 @@ "Records": "Enregistrements", "Recovery Code": "Code de récupération", "Recovery Codes": "Codes de récupération", + "Recovery codes regenerated.": "Codes de récupération régénérés.", "Redirect": "Rediriger", "Refresh": "Rafraîchir", "Refresh recovery codes": "Rafraîchir les codes de récupération", @@ -878,6 +901,7 @@ "Released on :date": "Publiée le :date", "Remember me": "Se souvenir de moi", "Remove": "Enlever", + "Remove :label": "Enlever :label", "Remove All": "Tout enlever", "Remove all empty nodes": "Enlever tous les noeuds vides", "Remove Asset": "Enlever la ressource", @@ -917,6 +941,7 @@ "Restrict": "Restreindre", "Restrict to Folder": "Restreindre au dossier", "Resume Your Session": "Reprendre votre session", + "Return to Control Panel": "Revenir au Panneau de contrôle", "Reupload": "Téléverser de nouveau", "Revision": "Révision", "Revision created": "Révision créée", @@ -940,11 +965,12 @@ "Rulers": "Règles", "Rules": "Règles", "Run action|Run action on :count items": "Exécuter l'action|Exécuter l'action sur :count éléments", + "Same as language": "Identique à la langue d'affichage", "Sanitize": "Désinfecter", "Save": "Enregistrer", - "Save & Close All": "Enregistrer & Tout Fermer", "Save & Publish": "Enregistrer & Publier", "Save & Unpublish": "Enregistrer & Dépublier", + "Save All": "Tout enregistrer", "Save as Copy": "Enregistrer en tant que copie", "Save as HTML": "Enregistrer en HTML", "Save Changes": "Enregistrer les modifications", @@ -968,6 +994,7 @@ "Searchable": "Consultable", "Searchables": "Consultables", "Second": "Seconde", + "Section Behavior": "Comportement des sections", "Security": "Sécurité", "Security update available": "Mise à jour de sécurité disponible", "Select": "Choisir", @@ -1026,12 +1053,14 @@ "Sign in with OAuth": "Connectez-vous avec OAuth", "Sign into your Statamic Control Panel": "Connectez-vous à votre Panneau de configuration Statamic", "Sign out": "Déconnexion", + "Sign-in Providers": "Fournisseurs de connexion", "Single": "Single", "Site": "Site", "Site Defaults": "Paramètres par défaut du site", "Site deleted": "Site supprimé", "Site saved": "Site enregistré", "Site selected.": "Site sélectionné", + "Site time": "Heure du site", "Sites": "Sites", "Size": "Taille", "Skip to content": "Passer au contenu", @@ -1058,7 +1087,7 @@ "Start designing your collection with these steps": "Commencez à concevoir votre collection avec ces étapes", "Start designing your navigation with these steps": "Commencez à concevoir votre navigation avec ces étapes", "Start designing your taxonomy with these steps": "Commencez à concevoir votre taxonomie avec ces étapes", - "Start Impersonating": "Usurper cette identité", + "Start Impersonating": "Démarrer la personnification", "Start Page": "Page de démarrage", "Start typing to search.": "Commencer à saisir pour rechercher.", "Statamic": "Statamic", @@ -1068,7 +1097,7 @@ "Static page cache cleared.": "Cache de page statique effacé.", "Status": "Statut", "Step": "Incrément", - "Stop impersonating": "Arrêter l'usurpation d'identité", + "Stop impersonating": "Arrêter la personnification", "Store Submissions": "Enregistrer les soumissions", "Strategy": "Stratégie", "Stricter WCAG 2.2 Mode": "Mode WCAG 2.2 plus strict", @@ -1117,6 +1146,7 @@ "Text & Rich Content": "Texte & Contenu Enrichi", "Text item": "Elément Texte", "Text view": "Vue Texte", + "The asset is not an image.": "La ressource n'est pas une image.", "the Git Integration": "Intégration GIT", "The given data was invalid.": "Les données fournies n'étaient pas valides.", "The page you are looking for could not be found.": "La page que vous recherchez n'a pas pu être trouvée.", @@ -1127,12 +1157,15 @@ "These are now your default columns.": "Ce sont désormais vos colonnes par défaut.", "This action is unauthorized.": "Cette action n'est pas autorisée.", "This collection isn't available in this site.": "Cette collection n'est pas disponible sur ce site.", + "This field": "Ce champ", "This form is awaiting responses": "Ce formulaire est en attente de réponses", "This is the published version": "Ceci est la version publiée", "This is the root page": "Ceci est la page racine", "This is the working copy": "Ceci est la copie de travail", + "This month": "Ce mois", "This will delete the collection and all of its entries.|This will delete the collections and all of their entries.": "Cette action va supprimer la collection et toutes ses entrées.|Cette action va supprimer les collections et toutes leurs entrées.", "Time Enabled": "Horodatage activé", + "Timezone": "Fuseau horaire", "Title": "Titre", "Today": "Aujourd'hui", "Toggle": "Commutateur", @@ -1151,6 +1184,8 @@ "True": "Vrai", "Try Again": "Essayer de nouveau", "Two-Factor Authentication": "Authentification à 2 facteurs", + "Two-factor authentication disabled.": "Authentification à 2 facteurs désactivée.", + "Two-factor authentication enabled.": "Authentification à 2 facteurs activée.", "Type": "Type", "Type '\/' to insert a set": "Tapez '\/' pour insérer un ensemble", "Typeahead Field": "Champ de saisie", @@ -1231,6 +1266,7 @@ "Warm Specific Presets": "Réchauffer des préréglages spécifiques", "Warning! Changing a site handle may break existing site content!": "Attention ! Modifier l'identifiant d'un site peut briser le contenu du site actuel !", "Week": "Semaine", + "White": "Blanc", "Whoops!": "Oups !", "Widgets": "Widgets", "Width": "Largeur", @@ -1253,10 +1289,11 @@ "You are not authorized to view collections.": "Vous n'êtes pas autorisé à visualiser les collections.", "You are not authorized to view navs.": "Vous n'êtes pas autorisé à visualiser les navigations.", "You are not authorized to view this collection.": "Vous n'êtes pas autorisé à visualiser cette collection.", - "You are now impersonating": "Vous usurpez dorénavant l'identité de", + "You are now impersonating": "Vous personnifiez dorénavant l'utilisateur", "You can't do this while logged in": "Vous ne pouvez pas faire cela quand vous êtes connecté.", "You do not have permission to access this URL": "Vous n'êtes pas autorisé à accéder à cette URL", "You're already editing this item.": "Vous êtes déjà en train de modifier cet élément.", "Your Session is Expiring": "Votre session va expirer", + "Your time": "Votre heure", "Your working copy will be replaced by the contents of this revision.": "Votre copie de travail sera remplacée par le contenu de cette révision." } diff --git a/lang/fr/dictionary-currencies.php b/lang/fr/dictionary-currencies.php index 766220b872a..7a576263979 100644 --- a/lang/fr/dictionary-currencies.php +++ b/lang/fr/dictionary-currencies.php @@ -5,16 +5,22 @@ 'AFN' => 'Afghani', 'ALL' => 'Lek albanais', 'AMD' => 'Dram arménien', + 'AOA' => 'Kwanza angolais', 'ARS' => 'Peso argentin', 'AUD' => 'Dollar australien', + 'AWG' => 'Florin arubais ', 'AZN' => 'Manat azerbaïdjanais', 'BAM' => 'Mark convertible de Bosnie-Herzégovine', + 'BBD' => 'Dollar barbadien', 'BDT' => 'Taka bangladais', 'BHD' => 'Dinar de Bahreïn', 'BIF' => 'Franc burundais', + 'BMD' => 'Dollar bermudien', 'BND' => 'Dollar de Brunei', 'BOB' => 'Boliviano', 'BRL' => 'Réal brésilien', + 'BSD' => 'Dollar bahaméen', + 'BTN' => 'Ngultrum bouthanais', 'BWP' => 'Pula du Botswana', 'BYN' => 'Rouble biélorusse', 'BZD' => 'Dollar bélizien', @@ -25,6 +31,7 @@ 'CNY' => 'Yuan renminbi (RMB) chinois', 'COP' => 'Peso colombien', 'CRC' => 'Colón costaricien', + 'CUP' => 'Peso cubain', 'CVE' => 'Escudo cap-verdien', 'CZK' => 'Couronne tchèque', 'DJF' => 'Franc djiboutien', @@ -35,13 +42,19 @@ 'ERN' => 'Nakfa érythréen', 'ETB' => 'Birr éthiopien', 'EUR' => 'Euro', + 'FJD' => 'Dollar des Fidji', + 'FKP' => 'Livre des îles Malouines', 'GBP' => 'Livre sterling', 'GEL' => 'Lari géorgien', 'GHS' => 'Cédi ghanéen', + 'GIP' => 'Dalasi gambien', + 'GMD' => 'Dalasi gambien', 'GNF' => 'Franc guinéen', 'GTQ' => 'Quetzal guatémaltèque', + 'GYD' => 'Dollar de Guyane', 'HKD' => 'Dollar de Hong Kong', 'HNL' => 'Lempira hondurien', + 'HTG' => 'Gourde haïtienne', 'HUF' => 'Forint hongrois', 'IDR' => 'Roupie indonésienne', 'ILS' => 'Shekel israélien', @@ -53,21 +66,31 @@ 'JOD' => 'Dinar jordanien', 'JPY' => 'Yen', 'KES' => 'Shilling kényan', + 'KGS' => 'Som du Kirghizistan', 'KHR' => 'Riel cambodgien', 'KMF' => 'Franc comorien', + 'KPW' => 'Won nord-coréen', 'KRW' => 'Won sud-coréen', 'KWD' => 'Dinar koweïtien', + 'KYD' => 'Dollar des îles Caïmans', 'KZT' => 'Tenge kazakh', + 'LAK' => 'Kip laotien', 'LBP' => 'Livre libanaise', 'LKR' => 'Roupie srilankaise', + 'LRD' => 'Dollar libérien', + 'LSL' => 'Loti lesothan', 'LYD' => 'Dinar libyen', 'MAD' => 'Dirham marocain', 'MDL' => 'Leu moldave', 'MGA' => 'Ariary malgache', 'MKD' => 'Denar macédonien', 'MMK' => 'Kyat birman', + 'MNT' => 'Tugrik mongol', 'MOP' => 'Pataca de Macao', + 'MRU' => 'Ouguiya mauritanienne', 'MUR' => 'Roupie mauricienne', + 'MVR' => 'Rufiyaa maldivienne', + 'MWK' => 'Kwacha malawien', 'MXN' => 'Peso mexicain', 'MYR' => 'Ringgit malaisien', 'MZN' => 'Metical mozambicain', @@ -80,6 +103,7 @@ 'OMR' => 'Rial omanais', 'PAB' => 'Balboa panaméen', 'PEN' => 'Sol péruvien', + 'PGK' => 'Kina papouasien', 'PHP' => 'Peso philippin', 'PKR' => 'Roupie pakistanaise', 'PLN' => 'Zloty polonais', @@ -90,12 +114,22 @@ 'RUB' => 'Rouble russe', 'RWF' => 'Franc rwandais', 'SAR' => 'Riyal saoudien', + 'SBD' => 'Dollar des îles Salomon', + 'SCR' => 'Roupie seychelloise', 'SDG' => 'Livre soudanaise', 'SEK' => 'Couronne suédoise', 'SGD' => 'Dollar de Singapour', + 'SHP' => 'Livre de Sainte-Hélène', + 'SLE' => 'Leone de Sierra Leone', 'SOS' => 'Shilling somalien', + 'SRD' => 'Dollar du Suriname', + 'SSP' => 'Livre sud-soudanaise', + 'STN' => 'Dobra de Sao Tomé', 'SYP' => 'Livre syrienne', + 'SZL' => 'Lilangeni de l\'Eswatini (Lesotho)', 'THB' => 'Baht thaïlandais', + 'TJS' => 'Somoni tadjik', + 'TMT' => 'Manat turkmène', 'TND' => 'Dinar tunisien', 'TOP' => 'Pa\'anga des Tonga', 'TRY' => 'Livre turque', @@ -107,10 +141,16 @@ 'USD' => 'Dollar US', 'UYU' => 'Peso Uruguayen', 'UZS' => 'Sum ouzbek', + 'VED' => 'Bolivar numérique vénézuélien', 'VES' => 'Bolivar vénézuélien', 'VND' => 'Dong vietnamien', + 'VUV' => 'Vatu vanuatais', + 'WST' => 'Tala samoan', 'XAF' => 'Franc CFA (CEMAC)', + 'XCD' => 'Dollar des Caraïbes orientales', + 'XCG' => 'Florin caribéen', 'XOF' => 'Franc CFA (UEMOA)', + 'XPF' => 'Franc Pacifique', 'YER' => 'Rial yéménite', 'ZAR' => 'Rand sud-africain', 'ZMW' => 'Kwacha zambien', diff --git a/lang/fr/fieldtypes.php b/lang/fr/fieldtypes.php index 311f49ea5ff..7da2827ea43 100644 --- a/lang/fr/fieldtypes.php +++ b/lang/fr/fieldtypes.php @@ -48,7 +48,7 @@ 'bard.config.word_count' => 'Affichez le compteur de mots en bas du champ.', 'bard.title' => 'Bard', 'button_group.title' => 'Button Group', - 'checkboxes.config.inline' => 'Affichez les cases à cocher dans une rangée.', + 'checkboxes.config.appearance' => 'Choisissez comment les cases à cocher seront affichées.', 'checkboxes.config.options' => 'Définissez les clés du tableau et leurs étiquettes facultatives.', 'checkboxes.title' => 'Checkboxes', 'code.config.color_mode' => 'Choisissez votre mode couleur préféré.', @@ -78,6 +78,7 @@ 'date.config.number_of_months' => 'Contrôlez le nombre de mois affichés simultanément.', 'date.config.time_enabled' => 'Activez l’horodateur.', 'date.config.time_seconds_enabled' => 'Affichez les secondes dans l’horodateur.', + 'date.config.timezone' => 'Le fuseau horaire dans lequel les dates seront affichées et saisies. Le fuseau horaire par défaut (Auto) est celui du navigateur.', 'date.title' => 'Date', 'dictionary.config.dictionary' => 'Le dictionnaire à partir duquel vous souhaitez extraire des options.', 'dictionary.file.config.filename' => 'Le nom du fichier contenant vos options, relatif au répertoire `resources/dictionaries`.', @@ -119,7 +120,9 @@ 'integer.title' => 'Integer', 'link.config.collections' => 'Les entrées de ces collections seront disponibles. Si vous laissez cette zone à blanc, les entrées des collections routables seront disponibles.', 'link.config.container' => 'Choisissez quel conteneur de ressources à utiliser pour ce champ.', + 'link.config.default_option' => 'L’option de type de lien par défaut, si elle est disponible pour la configuration du type de champ.', 'link.title' => 'Link', + 'list.config.add_row' => 'Personnalisez l’étiquette du bouton "Ajouter un élément".', 'list.title' => 'List', 'markdown.config.automatic_line_breaks' => 'Activez les sauts de ligne automatiques.', 'markdown.config.automatic_links' => 'Activez la liaison automatique de toutes les URL.', @@ -140,7 +143,7 @@ 'picker.category.special.description' => 'Ces champs sont spéciaux, chacun à leur manière.', 'picker.category.structured.description' => 'Des champs qui stockent des données structurées. Certains peuvent même accueillir d’autres champs, nichés à l’intérieur d’eux-mêmes.', 'picker.category.text.description' => 'Des champs qui stockent des chaînes de texte, du contenu enrichi ou les deux.', - 'radio.config.inline' => 'Affichez les boutons radio dans une rangée.', + 'radio.config.appearance' => 'Choisissez le mode d’affichage des boutons radio.', 'radio.config.options' => 'Définissez les clés du tableau et leurs étiquettes facultatives.', 'radio.title' => 'Radio', 'range.config.append' => 'Ajoutez du texte à la fin (côté droit) du curseur.', diff --git a/lang/fr/messages.php b/lang/fr/messages.php index 44731942cd0..b6177971804 100644 --- a/lang/fr/messages.php +++ b/lang/fr/messages.php @@ -61,6 +61,8 @@ 'collections_route_instructions' => 'La route contrôle le modèle d’URL des entrées. Apprenez-en plus dans la [documentation](https://statamic.dev/collections#routing).', 'collections_sort_direction_instructions' => 'Le sens de tri par défaut.', 'collections_taxonomies_instructions' => 'Reliez les entrées de cette collection à des taxonomies. Les champs seront automatiquement ajoutés aux formulaires.', + 'crop_jpeg_background_help' => 'Le format JPEG ne prend pas en charge la transparence ; les zones transparentes seront remplies de cette couleur.', + 'crop_replace_unavailable_format' => 'L’original ne peut être remplacé qu’en conservant le même format.', 'crop_save_as_copy_confirm' => 'Enregistrer l’image recadrée comme une nouvelle copie ?', 'crop_save_copy_or_replace' => 'Souhaitez-vous enregistrer ceci comme une nouvelle copie ou remplacer l’image originale ?', 'dictionaries_countries_emojis_instructions' => 'Inclure les émojis de drapeaux dans les étiquettes ?', @@ -108,6 +110,7 @@ 'fields_visibility_instructions' => 'Contrôle la visibilité de ce champ dans les formulaires.', 'fieldset_import_fieldset_instructions' => 'Le jeu de champs à importer.', 'fieldset_import_prefix_instructions' => 'Le préfixe à appliquer à chaque champ lors de leur importation. Ex. hero_', + 'fieldset_import_section_behavior_instructions' => 'Choisissez si les sections de jeux de champs importées doivent être conservées ou aplaties dans cette section.', 'fieldset_intro' => 'Les jeux de champs sont des compagnons optionnels des Blueprints qui vous permettent de créer des partiels réutilisables dans tous vos Blueprints.', 'fieldset_link_fields_prefix_instructions' => 'Tous les champs du jeu de champs lié seront préfixés avec ceci. Utile quand vous voulez importer les mêmes champs plusieurs fois.', 'fieldsets_handle_instructions' => 'Utilisé pour référencer ce jeu de champs sur le frontal. Ceci ne sera pas facile à modifier par la suite.', @@ -137,6 +140,7 @@ 'form_configure_store_instructions' => 'Désactivez cette option pour ne plus stocker les soumissions. Les évènements et les notifications seront toujours envoyés.', 'form_configure_title_instructions' => 'Habituellement un appel à l’action, comme "Contactez-nous".', 'form_create_description' => 'Commencez par créer votre premier formulaire.', + 'form_export_filtered_description' => 'Exportez les soumissions avec les filtres actuels et les colonnes visibles.', 'getting_started_widget_collections' => 'Les collections contiennent les différents types de contenu de votre site.', 'getting_started_widget_docs' => 'Apprenez à connaître Statamic pour bien comprendre ses capacités.', 'getting_started_widget_header' => 'Débuter avec Statamic', @@ -185,6 +189,12 @@ 'navigation_documentation_instructions' => 'En savoir plus sur la construction, la configuration et le rendu des navigations.', 'navigation_link_to_entry_instructions' => 'Ajoutez un lien à une entrée. Activez les liens avec des collections supplémentaires dans l’espace de configuration.', 'navigation_link_to_url_instructions' => 'Ajoutez un lien vers n’importe quelle URL interne ou externe. Activez les liens vers les entrées dans l’espace de configuration.', + 'oauth_already_connected' => 'Votre compte :provider est déjà connecté.', + 'oauth_belongs_to_another_user' => 'Ce compte :provider est déjà associé à un autre utilisateur.', + 'oauth_connect_unsupported' => 'Ce fournisseur ne prend pas en charge la connexion de comptes.', + 'oauth_connected' => 'Votre compte :provider a été connecté.', + 'oauth_disconnected' => 'Votre compte :provider a été déconnecté.', + 'oauth_email_exists' => 'Un compte associé à cette adresse e-mail existe déjà. Connectez-vous et associez ce fournisseur depuis les paramètres de votre compte.', 'outpost_error_422' => 'Erreur de communication avec statamic.com.', 'outpost_error_429' => 'Trop de demandes à statamic.com.', 'outpost_issue_try_later' => 'Un problème est survenu lors de la communication avec statamic.com. Veuillez réessayer plus tard.', @@ -199,6 +209,8 @@ 'phpinfo_utility_description' => 'Vérifiez vos paramètres de configuration PHP et les modules installés.', 'plus_count_more' => '+ :count de plus', 'preference_confirm_dirty_navigation_instructions' => 'Si vous devez recevoir un avertissement lorsque vous essayez de quitter la page et qu’il y a des modifications non enregistrées.', + 'preference_formatting_locale_instructions' => 'Le paramètre de langue utilisé pour la mise en forme des valeurs de dates et de nombres dans le Panneau de configuration.', + 'preference_formatting_locale_invalid' => 'Veuillez saisir un code de langue valide.', 'preference_locale_instructions' => 'La langue d’affichage préférée du Panneau de configuration.', 'preference_start_page_instructions' => 'La première page affichée après connexion au Panneau de configuration.', 'preference_strict_accessibility_instructions' => 'Nous avons conçu le Panneau de configuration dans un souci d’accessibilité, en nous efforçant de respecter autant que possible les directives WCAG 2.2. Activez cette option pour appliquer des règles d’accessibilité plus strictes en augmentant le contraste des bordures du formulaire.', @@ -208,6 +220,7 @@ 'publish_actions_publish' => 'Les modifications apportées à la copie de travail s’appliqueront à l’entrée et celle-ci sera publiée immédiatement.', 'publish_actions_schedule' => 'Les modifications apportées à la copie de travail s’appliqueront à l’entrée et celle-ci paraîtra publiée à la date sélectionnée.', 'publish_actions_unpublish' => 'La révision actuelle sera dépubliée.', + 'relationship_item_unavailable' => 'Cet élément n\'est pas disponible. Il a peut-être été supprimé, ou vous n\'avez pas l\'autorisation de le voir.', 'reset_password_notification_body' => 'Vous recevez cet email car nous avons reçu une demande de réinitialisation du mot de passe pour votre compte.', 'reset_password_notification_no_action' => 'Si vous n’avez pas demandé de réinitialisation de mot de passe, aucune autre action n’est requise.', 'reset_password_notification_subject' => 'Notification de réinitialisation du mot de passe', @@ -252,6 +265,7 @@ 'taxonomy_next_steps_configure_description' => 'Configurez des noms, associez des collections, définissez des Blueprints et plus encore.', 'taxonomy_next_steps_create_term_description' => 'Créez votre premier terme ou générez une poignée de termes génériques, à vous de voir.', 'theme_share_instructions' => 'Publiez ce thème via votre compte statamic.com pour le rendre accessible aux autres utilisateurs.', + 'tree_aria_instructions' => 'Utilisez les flèches directionnelles pour naviguer. Appuyez sur Alt/Option + flèches directionnelles pour réorganiser les touches.', 'try_again_in_minutes' => 'Réessayez dans une minute.|Réessayez dans :count minutes.', 'try_again_in_seconds' => '{0,1} Réessayez maintenant. | Réessayez dans :count secondes.', 'two_factor_account_requirement' => 'Votre compte nécessite une authentification à deux facteurs. Veuillez l’activer avant de continuer.', diff --git a/lang/fr/permissions.php b/lang/fr/permissions.php index 88a1d6f05de..a4eaf7b186a 100644 --- a/lang/fr/permissions.php +++ b/lang/fr/permissions.php @@ -77,7 +77,8 @@ 'edit_roles' => 'Modifier les rôles', 'assign_user_groups' => 'Affecter des groupes aux utilisateurs', 'assign_roles' => 'Affecter des rôles aux utilisateurs', - 'impersonate_users' => 'Usurper l’identité des utilisateurs', + 'impersonate_users' => 'Personnifier des utilisateurs', + 'impersonate_users_desc' => 'Autorise la connexion en tant que n’importe quel utilisateur, y compris les super administrateurs. Accordez cette autorisation avec prudence.', 'group_updates' => 'Mises à jour', 'view_updates' => 'Voir les mises à jour', 'group_addons' => 'Addons', diff --git a/lang/fr/validation.php b/lang/fr/validation.php index 9d023ea51fb..6af568b85a1 100644 --- a/lang/fr/validation.php +++ b/lang/fr/validation.php @@ -131,6 +131,7 @@ 'date_fieldtype_time_required' => 'Horaire obligatoire.', 'duplicate_field_handle' => 'Le champ avec l’identifiant :handle ne peut pas être utilisé plus d’une fois.', 'duplicate_uri' => 'URI en doublon :value', + 'elevated_session_resend_code_unavailable' => 'Le renvoi du code n’est disponible que pour la méthode de vérification par code.', 'elevated_session_verification_code' => 'Le code de vérification est incorrect.', 'email_available' => 'Un utilisateur possédant cet email existe déjà.', 'fieldset_imported_recursively' => 'Le jeu de champs :handle est importé de manière récursive.', diff --git a/lang/hu.json b/lang/hu.json index 42c1b9f00b5..2b5c72417ec 100644 --- a/lang/hu.json +++ b/lang/hu.json @@ -86,7 +86,6 @@ "Always show": "Mindig mutasd", "Always Show Set Button": "Mindig mutasd a Szett gombot", "An entry will be deleted|:count entries will be deleted": "Egy bejegyzés törlésre kerül|:count bejegyzés törlésre kerül", - "An item with this ID could not be found": "Ezzel az azonosítóval rendelkező elem nem található", "and": "és", "and :count more": "és :count további", "Antlers": "Agancs", @@ -99,6 +98,7 @@ "Application Cache": "Alkalmazás gyorsítótár", "Application cache cleared.": "Az alkalmazás gyorsítótára törölve.", "Apply": "Alkalmazni", + "Save All": "Összes mentése", "Apply Link": "Link alkalmazása", "Are you sure you want to delete this column?": "Biztosan törli ezt az oszlopot?", "Are you sure you want to delete this entry?": "Biztosan törli ezt a bejegyzést?", diff --git a/lang/hu/fieldtypes.php b/lang/hu/fieldtypes.php index c6db51f4505..64bd8f92655 100644 --- a/lang/hu/fieldtypes.php +++ b/lang/hu/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Mutassa meg a szószámot a mező alján.', 'bard.title' => 'Bard', 'button_group.title' => 'Gomb csoport', - 'checkboxes.config.inline' => 'A jelölőnégyzetek megjelenítése egy sorban.', 'checkboxes.config.options' => 'Állítsa be a tömbkulcsokat és azok opcionális címkéit.', 'checkboxes.title' => 'Jelölőnégyzet', 'code.config.indent_size' => 'Állítsa be a behúzás méretét (szóközökben).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Ezek a területek különlegesek, mindegyik a maga módján.', 'picker.category.structured.description' => 'Strukturált adatokat tároló mezők. Vannak, amelyek más mezőket is be tudnak fészkelni magukba.', 'picker.category.text.description' => 'Olyan mezők, amelyek szöveget vagy Rich tartalmat vagy mindkettőt tartalmazza.', - 'radio.config.inline' => 'A rádiógombok megjelenítése egy sorban.', 'radio.config.options' => 'Állítsa be a tömb kulcsait és opcionális címkéit.', 'radio.title' => 'Rádiógomb', 'range.config.append' => 'Szöveg hozzáadása a csúszka végéhez (jobb oldalához).', diff --git a/lang/hu/messages.php b/lang/hu/messages.php index 314ef200093..e4221456893 100644 --- a/lang/hu/messages.php +++ b/lang/hu/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'A munkapéldány módosításai a bejegyzésre alkalmazódnak, és azonnal közzétételre kerülnek.', 'publish_actions_schedule' => 'A munkapéldány módosításai a bejegyzésre alkalmazódnak, és a kiválasztott napon megjelennek.', 'publish_actions_unpublish' => 'A jelenlegi revízió közzététele visszavonásra kerül.', + 'relationship_item_unavailable' => 'Ez az elem nem érhető el. Lehet, hogy törölték, vagy nincs jogosultsága a megtekintéséhez.', 'reset_password_notification_body' => 'Azért kapta ezt az e-mailt, mert jelszó-visszaállítási kérést kaptunk fiókjához.', 'reset_password_notification_no_action' => 'Ha nem kérte a jelszó visszaállítását, nincs szükség további teendőkre.', 'reset_password_notification_subject' => 'Jelszó-visszaállítási kérés', diff --git a/lang/id.json b/lang/id.json index e9ff20cf12e..17dfb9e87df 100644 --- a/lang/id.json +++ b/lang/id.json @@ -86,7 +86,6 @@ "Always show": "Selalu tunjukkan", "Always Show Set Button": "Selalu Tunjukkan Tombol Set", "An entry will be deleted|:count entries will be deleted": "Entri akan dihapus|:count entri akan dihapus", - "An item with this ID could not be found": "Item dengan ID ini tidak dapat ditemukan", "and": "dan", "and :count more": "dan :count lainnya", "Antlers": "Tanduk", @@ -99,6 +98,7 @@ "Application Cache": "Cache Aplikasi", "Application cache cleared.": "Cache aplikasi dihapus.", "Apply": "Menerapkan", + "Save All": "Simpan semua", "Apply Link": "Terapkan Tautan", "Are you sure you want to delete this column?": "Anda yakin ingin menghapus kolom ini?", "Are you sure you want to delete this entry?": "Anda yakin ingin menghapus entri ini?", diff --git a/lang/id/fieldtypes.php b/lang/id/fieldtypes.php index 329895ae28e..af1aea8f9e5 100644 --- a/lang/id/fieldtypes.php +++ b/lang/id/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Tampilkan jumlah kata di bagian bawah kolom.', 'bard.title' => 'Bard', 'button_group.title' => 'Button Group', - 'checkboxes.config.inline' => 'Tampilkan kotak centang berturut-turut.', 'checkboxes.config.options' => 'Atur kunci array dan label opsionalnya.', 'checkboxes.title' => 'Checkboxes', 'code.config.indent_size' => 'Setel ukuran indentasi pilihan Anda (dalam spasi).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Bidang-bidang ini istimewa, masing-masing dengan caranya sendiri.', 'picker.category.structured.description' => 'Kolom yang menyimpan data terstruktur. Beberapa bahkan dapat menumpuk kolom lain di dalamnya.', 'picker.category.text.description' => 'Bidang yang menyimpan rangkaian teks, konten kaya, atau keduanya.', - 'radio.config.inline' => 'Tampilkan tombol radio berturut-turut.', 'radio.config.options' => 'Atur kunci array dan label opsionalnya.', 'radio.title' => 'Radio', 'range.config.append' => 'Tambahkan teks ke ujung (sisi kanan) slider.', diff --git a/lang/id/messages.php b/lang/id/messages.php index 27d1cf5fbbb..4c9f91503a4 100644 --- a/lang/id/messages.php +++ b/lang/id/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'Perubahan pada salinan pekerjaan akan diterapkan ke entri dan akan segera diterbitkan.', 'publish_actions_schedule' => 'Perubahan pada salinan pekerjaan akan diterapkan ke entri dan itu akan muncul diterbitkan pada tanggal yang dipilih.', 'publish_actions_unpublish' => 'Revisi saat ini tidak akan dipublikasikan.', + 'relationship_item_unavailable' => 'Item ini tidak tersedia. Mungkin telah dihapus, atau Anda mungkin tidak memiliki izin untuk melihatnya.', 'reset_password_notification_body' => 'Anda menerima email ini karena kami menerima permintaan pengaturan ulang kata sandi untuk akun Anda.', 'reset_password_notification_no_action' => 'Jika Anda tidak meminta pengaturan ulang kata sandi, tidak ada tindakan lebih lanjut yang diperlukan.', 'reset_password_notification_subject' => 'Atur Ulang Pemberitahuan Kata Sandi', diff --git a/lang/it.json b/lang/it.json index 73393916faf..dd3d763efb9 100644 --- a/lang/it.json +++ b/lang/it.json @@ -23,6 +23,8 @@ "A User Group with that handle already exists.": "Esiste già un gruppo utenti con questo handle.", "A valid blueprint is required.": "È richiesto un progetto valido.", "Above": "Sopra", + "Accent Background": "Sfondo di evidenziazione", + "Accent Text": "Testo decorativo", "Action completed": "Azione completata", "Action failed": "Azione fallita", "Activate Account": "Attiva account", @@ -86,7 +88,6 @@ "Always show": "Mostra sempre", "Always Show Set Button": "Mostra sempre il pulsante Set", "An entry will be deleted|:count entries will be deleted": "Una voce verrà eliminata|:count voci verranno eliminate", - "An item with this ID could not be found": "Impossibile trovare un elemento con questo ID", "and": "e", "and :count more": "e altre :count", "Antlers": "Antlers", @@ -99,6 +100,9 @@ "Application Cache": "Cache dell'applicazione", "Application cache cleared.": "Cache dell'applicazione cancellata.", "Apply": "Applica", + "Save All": "Salva tutto", + "Applied to all users by default.": "Applicato a tutti gli utenti per impostazione predefinita.", + "Applied to your account.": "Applicato al tuo account.", "Apply Link": "Applica collegamento", "Are you sure you want to delete this column?": "Sei sicuro di voler eliminare questa colonna?", "Are you sure you want to delete this entry?": "Sei sicuro di voler eliminare questa voce?", @@ -150,6 +154,7 @@ "Available Columns": "Colonne disponibili", "Back to Users": "Torna agli utenti", "BCC Recipient(s)": "Destinatario\/i in CCN", + "Be sure your email settings are configured to send and receive notifications when forms are submitted.": "Assicurati che le impostazioni della tua email siano configurate per inviare e ricevere notifiche quando vengono inviati i moduli.", "Before": "Prima", "Before you can delete this fieldset, you need to remove references to it in blueprints and fieldsets:": "Prima di eliminare questo fieldset, è necessario rimuovere i riferimenti ad esso nei progetti e nei fieldset:", "Behavior": "Comportamento", @@ -163,6 +168,8 @@ "Blueprint saved": "Progetto salvato", "Blueprints": "Progetti", "Blueprints successfully reordered": "Progetti riordinati con successo", + "Body Background": "Sfondo del body", + "Body Border": "Bordo del body", "Bold": "Grassetto", "Border": "Confine", "Boundaries": "Confini", @@ -209,6 +216,7 @@ "Collection tree deleted": "Albero di raccolta eliminato", "Collection tree saved": "Albero di raccolta salvato", "Collections": "Raccolte", + "Color": "Colore", "Columns": "Colonne", "Columns have been reset to their defaults.": "Le colonne sono state ripristinate ai valori predefiniti.", "Commit": "Commit", @@ -230,15 +238,20 @@ "Configure Taxonomy": "Configura tassonomia", "Configure User Group": "Configura gruppo utenti", "Confirm": "Conferma", + "Confirm Dirty Navigation": "Conferma uscita con modifiche non salvate", "Confirm Password": "Conferma password", + "Confirm Your Identity": "Conferma la tua identità", "Container": "Contenitore", "Contains": "Contiene", "Contains Any": "Contiene qualsiasi", "Content": "Contenuto", + "Content Background": "Sfondo del contenuto", + "Content Border": "Bordo del contenuto", "Content committed": "Contenuto committato", "Content Model": "Modello di contenuto", "Content saved": "Contenuto salvato", "Content Stache": "Stache dei contenuti", + "Continue": "Continua", "Continue Editing": "Continua a modificare", "Copied to clipboard": "Copiato negli appunti", "Copy": "Copia", @@ -293,6 +306,7 @@ "Customize Columns": "Personalizza colonne", "Customize Invitation": "Personalizza invito", "Customizing the Control Panel Nav": "Personalizzazione della navigazione del pannello di controllo", + "Danger": "Pericolo", "Dark": "Scuro", "Dark Mode": "Modalità scura", "Dashboard": "Dashboard", @@ -328,10 +342,14 @@ "Deleted": "Eliminato", "Delete|Delete :count items?": "Elimina|Eliminare :count elementi?", "Descending": "Discendente", + "Description": "Descrizione", "Description of the image": "Descrizione dell'immagine", "Deselect option": "Deseleziona opzione", "Detach": "Stacca", + "Details": "Dettagli", + "Developer": "Sviluppatore", "Dictionary": "Dizionario", + "Dimensions": "Dimensioni", "Directory": "Cartella", "Directory already exists.": "La cartella esiste già.", "Disabled": "Disabilitato", @@ -358,6 +376,7 @@ "Duplicate IDs": "Duplica ID", "Duplicate Row": "Duplica riga", "Duplicate Set": "Duplica set", + "Duration": "Durata", "Duplicated": "Duplicato", "Dynamic": "Dinamica", "Dynamic Folder": "Cartella dinamica", @@ -385,6 +404,7 @@ "Edit Taxonomy": "Modifica tassonomia", "Edit Term": "Modifica termine", "Edit User": "Modifica utente", + "Edit User Blueprint": "Modifica il progetto dell'utente", "Edit User Group": "Modifica gruppo di utenti", "Editable once created": "Modificabile una volta creato", "Editions": "Edizioni", @@ -437,6 +457,7 @@ "Expect a root page": "Utilizza una pagina principale", "Expired": "Scaduto", "Export Submissions": "Esporta invii", + "Extension": "Estensione", "External link": "Link esterno", "False": "Falso", "Favorite removed": "Preferito rimosso", @@ -461,16 +482,19 @@ "Filter preset deleted": "Preset del filtro eliminata", "Filter preset saved": "Preset del filtro salvata", "Filter preset updated": "Preset del filtro aggiornata", + "Filters": "Filtri", "Finish": "Fine", "First Child": "Primo Figlio", "Fix": "Fix", "Fixed": "Sistemato", "Floating": "Fluttuante", + "Focus Outline": "Focus sul contorno", "Focal Point": "Punto focale", "Focus Search": "Focus ricerca", "Folder": "Cartella", "Folder created": "Cartella creata", "Folder Name": "Nome della cartella", + "For security, please re-authenticate your account.": "Per motivi di sicurezza, si prega di accedere nuovamente al proprio account.", "Forgot password?": "Hai dimenticato la password?", "Forgot Your Password?": "Hai dimenticato la password?", "Form already exists": "Il form esiste già", @@ -479,6 +503,7 @@ "Form saved": "Form salvato", "Form Submission": "Invio del form", "Format": "Formato", + "Formatting Locale": "Formattazione locale", "Forms": "Form", "Free": "Gratuito", "From": "Da", @@ -486,7 +511,17 @@ "Future Date Behavior": "Comportamento data futura", "General": "Generale", "Generate": "Genera", + "Get started by creating your first collection.": "Inizia creando la tua prima raccolta.", + "Get started by creating your first fieldset.": "Inizia creando il tuo fieldset.", + "Get started by creating your first form.": "Inizia creando il tuo primo form.", + "Get started by creating your first global set.": "Inizia creando il tuo primo globale.", + "Get started by creating your first navigation.": "Inizia creando il tuo primo menù.", + "Get started by creating your first taxonomy.": "Inizia creando la tua prima tassonomia.", + "Get started by creating your first user group.": "Inizia creando il tuo primo gruppo utente.", + "Get started by creating your first role.": "Inizia creando il tuo primo ruolo.", "Git": "Git", + "Global Header Background": "Sfondo dell'intestazione globale", + "Global Preferences": "Preferenze globali", "Global Search": "Ricerca globale", "Global Set created": "Globale creato", "Global Set deleted": "Globale eliminato", @@ -495,6 +530,7 @@ "Global Variables": "Variabili globali", "Globals": "Globali", "Go To Listing": "Vai all'elenco", + "Grays": "Grigi", "Greater than": "Maggiore di", "Greater than or equals": "Maggiore o uguale", "Grid": "Griglia", @@ -508,6 +544,7 @@ "Heading 5": "Titolo 5", "Heading 6": "Titolo 6", "Heading Anchors": "Intestazione Ancore", + "Height": "Altezza", "Hello!": "Ciao!", "Here": "Qui", "Hidden": "Nascosto", @@ -641,6 +678,7 @@ "Move": "Sposta", "Move Asset|Move :count Assets": "Sposta file|Sposta :count file", "Move Folder|Move :count Folders": "Sposta cartella | Sposta :count cartelle", + "Move to folder": "Sposta nella cartella", "Moved Item": "Elemento spostato", "Multi-Site": "Multi-sito", "Multiple": "Multiplo", @@ -691,9 +729,11 @@ "or": "oppure", "or drag & drop here to replace.": "oppure trascina e rilascia qui per sostituire.", "or drag & drop here.": "oppure trascinalo qui.", + "Or sign in with": "Oppure accedi con", "Orderable": "Ordinabile", "Ordered List": "Lista ordinata", "Ordering": "Ordinamento", + "Orientation": "Orientamento", "Origin": "Origine", "Origin Behavior": "Origine Comportamento", "Other": "Altro", @@ -729,17 +769,21 @@ "Preview Targets": "Anteprima degli obiettivi", "Previous": "Precedente", "Price": "Prezzo", + "Primary": "Primario", "Pro": "Pro", "Pro Tip": "Suggerimento Pro", "Process Source Images": "Processa Immagini Originali", "Profile": "Profilo", + "Progress Bar": "Barra dei progressi", "Propagate": "Propagare", + "Properties": "Proprietà", "Protected Page": "Pagina protetta", "Publish": "Pubblica", "Publish by Default": "Pubblica per impostazione predefinita", "Publish Date": "Data di pubblicazione", "Publish Entry|Publish :count Entries": "Pubblica voce|Pubblica :count voci", "Publish Now": "Pubblica ora", + "Publish this theme through your statamic.com account to make it available to others.": "Pubblica questo tema tramite il tuo account statimic.com per renderlo disponibile agli altri.", "Published": "Pubblicato", "Push Tags": "Inserimento Tag", "Query Scopes": "Query Scopes", @@ -883,8 +927,11 @@ "Show when": "Mostra quando", "Show Word Count": "Mostra conteggio parole", "Shown by default": "Mostrato per impostazione predefinita", + "Sign in with email": "Accedi con l'email", + "Sign into your Statamic Control Panel": "Accedi al tuo pannello di controllo Statamic", "Single": "Singolo", "Site": "Sito", + "Site Defaults": "Impostazioni predefinite del sito", "Site deleted": "Sito cancellato", "Site saved": "Sito salvato", "Site selected.": "Sito selezionato.", @@ -918,6 +965,7 @@ "Stop Impersonating": "Smettila di impersonare", "Store Submissions": "Memorizza invii", "Strategy": "Strategia", + "Stricter WCAG 2.2 Mode": "Modalità WCAG 2.2 più rigorosa", "Strikethrough": "Barrato", "Structured": "Strutturato", "Subject": "Oggetto", @@ -927,11 +975,13 @@ "Submissions": "Invii", "Submit": "Invia", "Subscript": "Pedice", + "Success": "Successo", "Super Admin": "Super Admin", "Super User": "Super Utente", "Superscript": "Apice", "Support": "Supporto", "Swatches": "Campioni", + "Switch Background": "Sfondo dell'interruttore", "Sync": "Sincronizza", "System": "Sistema", "System default": "Predefinito di sistema", @@ -961,6 +1011,7 @@ "The given data was invalid.": "I dati forniti non sono validi.", "The Statamic Playground": "Statamic Playground", "Theme": "Tema", + "Themes": "Temi", "There are no entries in this collection": "Non ci sono voci in questa raccolta", "These are now your default columns.": "Queste sono ora le colonne predefinite.", "This action is unauthorized.": "Questa azione non è consentita.", @@ -987,10 +1038,12 @@ "Toggle Sidebar": "Attiva\/Disattiva barra laterale", "Toolbar Mode": "Modalità barra degli strumenti", "Tools": "Strumenti", + "Transparency": "Trasparenza", "Tree": "Albero", "Trial Mode": "Modalità di prova", "True": "Vero", "Try again": "Riprova", + "Type": "Tipo", "Typeahead Field": "Campo Suggerimento", "UI Mode": "Modalità UI", "Unable to change password": "Impossibile cambiare la password", @@ -1036,6 +1089,7 @@ "User group saved": "Gruppo utente salvato", "User Groups": "Gruppi utente", "User Information": "Informazioni utente", + "User Preferences": "Preferenze dell'utente", "User saved": "Utente salvato", "Username": "Username", "Users": "Utenti", @@ -1043,6 +1097,7 @@ "Validation": "Validazione", "Validation Rules": "Regole di validazione", "Value": "Valore", + "Version": "Versione", "View": "Vista", "View additional releases": "Visualizza versioni aggiuntive", "View All": "Mostra tutto", @@ -1065,6 +1120,7 @@ "Words": "Parole", "Working Copy": "Copia di lavoro", "Working copy has unsaved changes": "La copia di lavoro presenta modifiche non salvate", + "Width": "Larghezza", "Write": "Scrivi", "You are not authorized to configure navs.": "Non sei autorizzato a configurare navigazioni.", "You are not authorized to create collections.": "Non sei autorizzato a creare raccolte.", diff --git a/lang/it/fieldtypes.php b/lang/it/fieldtypes.php index 6848c396a63..abffcd16de6 100644 --- a/lang/it/fieldtypes.php +++ b/lang/it/fieldtypes.php @@ -49,7 +49,6 @@ 'bard.config.word_count' => 'Visualizza il conteggio delle parole nella parte inferiore del campo.', 'bard.title' => 'Bard', 'button_group.title' => 'Gruppo di pulsanti', - 'checkboxes.config.inline' => 'Visualizza le checkbox in riga.', 'checkboxes.config.options' => 'Imposta le chiavi dell\'array e le relative etichette opzionali.', 'checkboxes.title' => 'Checkboxes', 'code.config.indent_size' => 'Imposta la dimensione dell\'indentazione preferita (in spazi).', @@ -130,7 +129,6 @@ 'picker.category.special.description' => 'Questi campi sono speciali, ognuno a suo modo.', 'picker.category.structured.description' => 'Campi che gestiscono dati strutturati. Alcuni possono anche annidare altri campi al loro interno.', 'picker.category.text.description' => 'Campi che gestiscono stringhe di testo, "testo ricco" o entrambi.', - 'radio.config.inline' => 'Mostra le opzioni in linea.', 'radio.config.options' => 'Imposta le chiavi dell\'array e le relative etichette opzionali.', 'radio.title' => 'Radio', 'range.config.append' => 'Aggiungi del testo a destra dello slider.', diff --git a/lang/it/messages.php b/lang/it/messages.php index c50ed37ca7e..cbe99080bf1 100644 --- a/lang/it/messages.php +++ b/lang/it/messages.php @@ -179,14 +179,19 @@ 'password_protect_token_invalid' => 'Token non valido o scaduto.', 'password_protect_token_missing' => 'Token di sicurezza mancante. È necessario arrivare a questa schermata dall\'URL originale protetto.', 'phpinfo_utility_description' => 'Controlla la configurazione di PHP ed i moduli installati.', + 'preference_confirm_dirty_navigation_instructions' => 'Mostra un avviso quando tenti di abbandonare la pagina se ci sono modifiche che non hai ancora salvato.', 'preference_favorites_instructions' => 'Le scorciatoie che verranno visualizzate all\'apertura della barra di ricerca globale. In alternativa, è possibile visitare una pagina e utilizzare l\'icona a forma di puntina in alto per aggiungerla a questo elenco.', + 'preference_formatting_locale_instructions' => 'Le impostazioni locali utilizzate per la formattazione dei valori nel pannello di controllo, come date e numeri.', 'preference_locale_instructions' => 'La lingua preferita per il pannello di controllo.', 'preference_start_page_instructions' => 'La pagina da visualizzare quando si accede al pannello di controllo.', + 'preference_strict_accessibility_instructions' => 'Abbiamo progettato il pannello di controllo pensando all\'accessibilità, cercando di rispettare, ove possibile, le linee guida WCAG 2.2. Attiva questa opzione per applicare regole di accessibilità più rigorose aumentando il contrasto dei bordi del modulo.', + 'preference_theme_instructions' => 'Personalizza i colori e l\'aspetto del pannello di controllo', 'publish_actions_create_revision' => 'Verrà creata una revisione basata sulla copia di lavoro. L\'attuale revisione non cambierà.', 'publish_actions_current_becomes_draft_because_scheduled' => 'Poiché la revisione corrente viene pubblicata e hai selezionato una data futura, una volta inviata, la revisione verrà trattata come una bozza fino alla data di pubblicazione selezionata.', 'publish_actions_publish' => 'Le modifiche alla copia di lavoro verranno applicate alla voce e sarà pubblicata immediatamente.', 'publish_actions_schedule' => 'Le modifiche alla copia di lavoro verranno applicate alla voce ed apparirà pubblicata nella data selezionata.', 'publish_actions_unpublish' => 'L\'attuale revisione non sarà pubblicata.', + 'relationship_item_unavailable' => 'Questo elemento non è disponibile. Potrebbe essere stato eliminato oppure non hai i permessi per visualizzarlo.', 'reset_password_notification_body' => 'Ricevi questa email perché abbiamo ricevuto una richiesta di reimpostazione della password per il tuo account.', 'reset_password_notification_no_action' => 'Se non hai richiesto la reimpostazione della password, non sono necessarie ulteriori azioni.', 'reset_password_notification_subject' => 'Reimposta la password', diff --git a/lang/ja.json b/lang/ja.json index 3b8c1e48cef..e6c44f10dce 100644 --- a/lang/ja.json +++ b/lang/ja.json @@ -86,7 +86,6 @@ "Always show": "いつも見せる", "Always Show Set Button": "常に設定ボタンを表示", "An entry will be deleted|:count entries will be deleted": "エントリが削除されます| :count個のエントリが削除されます", - "An item with this ID could not be found": "この ID のアイテムが見つかりませんでした", "and": "そして", "and :count more": "そして:count", "Antlers": "アントラーズ", @@ -99,6 +98,7 @@ "Application Cache": "アプリケーションキャッシュ", "Application cache cleared.": "アプリケーションキャッシュがクリアされました。", "Apply": "適用する", + "Save All": "すべて保存", "Apply Link": "リンクを適用する", "Are you sure you want to delete this column?": "この列を削除してもよろしいですか?", "Are you sure you want to delete this entry?": "このエントリを削除してもよろしいですか?", diff --git a/lang/ja/fieldtypes.php b/lang/ja/fieldtypes.php index 9dc923fcd75..45806a9e0c3 100644 --- a/lang/ja/fieldtypes.php +++ b/lang/ja/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'フィールドの下部に単語数を表示します。', 'bard.title' => '吟遊詩人', 'button_group.title' => 'ボタングループ', - 'checkboxes.config.inline' => 'チェックボックスを連続して表示します。', 'checkboxes.config.options' => '配列キーとそのオプションのラベルを設定します。', 'checkboxes.title' => 'チェックボックス', 'code.config.indent_size' => '好みのインデント サイズ (スペース単位) を設定します。', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'これらの分野はそれぞれ独自の方法で特別です。', 'picker.category.structured.description' => '構造化データを格納するフィールド。中には他のフィールドをネストできるものもあります。', 'picker.category.text.description' => 'テキストの文字列、リッチコンテンツ、またはその両方を保存するフィールド。', - 'radio.config.inline' => 'ラジオボタンを連続して表示します。', 'radio.config.options' => '配列キーとそのオプションのラベルを設定します。', 'radio.title' => '無線', 'range.config.append' => 'スライダーの端(右側)にテキストを追加します。', diff --git a/lang/ja/messages.php b/lang/ja/messages.php index 9b8035b5dd8..a252c8c92a6 100644 --- a/lang/ja/messages.php +++ b/lang/ja/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => '作業コピーへの変更はエントリに適用され、すぐに公開されます。', 'publish_actions_schedule' => '作業コピーへの変更がエントリに適用され、選択した日付に公開されるようになります。', 'publish_actions_unpublish' => '現在のリビジョンは非公開になります。', + 'relationship_item_unavailable' => 'この項目は利用できません。削除されたか、表示する権限がない可能性があります。', 'reset_password_notification_body' => 'このメールは、アカウントのパスワード リセット リクエストを受け取ったためにお送りしています。', 'reset_password_notification_no_action' => 'パスワードのリセットを要求していない場合は、それ以上のアクションは必要ありません。', 'reset_password_notification_subject' => 'パスワードリセット通知', diff --git a/lang/ms.json b/lang/ms.json index 36f4ea8d0c8..b79e48b24ff 100644 --- a/lang/ms.json +++ b/lang/ms.json @@ -86,7 +86,6 @@ "Always show": "Sentiasa tunjuk", "Always Show Set Button": "Sentiasa tunjuk Set Butang", "An entry will be deleted|:count entries will be deleted": "Entri akan dihapus|:count entri akan dihapus", - "An item with this ID could not be found": "Item dengan ID ini tidak dapat dicari", "and": "dan", "and :count more": "dan :count lagi", "Antlers": "Tanduk", @@ -99,6 +98,7 @@ "Application Cache": "Cache Aplikasi", "Application cache cleared.": "Cache aplikasi dihapus.", "Apply": "Mohon", + "Save All": "Simpan semua", "Apply Link": "Gunakan Pautan", "Are you sure you want to delete this column?": "Anda pasti ingin menghapus lajur ini?", "Are you sure you want to delete this entry?": "Anda pasti ingin menghapus entri ini?", diff --git a/lang/ms/fieldtypes.php b/lang/ms/fieldtypes.php index 19bd59c4af0..a9fcf859377 100644 --- a/lang/ms/fieldtypes.php +++ b/lang/ms/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Tunjukkan bilangan perkataan di bahagian bawah medan.', 'bard.title' => 'Bard', 'button_group.title' => 'Translation ', - 'checkboxes.config.inline' => 'Tunjukkan kotak semak dalam satu baris.', 'checkboxes.config.options' => 'Tetapkan kunci tatasusunan dan label pilihannya.', 'checkboxes.title' => 'Kotak semak', 'code.config.indent_size' => 'Tetapkan saiz lekukan pilihan anda (dalam ruang).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Bidang ini istimewa, masing-masing dengan cara mereka sendiri.', 'picker.category.structured.description' => 'Bidang yang menyimpan data berstruktur. Malah ada yang boleh menyarangkan bidang lain di dalam diri mereka.', 'picker.category.text.description' => 'Bidang yang menyimpan rentetan teks, kandungan kaya atau kedua-duanya.', - 'radio.config.inline' => 'Tunjukkan butang radio dalam satu baris.', 'radio.config.options' => 'Tetapkan kunci tatasusunan dan label pilihannya.', 'radio.title' => 'Radio', 'range.config.append' => 'Tambahkan teks pada hujung (sebelah kanan) peluncur.', diff --git a/lang/ms/messages.php b/lang/ms/messages.php index f7dfe5e6b9f..e90b50732df 100644 --- a/lang/ms/messages.php +++ b/lang/ms/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'Perubahan pada salinan kerja akan digunakan pada penyertaan dan ia akan diterbitkan serta-merta.', 'publish_actions_schedule' => 'Perubahan pada salinan kerja akan digunakan pada penyertaan dan ia akan dipaparkan pada tarikh yang dipilih.', 'publish_actions_unpublish' => 'Semakan semasa akan dinyahterbitkan.', + 'relationship_item_unavailable' => 'Item ini tidak tersedia. Ia mungkin telah dipadam, atau anda mungkin tidak mempunyai kebenaran untuk melihatnya.', 'reset_password_notification_body' => 'Anda menerima e-mel ini kerana kami menerima permintaan tetapan semula kata laluan untuk akaun anda.', 'reset_password_notification_no_action' => 'Jika anda tidak meminta tetapan semula kata laluan, tiada tindakan lanjut diperlukan.e menerima permintaan tetapan semula kata laluan untuk akaun anda.', 'reset_password_notification_subject' => 'Tetapkan Semula Pemberitahuan Kata Laluan', diff --git a/lang/nb.json b/lang/nb.json index 95d37ec8d1b..af983e90438 100644 --- a/lang/nb.json +++ b/lang/nb.json @@ -87,7 +87,6 @@ "Always show": "Vis alltid", "Always Show Set Button": "Vis alltid Set-knappen", "An entry will be deleted|:count entries will be deleted": "En oppføring slettes|:count oppføringer slettes", - "An item with this ID could not be found": "Fant ikke element med denne ID-en", "and": "og", "and :count more": "og :count mer", "Antlers": "Antlers", @@ -102,6 +101,7 @@ "Applied to all users by default.": "Standard preferanser for alle brukere.", "Applied to your account.": "Preferanser for din konto.", "Apply": "Bruk", + "Save All": "Lagre alle", "Apply & Save": "Bruk & lagre", "Apply Link": "Bruk lenke", "Are you sure you want to delete this column?": "Er du sikker på at du vil slette denne kolonnen?", diff --git a/lang/nb/fieldtypes.php b/lang/nb/fieldtypes.php index 0cc843332d4..e1955785ed5 100644 --- a/lang/nb/fieldtypes.php +++ b/lang/nb/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Vis antall ord i bunn av feltet.', 'bard.title' => 'Bard', 'button_group.title' => 'Knappegruppe', - 'checkboxes.config.inline' => 'Vis avmerkingsboksene på en rad.', 'checkboxes.config.options' => 'Angi matrisenøkler og tilknyttede valgfrie etiketter.', 'checkboxes.title' => 'Avmerkingsbokser', 'code.config.indent_size' => 'Angi ønsket innrykk (i antall mellomrom).', @@ -131,7 +130,6 @@ 'picker.category.special.description' => 'Disse feltene er spesielle på hver sin måte.', 'picker.category.structured.description' => 'Felt som lagrer strukturerte data. Noen felt kan til og med ha nestede felt inni seg.', 'picker.category.text.description' => 'Felt som lagrer strenger av tekst, rikt innhold eller begge deler.', - 'radio.config.inline' => 'Vis valgknappene på en rad.', 'radio.config.options' => 'Angi matrisenøkler og tilknyttede valgfrie etiketter.', 'radio.title' => 'Valgknapp', 'range.config.append' => 'Legg til tekst på slutten (til høyre) av glidebryteren.', diff --git a/lang/nb/messages.php b/lang/nb/messages.php index 0999174955b..4444c276b4c 100644 --- a/lang/nb/messages.php +++ b/lang/nb/messages.php @@ -190,6 +190,7 @@ 'publish_actions_publish' => 'Endringer i arbeidskopien brukes, og den publiseres umiddelbart.', 'publish_actions_schedule' => 'Endringer i arbeidskopien brukes, og den publiseres på den valgte datoen.', 'publish_actions_unpublish' => 'Den gjeldende revisjonen vil ikke bli publisert.', + 'relationship_item_unavailable' => 'Dette elementet er ikke tilgjengelig. Det kan ha blitt slettet, eller du har kanskje ikke tilgang til å se det.', 'reset_password_notification_body' => 'Du får denne e-posten fordi vi har mottatt en forespørsel om tilbakestilling av passordet som er tilknyttet kontoen din.', 'reset_password_notification_no_action' => 'Hvis du ikke har sendt inn en forespørsel om tilbakestilling av passord, trenger du ikke å foreta deg noe.', 'reset_password_notification_subject' => 'Varsel om tilbakestilling av passord', diff --git a/lang/nl.json b/lang/nl.json index d669b65714e..405030b35fc 100644 --- a/lang/nl.json +++ b/lang/nl.json @@ -33,7 +33,6 @@ "Add": "Toevoegen", "Add a link label": "Voeg een linklabel toe", "Add Attribute": "Voeg attribuut toe", - "Add Block": "Voeg blok toe", "Add child link to entry": "Voeg een child link toe aan entry", "Add child nav item": "Voeg een child navigatie-item toe", "Add Color": "Voeg een kleur toe", @@ -109,6 +108,7 @@ "Apply": "Toepassen", "Apply & Close All": "Toepassen & alles sluiten", "Apply & Save": "Toepassen & opslaan", + "Save All": "Alles opslaan", "Apply Link": "Link bevestigen", "Apply Query Scopes": "Query-scopes toepassen", "Are you sure you want to delete this column?": "Weet je zeker dat je deze kolom wilt verwijderen?", @@ -585,7 +585,6 @@ "Icon": "Icoon", "Icon Set": "pictogram set", "ID": "ID", - "ID not found": "ID niet gevonden", "ID regenerated and Stache cleared": "ID's opnieuw gegenereerd en Stache geleegd", "If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "Als je problemen ondervindt bij het klikken op de knop \":actionText\", kopieer en plak de onderstaande URL dan in je webbrowser:", "Image": "Afbeelding", diff --git a/lang/nl/fieldtypes.php b/lang/nl/fieldtypes.php index dad2287abac..1bed61912fb 100644 --- a/lang/nl/fieldtypes.php +++ b/lang/nl/fieldtypes.php @@ -49,7 +49,6 @@ 'bard.config.word_count' => 'Toon het aantal woorden onderaan het veld.', 'bard.title' => 'Bard', 'button_group.title' => 'Button Group', - 'checkboxes.config.inline' => 'Toon de checkboxes in een rij.', 'checkboxes.config.options' => 'Stel de array keys en hun optionele labels in', 'checkboxes.title' => 'Checkboxes', 'code.config.indent_size' => 'Stel in hoeveel indentatie je wilt (in spaties).', @@ -141,7 +140,6 @@ 'picker.category.special.description' => 'Deze velden zijn speciaal, ieder op zijn eigen manier.', 'picker.category.structured.description' => 'Velden die data gestructureerd opslaan. Sommige kunnen andere velden bevatten.', 'picker.category.text.description' => 'Velden die strings met tekst, rich content of beide opslaan.', - 'radio.config.inline' => 'Toon de radioknoppen in een rij.', 'radio.config.options' => 'Stel de array keys en hun optionele labels in.', 'radio.title' => 'Radio', 'range.config.append' => 'Voeg tekst toe aan de het einde (rechterkant) van de slider.', diff --git a/lang/nl/messages.php b/lang/nl/messages.php index 36de0467623..3149af8d0e7 100644 --- a/lang/nl/messages.php +++ b/lang/nl/messages.php @@ -208,6 +208,7 @@ 'publish_actions_publish' => 'Aanpassingen aan de werkkopie worden toegepast op de entry en onmiddelijk gepubliceerd.', 'publish_actions_schedule' => 'Aanpassingen aan de werkkopie worden toegepast op de entry en gepubliceerd op de publicatiedatum.', 'publish_actions_unpublish' => 'De huidige revisie wordt gedepubliceerd.', + 'relationship_item_unavailable' => 'Dit item is niet beschikbaar. Het is mogelijk verwijderd, of je hebt geen toestemming om het te bekijken.', 'reset_password_notification_body' => 'Je ontvangt deze e-mail, omdat we een verzoek hebben gekregen om je wachtwoord te resetten.', 'reset_password_notification_no_action' => 'Als je geen verzoek hebt gedaan om je wachtwoord te resetten dan hoef je verder niets te doen.', 'reset_password_notification_subject' => 'Wachtwoordresetnotificatie', diff --git a/lang/pl.json b/lang/pl.json index 66ec8c9f4c0..ea74c4a2118 100644 --- a/lang/pl.json +++ b/lang/pl.json @@ -86,7 +86,6 @@ "Always show": "Zawsze pokazuj", "Always Show Set Button": "Zawsze pokazuj przycisk ustawiania", "An entry will be deleted|:count entries will be deleted": "Rekord zostanie usunięty|:count rekordów zostanie usuniętych", - "An item with this ID could not be found": "Nie można znaleźć przedmiotu o tym ID", "and": "i", "and :count more": "i :count więcej", "Antlers": "Poroże", @@ -99,6 +98,7 @@ "Application Cache": "Pamięć cache aplikacji", "Application cache cleared.": "Pamięć cache aplikacji usunięta.", "Apply": "Stosować", + "Save All": "Zapisz wszystko", "Apply Link": "Zastosuj link", "Are you sure you want to delete this column?": "Czy na pewno chcesz usunąć tę kolumnę?", "Are you sure you want to delete this entry?": "Czy na pewno chcesz usunąć ten rekord?", diff --git a/lang/pl/fieldtypes.php b/lang/pl/fieldtypes.php index 398731532dc..02154b139a8 100644 --- a/lang/pl/fieldtypes.php +++ b/lang/pl/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Pokaż liczbę słów na dole pola.', 'bard.title' => 'Bard', 'button_group.title' => 'Grupa przycisków', - 'checkboxes.config.inline' => 'Pokaż pola wyboru w rzędzie.', 'checkboxes.config.options' => 'Ustaw klucze tablicy i ich opcjonalne etykiety.', 'checkboxes.title' => 'Pola wyboru', 'code.config.indent_size' => 'Ustaw preferowany rozmiar wcięcia (w spacjach).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Te pola są specjalne, każde na swój sposób.', 'picker.category.structured.description' => 'Pola przechowujące uporządkowane dane. Niektóre mogą nawet zawierać inne pola w sobie.', 'picker.category.text.description' => 'Pola przechowujące ciągi tekstowe, bogatą zawartość lub oba.', - 'radio.config.inline' => 'Pokaż przyciski radiowe w rzędzie.', 'radio.config.options' => 'Ustaw klucze tablicy i ich opcjonalne etykiety.', 'radio.title' => 'Radio', 'range.config.append' => 'Dodaj tekst na końcu (po prawej stronie) suwaka.', diff --git a/lang/pl/messages.php b/lang/pl/messages.php index d2024663dd6..9fc03640588 100644 --- a/lang/pl/messages.php +++ b/lang/pl/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'Zmiany w kopii roboczej zostaną zastosowane do wpisu i zostanie on natychmiast opublikowany.', 'publish_actions_schedule' => 'Zmiany w kopii roboczej zostaną zastosowane do wpisu, który będzie wyświetlany jako opublikowany od wybranej daty.', 'publish_actions_unpublish' => 'Bieżąca rewizja zostanie cofnięta z publikacji.', + 'relationship_item_unavailable' => 'Ten element jest niedostępny. Mógł zostać usunięty lub nie masz uprawnień, aby go wyświetlić.', 'reset_password_notification_body' => 'Otrzymujesz ten e-mail, ponieważ otrzymaliśmy prośbę o zresetowanie hasła dla Twojego konta.', 'reset_password_notification_no_action' => 'Jeśli nie żądałeś zresetowania hasła, nie są wymagane żadne dalsze działania.', 'reset_password_notification_subject' => 'Powiadomienie o Zresetowaniu Hasła', diff --git a/lang/pt.json b/lang/pt.json index 127ef0b7496..04d5d4463f1 100644 --- a/lang/pt.json +++ b/lang/pt.json @@ -86,7 +86,6 @@ "Always show": "Mostrar sempre", "Always Show Set Button": "Botão Mostrar Set sempre", "An entry will be deleted|:count entries will be deleted": "Uma entrada será excluída | :count entradas de :count serão excluídas", - "An item with this ID could not be found": "Não foi possível encontrar um elemento com este ID", "and": "e", "and :count more": "e :count mais", "Antlers": "Chifres", @@ -99,6 +98,7 @@ "Application Cache": "Cache da aplicação", "Application cache cleared.": "Cache da aplicação limpo", "Apply": "Aplicar", + "Save All": "Guardar tudo", "Apply Link": "Aplicar Link", "Are you sure you want to delete this column?": "Tem a certeza de que deseja eliminar esta coluna?", "Are you sure you want to delete this entry?": "Tem certeza de que deseja eliminar esta entrada?", diff --git a/lang/pt/fieldtypes.php b/lang/pt/fieldtypes.php index 4e44281d368..bec6ffde8d2 100644 --- a/lang/pt/fieldtypes.php +++ b/lang/pt/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Mostre a contagem de palavras na parte inferior do campo.', 'bard.title' => 'Bard', 'button_group.title' => 'Button Group', - 'checkboxes.config.inline' => 'Mostrar as caixas de seleção em seguida.', 'checkboxes.config.options' => 'Defina as chaves da matriz e as suas etiquetas opcionais.', 'checkboxes.title' => 'Checkboxes', 'code.config.indent_size' => 'Defina o seu tamanho de indentação preferido (em espaços).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Esses campos são especiais, cada um à sua maneira.', 'picker.category.structured.description' => 'Campos que armazenam dados estruturados. Alguns podem até aninhar outros campos dentro de si mesmos.', 'picker.category.text.description' => 'Campos que armazenam sequências de texto, conteúdo avançado ou ambos.', - 'radio.config.inline' => 'Mostrar os botões do rádio em fila.', 'radio.config.options' => 'Defina as chaves da matriz e as suas etiquetas opcionais.', 'radio.title' => 'Radio', 'range.config.append' => 'Adicionar texto no fim (lado direito) da barra deslizante.', diff --git a/lang/pt/messages.php b/lang/pt/messages.php index 26b426617fe..00767ae408b 100644 --- a/lang/pt/messages.php +++ b/lang/pt/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'As alterações na cópia de trabalho serão aplicadas à entrada e serão publicadas imediatamente.', 'publish_actions_schedule' => 'As alterações na cópia de trabalho serão aplicadas à entrada e aparecerão publicadas na data seleccionada.', 'publish_actions_unpublish' => 'A revisão actual não será publicada.', + 'relationship_item_unavailable' => 'Este item não está disponível. Pode ter sido eliminado ou poderá não ter permissão para o visualizar.', 'reset_password_notification_body' => 'Recebeu este email porque foi feita uma solicitação de redefinição de senha para sua conta.', 'reset_password_notification_no_action' => 'Se não solicitou uma redefinição de senha, nenhuma acção adicional será necessária.', 'reset_password_notification_subject' => 'Redefinir notificação de senha', diff --git a/lang/pt_BR.json b/lang/pt_BR.json index a790b5dd4b7..9c198539c85 100644 --- a/lang/pt_BR.json +++ b/lang/pt_BR.json @@ -86,7 +86,6 @@ "Always show": "Sempre mostrar", "Always Show Set Button": "Sempre mostrar botão de Conjunto", "An entry will be deleted|:count entries will be deleted": "Uma entrada será excluída|:count entradas serão excluídas", - "An item with this ID could not be found": "Não foi possível encontrar um item com este ID", "and": "e", "and :count more": "e :count mais", "Antlers": "Chifres", @@ -99,6 +98,7 @@ "Application Cache": "Cache da Aplicação", "Application cache cleared.": "Cache da aplicação limpo.", "Apply": "Aplicar", + "Save All": "Salvar tudo", "Apply Link": "Aplicar link", "Are you sure you want to delete this column?": "Tem certeza que deseja excluir esta coluna?", "Are you sure you want to delete this entry?": "Tem certeza que deseja excluir esta entrada?", diff --git a/lang/pt_BR/fieldtypes.php b/lang/pt_BR/fieldtypes.php index 435d6de4ac1..c38e46c9ec2 100644 --- a/lang/pt_BR/fieldtypes.php +++ b/lang/pt_BR/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Mostre a contagem de palavras na parte inferior do campo.', 'bard.title' => 'Bardo', 'button_group.title' => 'Grupo de botões', - 'checkboxes.config.inline' => 'Mostrar as caixas de seleção em uma linha.', 'checkboxes.config.options' => 'Defina as chaves da matriz e seus rótulos opcionais.', 'checkboxes.title' => 'Caixas de seleção', 'code.config.indent_size' => 'Defina seu tamanho de recuo preferido (em espaços).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Esses campos são especiais, cada um à sua maneira.', 'picker.category.structured.description' => 'Campos que armazenam dados estruturados. Alguns podem até aninhar outros campos dentro de si mesmos.', 'picker.category.text.description' => 'Campos que armazenam sequências de texto, conteúdo avançado ou ambos.', - 'radio.config.inline' => 'Mostrar os botões de opção em uma linha.', 'radio.config.options' => 'Defina as chaves da matriz e seus rótulos opcionais.', 'radio.title' => 'Rádio', 'range.config.append' => 'Adicione texto ao final (lado direito) do controle deslizante.', diff --git a/lang/pt_BR/messages.php b/lang/pt_BR/messages.php index 818a0c9b605..8845a6ec834 100644 --- a/lang/pt_BR/messages.php +++ b/lang/pt_BR/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'As alterações à cópia de trabalho serão aplicadas à entrada e serão publicadas imediatamente.', 'publish_actions_schedule' => 'As alterações à cópia de trabalho serão aplicadas à entrada e aparecerá publicada na data selecionada.', 'publish_actions_unpublish' => 'A revisão atual será despublicada.', + 'relationship_item_unavailable' => 'Este item não está disponível. Ele pode ter sido excluído ou você pode não ter permissão para visualizá-lo.', 'reset_password_notification_body' => 'Você está recebendo este e-mail porque recebemos uma solicitação de redefinição de senha para sua conta.', 'reset_password_notification_no_action' => 'Se você não solicitou uma redefinição de senha, nenhuma ação adicional será necessária.', 'reset_password_notification_subject' => 'Notificação de Redefinição de Senha', diff --git a/lang/ru.json b/lang/ru.json index 15b0baf0978..88c0ab02f9d 100644 --- a/lang/ru.json +++ b/lang/ru.json @@ -35,7 +35,6 @@ "Add": "Добавить", "Add a link label": "Добавить название ссылки", "Add Attribute": "Добавить атрибут", - "Add Block": "Добавить блок", "Add child link to entry": "Добавить дочернюю ссылку на запись", "Add child nav item": "Добавить дочерний элемент навигации", "Add Color": "Добавить цвет", @@ -116,6 +115,7 @@ "Apply": "Применить", "Apply & Close All": "Применить и закрыть все", "Apply & Save": "Применить и сохранить", + "Save All": "Сохранить все", "Apply Link": "Применить ссылку", "Apply Query Scopes": "Применить области запроса", "Are you sure you want to delete this column?": "Хотите удалить этот столбец?", @@ -623,7 +623,6 @@ "Icon": "Иконка", "Icon Set": "Набор иконок", "ID": "ID", - "ID not found": "ID не найден", "ID regenerated and Stache cleared": "ID обновлён, а Stache очищен", "If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:": "Если у вас возникли проблемы с нажатием кнопки \":actionText\" скопируйте и вставьте URL ниже\nв свой веб-браузер:", "Image": "Изображения", diff --git a/lang/ru/fieldtypes.php b/lang/ru/fieldtypes.php index 84dc46798f5..ab4c64113d7 100644 --- a/lang/ru/fieldtypes.php +++ b/lang/ru/fieldtypes.php @@ -49,7 +49,6 @@ 'bard.config.word_count' => 'Покажите количество слов в нижней части поля.', 'bard.title' => 'Bard', 'button_group.title' => 'Группа кнопок', - 'checkboxes.config.inline' => 'Показать флажки в ряд.', 'checkboxes.config.options' => 'Установите ключи массива и их необязательные метки.', 'checkboxes.title' => 'Флажки', 'code.config.color_mode' => 'Выберите предпочитаемую тему.', @@ -140,7 +139,6 @@ 'picker.category.special.description' => 'Эти поля особенные, каждое по-своему.', 'picker.category.structured.description' => 'Поля, в которых хранятся структурированные данные. Некоторые из них даже могут вложить другие поля внутрь себя.', 'picker.category.text.description' => 'Поля, хранящие строки текста, сложный контент или и то, и другое.', - 'radio.config.inline' => 'Показывать радиокнопки в ряд.', 'radio.config.options' => 'Задать ключи массива и их необязательные метки.', 'radio.title' => 'Переключатели', 'range.config.append' => 'Добавить текст в конец (правую сторону) слайдера.', diff --git a/lang/ru/messages.php b/lang/ru/messages.php index d710c55d0e8..1ee736e9cc3 100644 --- a/lang/ru/messages.php +++ b/lang/ru/messages.php @@ -206,6 +206,7 @@ 'publish_actions_publish' => 'Изменения в рабочей копии будут применены к записи, и она будет немедленно опубликована.', 'publish_actions_schedule' => 'Изменения в рабочей копии будут применены к записи, и она будет опубликована в выбранную дату.', 'publish_actions_unpublish' => 'Текущая ревизия будет неопубликована.', + 'relationship_item_unavailable' => 'Этот элемент недоступен. Возможно, он был удалён или у вас нет прав для его просмотра.', 'reset_password_notification_body' => 'Вы получили это письмо, потому что к нам поступил запрос на сброс пароля для вашей учётной записи.', 'reset_password_notification_no_action' => 'Если вы не запрашивали сброс пароля, дальнейшие действия не требуются.', 'reset_password_notification_subject' => 'Уведомление о сбросе пароля', diff --git a/lang/sl.json b/lang/sl.json index 74eb80e4b44..c8db70692ff 100644 --- a/lang/sl.json +++ b/lang/sl.json @@ -86,7 +86,6 @@ "Always show": "Vedno pokaži", "Always Show Set Button": "Vedno prikaži gumb za nastavitev", "An entry will be deleted|:count entries will be deleted": "Vnos bo izbrisan | :count vnosov bo izbrisano", - "An item with this ID could not be found": "Elementa s tem ID ni bilo mogoče najti", "and": "in", "and :count more": "in še :count", "Antlers": "Rogovje", @@ -99,6 +98,7 @@ "Application Cache": "Predpomnilnik aplikacije", "Application cache cleared.": "Predpomnilnik aplikacije je bil očiščen.", "Apply": "Prijavite se", + "Save All": "Shrani vse", "Apply Link": "Uporabi povezavo", "Are you sure you want to delete this column?": "Ali ste prepričani, da želite izbrisati ta stolpec?", "Are you sure you want to delete this entry?": "Ali ste prepričani, da želite izbrisati ta vnos?", diff --git a/lang/sl/fieldtypes.php b/lang/sl/fieldtypes.php index e4d05b731fb..627a6865c58 100644 --- a/lang/sl/fieldtypes.php +++ b/lang/sl/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Pokažite število besed na dnu polja.', 'bard.title' => 'Bard', 'button_group.title' => 'Button Group', - 'checkboxes.config.inline' => 'Pokažite potrditvena polja v vrstici.', 'checkboxes.config.options' => 'Nastavite matrične tipke in njihove neobvezne nalepke.', 'checkboxes.title' => 'Checkboxes', 'code.config.indent_size' => 'Nastavite želeno velikost zamika (v presledkih).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Ta polja so posebna, vsaka na svoj način.', 'picker.category.structured.description' => 'Polja, ki hranijo strukturirane podatke. Nekateri lahko celo ugnezdijo druga polja vase.', 'picker.category.text.description' => 'Polja, ki shranjujejo nize besedila, obogateno vsebino ali oboje.', - 'radio.config.inline' => 'Prikažite izbirne gumbe zaporedoma.', 'radio.config.options' => 'Nastavite matrične tipke in njihove neobvezne nalepke.', 'radio.title' => 'Radio', 'range.config.append' => 'Besedilo dodajte na konec (desna stran) drsnika.', diff --git a/lang/sl/messages.php b/lang/sl/messages.php index 7fb9def8126..5600bd65bfd 100644 --- a/lang/sl/messages.php +++ b/lang/sl/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'Spremembe delovne kopije bodo veljale za vnos in bo takoj objavljena.', 'publish_actions_schedule' => 'Spremembe delovne kopije bodo veljale za vnos in bo objavljena na izbrani datum.', 'publish_actions_unpublish' => 'Trenutna revizija ne bo objavljena.', + 'relationship_item_unavailable' => 'Ta element ni na voljo. Morda je bil izbrisan ali pa nimate dovoljenja za ogled.', 'reset_password_notification_body' => 'To e-poštno sporočilo ste prejeli, ker smo za vaš račun prejeli zahtevo za ponastavitev gesla.', 'reset_password_notification_no_action' => 'Če niste zahtevali ponastavitve gesla, nadaljnja dejanja niso potrebna.', 'reset_password_notification_subject' => 'Ponastavi obvestilo o geslu', diff --git a/lang/sv.json b/lang/sv.json index b26c3ad9841..f05ab968f94 100644 --- a/lang/sv.json +++ b/lang/sv.json @@ -86,7 +86,6 @@ "Always show": "Visa alltid", "Always Show Set Button": "Visa alltid knappen för uppsättningar", "An entry will be deleted|:count entries will be deleted": "Ett inlägg kommer raderas|:count inlägg kommer raderas", - "An item with this ID could not be found": "Ett objekt med detta ID kunde inte hittas", "and": "och", "and :count more": "och :count till", "Antlers": "Horn", @@ -99,6 +98,7 @@ "Application Cache": "Applikationscache", "Application cache cleared.": "Applikationscachen rensades.", "Apply": "Verkställ", + "Save All": "Spara alla", "Apply Link": "Använd länk", "Are you sure you want to delete this column?": "Är du säker på att du vill radera den här kolumnen?", "Are you sure you want to delete this entry?": "Är du säker på att du vill radera det här inlägget?", diff --git a/lang/sv/fieldtypes.php b/lang/sv/fieldtypes.php index 677bae1328d..af00f13810b 100644 --- a/lang/sv/fieldtypes.php +++ b/lang/sv/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Visa antalet ord längst ner i fältet.', 'bard.title' => 'Bard', 'button_group.title' => 'Knappgrupp', - 'checkboxes.config.inline' => 'Visa kryssrutorna i rad.', 'checkboxes.config.options' => 'Ställ in array-nycklarna och deras valfria etiketter.', 'checkboxes.title' => 'Kryssrutor', 'code.config.indent_size' => 'Ställ in önskad indragsstorlek (i blanksteg).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Dessa områden är speciella, var och en på sitt sätt.', 'picker.category.structured.description' => 'Fält som lagrar strukturerad data. Vissa kan till och med häcka andra fält inom sig själva.', 'picker.category.text.description' => 'Fält som lagrar textsträngar, rikt innehåll eller båda.', - 'radio.config.inline' => 'Visa alternativknapparna i rad.', 'radio.config.options' => 'Ställ in array-tangenterna och deras valfria etiketter.', 'radio.title' => 'Alternativknappar', 'range.config.append' => 'Lägg till text i slutet (höger sida) av skjutreglaget.', diff --git a/lang/sv/messages.php b/lang/sv/messages.php index 5a2b50636cb..c8f48182c40 100644 --- a/lang/sv/messages.php +++ b/lang/sv/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'Ändringar av arbetsexemplaret kommer att tillämpas på inlägget och det kommer att publiceras omedelbart.', 'publish_actions_schedule' => 'Ändringar av arbetskopian kommer att tillämpas på posten och den kommer att visas publicerad på det valda datumet.', 'publish_actions_unpublish' => 'Den aktuella versionen kommer att avpubliceras.', + 'relationship_item_unavailable' => 'Det här objektet är inte tillgängligt. Det kan ha tagits bort, eller så har du inte behörighet att visa det.', 'reset_password_notification_body' => 'Du får det här e-postmeddelandet eftersom vi har fått en begäran om lösenordsåterställning för ditt konto.', 'reset_password_notification_no_action' => 'Om du inte begärde en lösenordsåterställning krävs ingen ytterligare åtgärd.', 'reset_password_notification_subject' => 'Återställ lösenordsmeddelande', diff --git a/lang/tr.json b/lang/tr.json index 336334be3ef..b03b9761206 100644 --- a/lang/tr.json +++ b/lang/tr.json @@ -86,7 +86,6 @@ "Always show": "Her zaman göster", "Always Show Set Button": "Daima Set Düğmesini Göster", "An entry will be deleted|:count entries will be deleted": "Bir girdi silinecek|:count girdi silinecek", - "An item with this ID could not be found": "Bu ID'ye sahip bir öğe bulunamadı", "and": "ve", "and :count more": "Ve :count daha", "Antlers": "Antlers", @@ -99,6 +98,7 @@ "Application Cache": "Uygulama Önbelleği", "Application cache cleared.": "Uygulama önbelleği temizlendi.", "Apply": "Uygula", + "Save All": "Tümünü kaydet", "Apply Link": "Bağlantı Uygula", "Are you sure you want to delete this column?": "Bu sütunu silmek istediğinizden emin misiniz?", "Are you sure you want to delete this entry?": "Bu girdiyi silmek istediğinizden emin misiniz?", diff --git a/lang/tr/fieldtypes.php b/lang/tr/fieldtypes.php index 8301975e557..e77152cc5b8 100644 --- a/lang/tr/fieldtypes.php +++ b/lang/tr/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Alanın alt kısmında kelime sayısını göster.', 'bard.title' => 'Bard', 'button_group.title' => 'Buton Grubu', - 'checkboxes.config.inline' => 'Onay kutularını arka arkaya göster.', 'checkboxes.config.options' => 'Dizi tuşlarını ve isteğe bağlı etiketlerini ayarlayın.', 'checkboxes.title' => 'Onay kutuları', 'code.config.indent_size' => 'Tercih ettiğiniz girinti boyutunu ayarlayın (boşluklarda).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Bu alanlar, her biri kendi yolunda özeldir.', 'picker.category.structured.description' => 'Yapılandırılmış verileri depolayan alanlar. Hatta bazıları diğer alanları kendi içlerine yerleştirebilir.', 'picker.category.text.description' => 'Metin dizelerini, zengin içeriği veya her ikisini depolayan alanlar.', - 'radio.config.inline' => 'Radyo düğmelerini arka arkaya göster.', 'radio.config.options' => 'Dizi tuşlarını ve isteğe bağlı etiketlerini ayarlayın.', 'radio.title' => 'Radio', 'range.config.append' => 'Kaydırıcının sonuna (sağ tarafına) metin ekleyin.', diff --git a/lang/tr/messages.php b/lang/tr/messages.php index 10b772c6e33..f19a6be79f3 100644 --- a/lang/tr/messages.php +++ b/lang/tr/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'Çalışma kopyasında yapılan değişiklikler girişe uygulanacak ve hemen yayınlanacaktır.', 'publish_actions_schedule' => 'Çalışma kopyasında yapılan değişiklikler girişe uygulanacak ve seçilen tarihte yayınlanmış olarak görünecektir.', 'publish_actions_unpublish' => 'Mevcut revizyon yayından kaldırılacaktır.', + 'relationship_item_unavailable' => 'Bu öğe kullanılamıyor. Silinmiş olabilir veya görüntüleme izniniz olmayabilir.', 'reset_password_notification_body' => 'Bu e-postayı, hesabınız için bir şifre sıfırlama isteği aldığımız için alıyorsunuz.', 'reset_password_notification_no_action' => 'Parola sıfırlama talebinde bulunmadıysanız, başka bir işlem yapmanız gerekmez.', 'reset_password_notification_subject' => 'Parola Sıfırlama Bildirimi', diff --git a/lang/uk.json b/lang/uk.json index 0027d44f1ec..3cf753538b7 100644 --- a/lang/uk.json +++ b/lang/uk.json @@ -86,7 +86,6 @@ "Always show": "Завжди показувати", "Always Show Set Button": "Завжди показувати кнопку набору", "An entry will be deleted|:count entries will be deleted": "Запис буде видалено|:count записів буде видалено", - "An item with this ID could not be found": "Елемент з цим ID не можна було знайти", "and": "та", "and :count more": "та ще :count", "Antlers": "Antlers", @@ -99,6 +98,7 @@ "Application Cache": "Кеш додатків", "Application cache cleared.": "Кеш додатків очищено.", "Apply": "Застосувати", + "Save All": "Зберегти все", "Apply Link": "Застосувати посилання", "Are you sure you want to delete this column?": "Ви впевнені, що хочете видалити цей стовпець?", "Are you sure you want to delete this entry?": "Ви впевнені, що хочете видалити цей запис?", diff --git a/lang/uk/fieldtypes.php b/lang/uk/fieldtypes.php index fee48571112..bdfa64ae2b0 100644 --- a/lang/uk/fieldtypes.php +++ b/lang/uk/fieldtypes.php @@ -50,7 +50,6 @@ 'bard.config.word_count' => 'Показувати кількість слів внизу поля.', 'bard.title' => 'Bard', 'button_group.title' => 'Група кнопок', - 'checkboxes.config.inline' => 'Показувати поля вибору в ряд.', 'checkboxes.config.options' => 'Встановіть ключі масиву та їх необов’язкові мітки.', 'checkboxes.title' => 'Прапорці', 'code.config.indent_size' => 'Встановіть бажаний розмір відступу (в пробілах).', @@ -131,7 +130,6 @@ 'picker.category.special.description' => 'Ці поля є особливими, кожне своїм способом.', 'picker.category.structured.description' => 'Поля, що зберігають структуровані дані. Деякі навіть можуть вкладати інші поля всередину себе.', 'picker.category.text.description' => 'Поля, що зберігають рядки тексту, багатий контент або обидва.', - 'radio.config.inline' => 'Показувати радіо-кнопки в ряд.', 'radio.config.options' => 'Встановіть ключі масиву та їх необов’язкові мітки.', 'radio.title' => 'Радіо', 'range.config.append' => 'Додати текст до кінця (правої сторони) повзунка.', diff --git a/lang/uk/messages.php b/lang/uk/messages.php index 93023271dae..9589cb59b3e 100644 --- a/lang/uk/messages.php +++ b/lang/uk/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'Зміни до робочої копії будуть застосовані до запису, і він буде опублікований негайно.', 'publish_actions_schedule' => 'Зміни до робочої копії будуть застосовані до запису, і він буде опублікований у вибрану дату.', 'publish_actions_unpublish' => 'Поточна ревізія буде знята з публікації.', + 'relationship_item_unavailable' => 'Цей елемент недоступний. Можливо, його було видалено або у вас немає дозволу на його перегляд.', 'reset_password_notification_body' => 'Ви отримуєте цей лист, тому що ми отримали запит на скидання пароля для вашого акаунта.', 'reset_password_notification_no_action' => 'Якщо ви не запитували скидання пароля, подальші дії не потрібні.', 'reset_password_notification_subject' => 'Повідомлення про скидання пароля', diff --git a/lang/vi.json b/lang/vi.json index 27b935de227..94ad55dc5a6 100644 --- a/lang/vi.json +++ b/lang/vi.json @@ -86,7 +86,6 @@ "Always show": "Luôn luôn hiển thị", "Always Show Set Button": "Luôn luôn hiển thị nút đặt", "An entry will be deleted|:count entries will be deleted": "Mục nhập sẽ bị xoá", - "An item with this ID could not be found": "Không tìm thấy mục có mã nhận diện này", "and": "và", "and :count more": "đếm thêm", "Antlers": "Kiến", @@ -99,6 +98,7 @@ "Application Cache": "Bộ nhớ tạm ứng dụng", "Application cache cleared.": "Bộ nhớ tạm ứng dụng đã được bật.", "Apply": "Áp dụng", + "Save All": "Lưu tất cả", "Apply Link": "Áp dụng liên kết", "Are you sure you want to delete this column?": "Bạn có chắc muốn xoá cột này không?", "Are you sure you want to delete this entry?": "Bạn có chắc muốn xoá mục này không?", diff --git a/lang/vi/fieldtypes.php b/lang/vi/fieldtypes.php index b346f37c9fb..9785e135aa0 100644 --- a/lang/vi/fieldtypes.php +++ b/lang/vi/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => 'Hiển thị số lượng từ ở cuối trường.', 'bard.title' => 'Bard', 'button_group.title' => 'Nhóm nút', - 'checkboxes.config.inline' => 'Hiển thị các hộp kiểm trên một hàng.', 'checkboxes.config.options' => 'Đặt khóa và nhãn tùy chọn.', 'checkboxes.title' => 'Hộp kiểm', 'code.config.indent_size' => 'Đặt kích thước thụt lề ưa thích (tính bằng dấu cách).', @@ -129,7 +128,6 @@ 'picker.category.special.description' => 'Các trường này có các đặc điểm đặc biệt riêng.', 'picker.category.structured.description' => 'Các trường lưu trữ dữ liệu có cấu trúc. Một số có thể lồng các trường khác bên trong.', 'picker.category.text.description' => 'Các trường lưu trữ chuỗi văn bản, nội dung phong phú hoặc cả hai.', - 'radio.config.inline' => 'Hiển thị các nút radio theo hàng ngang.', 'radio.config.options' => 'Đặt các khóa và nhãn tùy chọn.', 'radio.title' => 'Nút radio', 'range.config.append' => 'Thêm văn bản vào cuối thanh trượt.', diff --git a/lang/vi/messages.php b/lang/vi/messages.php index 0e13a9f3a10..1bf94b0cc33 100644 --- a/lang/vi/messages.php +++ b/lang/vi/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => 'Những thay đổi đối với bản sao làm việc sẽ được áp dụng cho mục nhập và sẽ được xuất bản ngay lập tức.', 'publish_actions_schedule' => 'Những thay đổi đối với bản sao làm việc sẽ được áp dụng cho mục nhập và mục nhập đó sẽ được xuất bản vào ngày đã chọn.', 'publish_actions_unpublish' => 'Bản sửa đổi hiện tại sẽ không được công bố.', + 'relationship_item_unavailable' => 'Mục này không khả dụng. Mục có thể đã bị xóa hoặc bạn không có quyền xem.', 'reset_password_notification_body' => 'Bạn nhận được email này vì chúng tôi đã nhận được yêu cầu đặt lại mật khẩu cho tài khoản của bạn.', 'reset_password_notification_no_action' => 'Nếu bạn không yêu cầu đặt lại mật khẩu, bạn không cần thực hiện thêm hành động nào nữa.', 'reset_password_notification_subject' => 'Thông báo đặt lại mật khẩu', diff --git a/lang/zh_CN.json b/lang/zh_CN.json index d200ba9aba9..e1a03df207f 100644 --- a/lang/zh_CN.json +++ b/lang/zh_CN.json @@ -86,7 +86,6 @@ "Always show": "始终显示", "Always Show Set Button": "始终显示设置按钮", "An entry will be deleted|:count entries will be deleted": "条目将被删除|:count个条目将被删除", - "An item with this ID could not be found": "找不到具有该ID的项目", "and": "和", "and :count more": "以及更多的 :count 个", "Antlers": "鹿角", @@ -99,6 +98,7 @@ "Application Cache": "应用缓存", "Application cache cleared.": "应用程序缓存已清除。", "Apply": "申请", + "Save All": "全部保存", "Apply Link": "应用链接", "Are you sure you want to delete this column?": "您确定要删除此列吗?", "Are you sure you want to delete this entry?": "您确定要删除此条目吗?", diff --git a/lang/zh_CN/fieldtypes.php b/lang/zh_CN/fieldtypes.php index 028d2f0a2a7..4ea0fd6adf6 100644 --- a/lang/zh_CN/fieldtypes.php +++ b/lang/zh_CN/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => '在字段底部显示字数。', 'bard.title' => 'Bard 编辑器', 'button_group.title' => '按钮组', - 'checkboxes.config.inline' => '连续显示复选框。', 'checkboxes.config.options' => '设置阵列键及其可选标签。', 'checkboxes.title' => '复选框', 'code.config.indent_size' => '设置首选的缩进大小 (以空格为单位)。', @@ -129,7 +128,6 @@ 'picker.category.special.description' => '这些字段是特殊的,每个都有自己的方式。', 'picker.category.structured.description' => '存储结构化数据的字段。 有些甚至可以在自己内部嵌套其他字段。', 'picker.category.text.description' => '存储文本字符串、富文本内容或两者都有的字段。', - 'radio.config.inline' => '在行内显示单选按钮。', 'radio.config.options' => '设置阵列键及其可选标签。', 'radio.title' => '单选框', 'range.config.append' => '将文本添加到幻灯片的末尾(右侧)。', diff --git a/lang/zh_CN/messages.php b/lang/zh_CN/messages.php index 66ea03bfc9a..5109fd554ef 100644 --- a/lang/zh_CN/messages.php +++ b/lang/zh_CN/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => '对工作副本所做的更改将应用于该条目,并且将立即发布。', 'publish_actions_schedule' => '对工作副本所做的更改将应用于该条目,并且将在选定的日期显示为已发布。', 'publish_actions_unpublish' => '当前版本将不发布。', + 'relationship_item_unavailable' => '此项目不可用。它可能已被删除,或者您可能没有查看权限。', 'reset_password_notification_body' => '您收到此电子邮件是因为我们收到了您帐户的密码重置请求。', 'reset_password_notification_no_action' => '如果您不要求重设密码,则无需采取进一步措施。', 'reset_password_notification_subject' => '重置密码通知', diff --git a/lang/zh_TW.json b/lang/zh_TW.json index 7e0350cee21..61679f1a2da 100644 --- a/lang/zh_TW.json +++ b/lang/zh_TW.json @@ -86,7 +86,6 @@ "Always show": "總是顯示", "Always Show Set Button": "總是顯示集合按鈕", "An entry will be deleted|:count entries will be deleted": "將刪除 :count 個條目", - "An item with this ID could not be found": "未找到此 ID 的項目", "and": "與", "and :count more": "與其他 :count 項", "Antlers": "鹿角", @@ -99,6 +98,7 @@ "Application Cache": "應用程式快取", "Application cache cleared.": "已清除應用程式快取。", "Apply": "申请", + "Save All": "全部儲存", "Apply Link": "套用連結", "Are you sure you want to delete this column?": "確定要刪除此一欄位?", "Are you sure you want to delete this entry?": "確定要刪除此一條目?", diff --git a/lang/zh_TW/fieldtypes.php b/lang/zh_TW/fieldtypes.php index 69fe668258c..010c473f4d2 100644 --- a/lang/zh_TW/fieldtypes.php +++ b/lang/zh_TW/fieldtypes.php @@ -48,7 +48,6 @@ 'bard.config.word_count' => '在字段底部显示字数。', 'bard.title' => 'Bard 編輯器', 'button_group.title' => '按鈕群組', - 'checkboxes.config.inline' => '在同一行內顯示勾選框。', 'checkboxes.config.options' => '設定陣列索引鍵與其可選的標籤。', 'checkboxes.title' => '勾選框', 'code.config.indent_size' => '設定偏好的縮排大小 (空格)。', @@ -129,7 +128,6 @@ 'picker.category.special.description' => '这些领域都很特殊,各有各的特色。', 'picker.category.structured.description' => '存储结构化数据的字段。有些甚至可以将其他字段嵌套在其内部。', 'picker.category.text.description' => '存储文本字符串、丰富内容或两者的字段。', - 'radio.config.inline' => '在單行中顯示單選按鈕。', 'radio.config.options' => '設定陣列索引鍵與其可選的標籤。', 'radio.title' => '單選按鈕', 'range.config.append' => '新增文字至滑桿的結尾 (右邊)。', diff --git a/lang/zh_TW/messages.php b/lang/zh_TW/messages.php index 2e9c43a8436..d7fa89b9adc 100644 --- a/lang/zh_TW/messages.php +++ b/lang/zh_TW/messages.php @@ -187,6 +187,7 @@ 'publish_actions_publish' => '對該工作複本做出的更改將套用至該條目,且將立即發佈。', 'publish_actions_schedule' => '對該工作複本做出的更改將套用至該條目,且將在所選日期顯示為已發佈。', 'publish_actions_unpublish' => '目前的修訂版將不發佈。', + 'relationship_item_unavailable' => '此項目無法使用。它可能已被刪除,或者您可能沒有檢視權限。', 'reset_password_notification_body' => '你會收到此電子郵件時因為我們收到了重設密碼的請求。', 'reset_password_notification_no_action' => '若你未要求重設密碼,則不需進一步操作。', 'reset_password_notification_subject' => '重設密碼通知', diff --git a/package-lock.json b/package-lock.json index f5cde1e88f4..91aa419dcb8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "dependencies": { "@davidenke/marked-text-renderer": "^3.0.0", "@floating-ui/dom": "^1.6.0", - "@he-tree/vue": "^2.10.0-beta.2", + "@he-tree/vue": "^2.10.5", "@hoppscotch/vue-toasted": "^0.1.0", "@inertiajs/vue3": "^2.1.11", "@internationalized/date": "^3.7.0", @@ -45,18 +45,18 @@ "@tiptap/vue-3": "^3.0.0", "alpinejs": "^3.1.1", "autosize": "~6.0.1", - "axios": "^1.13.5", + "axios": "^1.18.1", "clsx": "^2.1.1", "codemirror": "5.65.12", "cookies-js": "^1.2.2", "cropperjs": "^1.6.2", "cva": "^1.0.0-beta.3", - "dompurify": "^3.3.1", + "dompurify": "^3.4.11", "floating-vue": "^5.2.2", "fuzzysort": "^3.1.0", "highlight.js": "^11.7.0", "laravel-echo": "^1.16.0", - "lodash-es": "^4.17.21", + "lodash-es": "^4.18.1", "lowlight": "^3.1.0", "marked": "^15.0.0", "motion-v": "^1.0.0-beta.0", @@ -68,9 +68,9 @@ "portal-vue": "^3.0.0", "pretty": "^2.0.0", "pusher-js": "^8.4.0-rc2", - "qs": "^6.14.2", + "qs": "^6.15.2", "read-time-estimate": "0.0.3", - "reka-ui": "^2.6.1", + "reka-ui": "^2.9.2", "resize-observer-polyfill": "^1.5.1", "semver": "^7.7.1", "speakingurl": "^14.0.1", @@ -97,13 +97,12 @@ "@vue/test-utils": "^2.4.6", "jsdom": "^26.0.0", "knip": "^5.43.6", - "laravel-vite-plugin": "^2.0.0", - "rollup-plugin-visualizer": "^5.14.0", - "storybook": "^10.2.10", + "laravel-vite-plugin": "^3.0.0", + "rollup-plugin-visualizer": "^7.0.0", + "storybook": "^10.4.6", "tailwindcss": "^4.1.8", "typescript": "^5.9.2", - "vite": "^7.0.4", - "vite-tsconfig-paths": "^5.1.4", + "vite": "^8.0.16", "vitest": "^4.0.12", "vitest-browser-vue": "^2.0.1", "vue-component-debug": "^0.1.0", @@ -117,20 +116,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@asamuzakjp/css-color": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", @@ -146,14 +131,14 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -171,21 +156,21 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz", - "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "license": "MIT", "dependencies": { - "@babel/types": "^7.28.0" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -195,31 +180,38 @@ } }, "node_modules/@babel/runtime": { - "version": "7.27.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", - "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.0.tgz", - "integrity": "sha512-jYnje+JyZG5YThjHiF28oT4SIZLnYOcSBb6+SDaFIyzDVSkXQmQQYclJ2R+YxcdmK0AX6x1E5OQNtuh3jHDrUg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@blazediff/core": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@blazediff/core/-/core-1.9.1.tgz", + "integrity": "sha512-ehg3jIkYKulZh+8om/O25vkvSsXXwC+skXmyA87FFx6A/45eqOkZsBltMw/TVteb0mloiGT8oGRTcjRAz66zaA==", + "dev": true, + "license": "MIT" + }, "node_modules/@csstools/color-helpers": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", - "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", "dev": true, "funding": [ { @@ -261,9 +253,9 @@ } }, "node_modules/@csstools/css-color-parser": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz", - "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", "dev": true, "funding": [ { @@ -277,7 +269,7 @@ ], "license": "MIT", "dependencies": { - "@csstools/color-helpers": "^5.0.2", + "@csstools/color-helpers": "^5.1.0", "@csstools/css-calc": "^2.1.4" }, "engines": { @@ -341,21 +333,21 @@ } }, "node_modules/@emnapi/core": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.3.tgz", - "integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.0.2", + "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz", - "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", "dev": true, "license": "MIT", "optional": true, @@ -364,9 +356,9 @@ } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz", - "integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, "license": "MIT", "optional": true, @@ -375,9 +367,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", - "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", "cpu": [ "ppc64" ], @@ -392,9 +384,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", - "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", "cpu": [ "arm" ], @@ -409,9 +401,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", - "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", "cpu": [ "arm64" ], @@ -426,9 +418,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", - "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", "cpu": [ "x64" ], @@ -443,9 +435,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", - "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", "cpu": [ "arm64" ], @@ -460,9 +452,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", - "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", "cpu": [ "x64" ], @@ -477,9 +469,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", - "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", "cpu": [ "arm64" ], @@ -494,9 +486,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", - "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", "cpu": [ "x64" ], @@ -511,9 +503,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", - "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", "cpu": [ "arm" ], @@ -528,9 +520,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", - "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", "cpu": [ "arm64" ], @@ -545,9 +537,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", - "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", "cpu": [ "ia32" ], @@ -562,9 +554,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", - "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", "cpu": [ "loong64" ], @@ -579,9 +571,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", - "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", "cpu": [ "mips64el" ], @@ -596,9 +588,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", - "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", "cpu": [ "ppc64" ], @@ -613,9 +605,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", - "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", "cpu": [ "riscv64" ], @@ -630,9 +622,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", - "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", "cpu": [ "s390x" ], @@ -647,9 +639,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", - "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", "cpu": [ "x64" ], @@ -664,9 +656,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", - "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", "cpu": [ "arm64" ], @@ -681,9 +673,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", - "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", "cpu": [ "x64" ], @@ -698,9 +690,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", - "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", "cpu": [ "arm64" ], @@ -715,9 +707,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", - "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", "cpu": [ "x64" ], @@ -731,10 +723,27 @@ "node": ">=18" } }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", - "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", "cpu": [ "x64" ], @@ -749,9 +758,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", - "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", "cpu": [ "arm64" ], @@ -766,9 +775,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", - "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", "cpu": [ "ia32" ], @@ -783,9 +792,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", - "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", "cpu": [ "x64" ], @@ -800,38 +809,38 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.2.tgz", - "integrity": "sha512-wNB5ooIKHQc+Kui96jE/n69rHFWAVoxn5CAzL1Xdd8FG03cgY3MLO+GF9U3W737fYDSgPWA6MReKhBQBop6Pcw==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.10" + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.2.tgz", - "integrity": "sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA==", + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.2", - "@floating-ui/utils": "^0.2.10" + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" } }, "node_modules/@floating-ui/utils": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", - "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", "license": "MIT" }, "node_modules/@floating-ui/vue": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.1.7.tgz", - "integrity": "sha512-idmAtbAIigGXN2SI5gItiXYBYtNfDTP9yIiObxgu13dgtG7ARCHlNfnR29GxP4LI4o13oiwsJ8wVgghj1lNqcw==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.1.11.tgz", + "integrity": "sha512-HzHKCNVxnGS35r9fCHBc3+uCnjw9IWIlCPL683cGgM9Kgj2BiAl8x1mS7vtvP6F9S/e/q4O6MApwSHj8hNLGfw==", "license": "MIT", "dependencies": { - "@floating-ui/dom": "^1.7.2", - "@floating-ui/utils": "^0.2.10", + "@floating-ui/dom": "^1.7.6", + "@floating-ui/utils": "^0.2.11", "vue-demi": ">=0.13.0" } }, @@ -873,9 +882,9 @@ } }, "node_modules/@he-tree/tree-utils": { - "version": "0.1.0-alpha.6", - "resolved": "https://registry.npmjs.org/@he-tree/tree-utils/-/tree-utils-0.1.0-alpha.6.tgz", - "integrity": "sha512-TIH1iIRLpn3sjd4EuIfKQzFd6ToY8GLYk3i5bfK1njCW7lBBDHLqSyK0mlJPbCPk4PfkZBC4K+sMcYyH4hokyg==", + "version": "0.1.0-alpha.8", + "resolved": "https://registry.npmjs.org/@he-tree/tree-utils/-/tree-utils-0.1.0-alpha.8.tgz", + "integrity": "sha512-4M4BzXbjCg2uY/GDPUGzq1EFGgna5L7NGFF85fF2pSnCIUkWOZY18eaSqvvlOFtyD5DWkkDqxzu0GHFlp/Zb4g==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.7.7", @@ -884,13 +893,13 @@ } }, "node_modules/@he-tree/vue": { - "version": "2.10.0-beta.2", - "resolved": "https://registry.npmjs.org/@he-tree/vue/-/vue-2.10.0-beta.2.tgz", - "integrity": "sha512-YiJx+6HyBW8svUGLZZ2z0QWztFv4BezAoOpkis+mrIp+uUn1YUiA/UrgrIZNPcp5Smx9BiGXedl6J60YFfSuXQ==", + "version": "2.10.5", + "resolved": "https://registry.npmjs.org/@he-tree/vue/-/vue-2.10.5.tgz", + "integrity": "sha512-+/C3FxoGb1WpkElQA0kASSe0W9EUXTQSzg/1c7+1ucheiX4uFc8m1mSuD74lO7FXr6PWWbVRX2lzo/hxoUOTzA==", "license": "MIT", "dependencies": { "@he-tree/dnd-utils": "^0.1.0-alpha.4", - "@he-tree/tree-utils": "^0.1.0-alpha.6", + "@he-tree/tree-utils": "^0.1.0-alpha.8", "@virtual-list/vue": "^1.2.1", "helper-js": "^3.1.2", "vue-demi": "latest" @@ -966,44 +975,46 @@ } }, "node_modules/@inertiajs/core": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/@inertiajs/core/-/core-2.1.11.tgz", - "integrity": "sha512-TF1UE1UjNRGyxJZGYe5IwDZwgyTvviE2XoJRHOS4SjS8kVzIqeBb3disIkLiJqshRNSNP8syggOro4TLtVubvA==", + "version": "2.3.21", + "resolved": "https://registry.npmjs.org/@inertiajs/core/-/core-2.3.21.tgz", + "integrity": "sha512-grHSCUiWDBWqpRxaobyxUJu0FV6HLkkuJwvoNLVkHwkexLvoaLhb9BmtoQydlIYL5pk2O3jcKaGtWJ83JwTB4A==", "license": "MIT", "dependencies": { "@types/lodash-es": "^4.17.12", - "axios": "^1.12.0", - "lodash-es": "^4.17.21", - "qs": "^6.9.0" + "axios": "^1.13.5", + "laravel-precognition": "^1.0.2", + "lodash-es": "^4.18.1", + "qs": "^6.15.0" } }, "node_modules/@inertiajs/vue3": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/@inertiajs/vue3/-/vue3-2.1.11.tgz", - "integrity": "sha512-9+ny7uaPwMeLMl01GOoNFmC4ssCZ/RPH8AeyAwMVdfIEnUaXVqWwf8epHeLdc/wH17hWYWlSTxAOLdSUbjvaDQ==", + "version": "2.3.21", + "resolved": "https://registry.npmjs.org/@inertiajs/vue3/-/vue3-2.3.21.tgz", + "integrity": "sha512-gJuOD9HrB6WXpTCUB6yLDHA2yI5YGzhYcGlHCPB6mzt6Lvm7CsQA06CNOyk8eEooz0MYJhFF2V092hU1i866qg==", "license": "MIT", "dependencies": { - "@inertiajs/core": "2.1.11", + "@inertiajs/core": "2.3.21", "@types/lodash-es": "^4.17.12", - "lodash-es": "^4.17.21" + "laravel-precognition": "^1.0.2", + "lodash-es": "^4.18.1" }, "peerDependencies": { "vue": "^3.0.0" } }, "node_modules/@internationalized/date": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.8.2.tgz", - "integrity": "sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.12.0.tgz", + "integrity": "sha512-/PyIMzK29jtXaGU23qTvNZxvBXRtKbNnGDFD+PY6CZw/Y8Ex8pFUzkuCJCG9aOqmShjqhS9mPqP6Dk5onQY8rQ==", "license": "Apache-2.0", "dependencies": { "@swc/helpers": "^0.5.0" } }, "node_modules/@internationalized/number": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.3.tgz", - "integrity": "sha512-p+Zh1sb6EfrfVaS86jlHGQ9HA66fJhV9x5LiE5vCbZtXEHAuhcmUZUdZ4WrFpUBfNalr2OkAJI5AcKEQF+Lebw==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.5.tgz", + "integrity": "sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==", "license": "Apache-2.0", "dependencies": { "@swc/helpers": "^0.5.0" @@ -1026,23 +1037,10 @@ "node": ">=12" } }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.12", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", - "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, "license": "MIT", "dependencies": { @@ -1078,9 +1076,9 @@ "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.29", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", - "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, "license": "MIT", "dependencies": { @@ -1107,9 +1105,9 @@ } }, "node_modules/@napi-rs/canvas": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.95.tgz", - "integrity": "sha512-lkg23ge+rgyhgUwXmlbkPEhuhHq/hUi/gXKH+4I7vO+lJrbNfEYcQdJLIGjKyXLQzgFiiyDAwh5vAe/tITAE+w==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.97.tgz", + "integrity": "sha512-8cFniXvrIEnVwuNSRCW9wirRZbHvrD3JVujdS2P5n5xiJZNZMOZcfOvJ1pb66c7jXMKHHglJEDVJGbm8XWFcXQ==", "license": "MIT", "optional": true, "workspaces": [ @@ -1123,23 +1121,23 @@ "url": "https://github.com/sponsors/Brooooooklyn" }, "optionalDependencies": { - "@napi-rs/canvas-android-arm64": "0.1.95", - "@napi-rs/canvas-darwin-arm64": "0.1.95", - "@napi-rs/canvas-darwin-x64": "0.1.95", - "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.95", - "@napi-rs/canvas-linux-arm64-gnu": "0.1.95", - "@napi-rs/canvas-linux-arm64-musl": "0.1.95", - "@napi-rs/canvas-linux-riscv64-gnu": "0.1.95", - "@napi-rs/canvas-linux-x64-gnu": "0.1.95", - "@napi-rs/canvas-linux-x64-musl": "0.1.95", - "@napi-rs/canvas-win32-arm64-msvc": "0.1.95", - "@napi-rs/canvas-win32-x64-msvc": "0.1.95" + "@napi-rs/canvas-android-arm64": "0.1.97", + "@napi-rs/canvas-darwin-arm64": "0.1.97", + "@napi-rs/canvas-darwin-x64": "0.1.97", + "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.97", + "@napi-rs/canvas-linux-arm64-gnu": "0.1.97", + "@napi-rs/canvas-linux-arm64-musl": "0.1.97", + "@napi-rs/canvas-linux-riscv64-gnu": "0.1.97", + "@napi-rs/canvas-linux-x64-gnu": "0.1.97", + "@napi-rs/canvas-linux-x64-musl": "0.1.97", + "@napi-rs/canvas-win32-arm64-msvc": "0.1.97", + "@napi-rs/canvas-win32-x64-msvc": "0.1.97" } }, "node_modules/@napi-rs/canvas-android-arm64": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.95.tgz", - "integrity": "sha512-SqTh0wsYbetckMXEvHqmR7HKRJujVf1sYv1xdlhkifg6TlCSysz1opa49LlS3+xWuazcQcfRfmhA07HxxxGsAA==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.97.tgz", + "integrity": "sha512-V1c/WVw+NzH8vk7ZK/O8/nyBSCQimU8sfMsB/9qeSvdkGKNU7+mxy/bIF0gTgeBFmHpj30S4E9WHMSrxXGQuVQ==", "cpu": [ "arm64" ], @@ -1157,9 +1155,9 @@ } }, "node_modules/@napi-rs/canvas-darwin-arm64": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.95.tgz", - "integrity": "sha512-F7jT0Syu+B9DGBUBcMk3qCRIxAWiDXmvEjamwbYfbZl7asI1pmXZUnCOoIu49Wt0RNooToYfRDxU9omD6t5Xuw==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.97.tgz", + "integrity": "sha512-ok+SCEF4YejcxuJ9Rm+WWunHHpf2HmiPxfz6z1a/NFQECGXtsY7A4B8XocK1LmT1D7P174MzwPF9Wy3AUAwEPw==", "cpu": [ "arm64" ], @@ -1177,9 +1175,9 @@ } }, "node_modules/@napi-rs/canvas-darwin-x64": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.95.tgz", - "integrity": "sha512-54eb2Ho15RDjYGXO/harjRznBrAvu+j5nQ85Z4Qd6Qg3slR8/Ja+Yvvy9G4yo7rdX6NR9GPkZeSTf2UcKXwaXw==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.97.tgz", + "integrity": "sha512-PUP6e6/UGlclUvAQNnuXCcnkpdUou6VYZfQOQxExLp86epOylmiwLkqXIvpFmjoTEDmPmXrI+coL/9EFU1gKPA==", "cpu": [ "x64" ], @@ -1197,9 +1195,9 @@ } }, "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.95.tgz", - "integrity": "sha512-hYaLCSLx5bmbnclzQc3ado3PgZ66blJWzjXp0wJmdwpr/kH+Mwhj6vuytJIomgksyJoCdIqIa4N6aiqBGJtJ5Q==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.97.tgz", + "integrity": "sha512-XyXH2L/cic8eTNtbrXCcvqHtMX/nEOxN18+7rMrAM2XtLYC/EB5s0wnO1FsLMWmK+04ZSLN9FBGipo7kpIkcOw==", "cpu": [ "arm" ], @@ -1217,9 +1215,9 @@ } }, "node_modules/@napi-rs/canvas-linux-arm64-gnu": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.95.tgz", - "integrity": "sha512-J7VipONahKsmScPZsipHVQBqpbZx4favaD8/enWzzlGcjiwycOoymL7f4tNeqdjK0su19bDOUt6mjp9gsPWYlw==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.97.tgz", + "integrity": "sha512-Kuq/M3djq0K8ktgz6nPlK7Ne5d4uWeDxPpyKWOjWDK2RIOhHVtLtyLiJw2fuldw7Vn4mhw05EZXCEr4Q76rs9w==", "cpu": [ "arm64" ], @@ -1237,9 +1235,9 @@ } }, "node_modules/@napi-rs/canvas-linux-arm64-musl": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.95.tgz", - "integrity": "sha512-PXy0UT1J/8MPG8UAkWp6Fd51ZtIZINFzIjGH909JjQrtCuJf3X6nanHYdz1A+Wq9o4aoPAw1YEUpFS1lelsVlg==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.97.tgz", + "integrity": "sha512-kKmSkQVnWeqg7qdsiXvYxKhAFuHz3tkBjW/zyQv5YKUPhotpaVhpBGv5LqCngzyuRV85SXoe+OFj+Tv0a0QXkQ==", "cpu": [ "arm64" ], @@ -1257,9 +1255,9 @@ } }, "node_modules/@napi-rs/canvas-linux-riscv64-gnu": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.95.tgz", - "integrity": "sha512-2IzCkW2RHRdcgF9W5/plHvYFpc6uikyjMb5SxjqmNxfyDFz9/HB89yhi8YQo0SNqrGRI7yBVDec7Pt+uMyRWsg==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.97.tgz", + "integrity": "sha512-Jc7I3A51jnEOIAXeLsN/M/+Z28LUeakcsXs07FLq9prXc0eYOtVwsDEv913Gr+06IRo34gJJVgT0TXvmz+N2VA==", "cpu": [ "riscv64" ], @@ -1277,9 +1275,9 @@ } }, "node_modules/@napi-rs/canvas-linux-x64-gnu": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.95.tgz", - "integrity": "sha512-OV/ol/OtcUr4qDhQg8G7SdViZX8XyQeKpPsVv/j3+7U178FGoU4M+yIocdVo1ih/A8GQ63+LjF4jDoEjaVU8Pw==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.97.tgz", + "integrity": "sha512-iDUBe7AilfuBSRbSa8/IGX38Mf+iCSBqoVKLSQ5XaY2JLOaqz1TVyPFEyIck7wT6mRQhQt5sN6ogfjIDfi74tg==", "cpu": [ "x64" ], @@ -1297,9 +1295,9 @@ } }, "node_modules/@napi-rs/canvas-linux-x64-musl": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.95.tgz", - "integrity": "sha512-Z5KzqBK/XzPz5+SFHKz7yKqClEQ8pOiEDdgk5SlphBLVNb8JFIJkxhtJKSvnJyHh2rjVgiFmvtJzMF0gNwwKyQ==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.97.tgz", + "integrity": "sha512-AKLFd/v0Z5fvgqBDqhvqtAdx+fHMJ5t9JcUNKq4FIZ5WH+iegGm8HPdj00NFlCSnm83Fp3Ln8I2f7uq1aIiWaA==", "cpu": [ "x64" ], @@ -1317,9 +1315,9 @@ } }, "node_modules/@napi-rs/canvas-win32-arm64-msvc": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-0.1.95.tgz", - "integrity": "sha512-aj0YbRpe8qVJ4OzMsK7NfNQePgcf9zkGFzNZ9mSuaxXzhpLHmlF2GivNdCdNOg8WzA/NxV6IU4c5XkXadUMLeA==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-0.1.97.tgz", + "integrity": "sha512-u883Yr6A6fO7Vpsy9YE4FVCIxzzo5sO+7pIUjjoDLjS3vQaNMkVzx5bdIpEL+ob+gU88WDK4VcxYMZ6nmnoX9A==", "cpu": [ "arm64" ], @@ -1337,9 +1335,9 @@ } }, "node_modules/@napi-rs/canvas-win32-x64-msvc": { - "version": "0.1.95", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.95.tgz", - "integrity": "sha512-GA8leTTCfdjuHi8reICTIxU0081PhXvl3lzIniLUjeLACx9GubUiyzkwFb+oyeKLS5IAGZFLKnzAf4wm2epRlA==", + "version": "0.1.97", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.97.tgz", + "integrity": "sha512-sWtD2EE3fV0IzN+iiQUqr/Q1SwqWhs2O1FKItFlxtdDkikpEj5g7DKQpY3x55H/MAOnL8iomnlk3mcEeGiUMoQ==", "cpu": [ "x64" ], @@ -1357,16 +1355,22 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.11.tgz", - "integrity": "sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", + "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.9.0" + "@tybys/wasm-util": "^0.10.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, "node_modules/@nodelib/fs.scandir": { @@ -1413,10 +1417,44 @@ "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", "license": "MIT" }, - "node_modules/@oxc-resolver/binding-darwin-arm64": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-11.4.0.tgz", - "integrity": "sha512-+mlX+/yoWv/IfWad97mn/5KVYtwe/VLjwtyoY04UUL+VrHk0MpANAorM9gFf+7K6GkQEaNkTK1g4GqwPI8OiCQ==", + "node_modules/@oxc-parser/binding-android-arm-eabi": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm-eabi/-/binding-android-arm-eabi-0.127.0.tgz", + "integrity": "sha512-0LC7ye4hvqbIKxAzThzvswgHLFu2AURKzYLeSVvLdu2TBOYWQDmHnTqPLeA597BcUCxiLqLsS4CJ5uoI5WYWCQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-parser/binding-android-arm64": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm64/-/binding-android-arm64-0.127.0.tgz", + "integrity": "sha512-b5jtVTH6AU5CJXHNdj7Jj9IEiR9yVjjnwHzPJhGyHGPdcsZSzBCkS9GBbV33niRMvKthDwQRFRJfI4a+k4PvYg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-parser/binding-darwin-arm64": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.127.0.tgz", + "integrity": "sha512-obCE8B7ISKkJidjlhv9xRGJPOSDG2Yu6PRga9Ruaz35uintHxbp1Ki/Yc71wx4rj3Edrm0a1kzG1TAwit0wFpg==", "cpu": [ "arm64" ], @@ -1425,12 +1463,15 @@ "optional": true, "os": [ "darwin" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@oxc-resolver/binding-darwin-x64": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-11.4.0.tgz", - "integrity": "sha512-uImuGdgleCPvZFfsYM7WnDW3PZ5z/cwrOt37MFd++rtrQ9kEL32ezl85eyatX2KsvGq7E8qg1DvHLVHOW259uQ==", + "node_modules/@oxc-parser/binding-darwin-x64": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.127.0.tgz", + "integrity": "sha512-JL6Xb5IwPQT8rUzlpsX7E+AgfcdNklXNPFp8pjCQQ5MQOQo5rtEB2ui+3Hgg9Sn7Y9Egj6YOLLiHhLpdAe12Aw==", "cpu": [ "x64" ], @@ -1439,12 +1480,15 @@ "optional": true, "os": [ "darwin" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@oxc-resolver/binding-freebsd-x64": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-11.4.0.tgz", - "integrity": "sha512-/uFsbq+RWHiOktH1c9AysKZ++nHj76+chjQrCIvKalHYHKn6ydhMM6GwHL/pWq/gCZADbiKRQ0AOYLNf86hsZg==", + "node_modules/@oxc-parser/binding-freebsd-x64": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.127.0.tgz", + "integrity": "sha512-SDQ/3MQFw58fqQz3Z1PhSKFF3JoCF4gmlNjziDm8X02tTahCw0qJbd7FGPDKw1i4VTBZene9JPyC3mHtSvi+wA==", "cpu": [ "x64" ], @@ -1453,12 +1497,15 @@ "optional": true, "os": [ "freebsd" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@oxc-resolver/binding-linux-arm-gnueabihf": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-11.4.0.tgz", - "integrity": "sha512-GPQcVSW2zgc8MtTF5ovIfmXkMCoGATzOmMOinLKjStvqq/KX9tBoVHhR/r7g7ChIJjozeXMMSYrf1q6r3zWXjA==", + "node_modules/@oxc-parser/binding-linux-arm-gnueabihf": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.127.0.tgz", + "integrity": "sha512-Av+D1MIqzV0YMGPT9we2SIZaMKD7Cxs4CvXSx/yxaWHewZjYEjScpOf5igc8IILASViw4WTnjlwUdI1KzVtDHQ==", "cpu": [ "arm" ], @@ -1467,227 +1514,251 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@oxc-resolver/binding-linux-arm64-gnu": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-11.4.0.tgz", - "integrity": "sha512-rrOFswgslH2i/e2HHP6ei2Z3ivWKvkU666eL1hPXkzHHzhlavIp5vOywjlNR7fZK/15PG4/GKcGsHAVunHd/+w==", + "node_modules/@oxc-parser/binding-linux-arm-musleabihf": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.127.0.tgz", + "integrity": "sha512-Cs2fdJ8cPpFdeebj6p4dag8A4+56hPvZ0AhQQzlaLswGz1tz7bXt1nETLeorrM9+AMcWFFkqxcXwDGfTVidY8g==", "cpu": [ - "arm64" + "arm" ], "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@oxc-resolver/binding-linux-arm64-musl": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-11.4.0.tgz", - "integrity": "sha512-+OQ0rckRSYNP3wuEw+Asf5Is0elLeHkmhzlRAjx20lkITgSaNtkk7wDaqlpJmkcPv6ja3YkOoMiyclfS/FMSGA==", + "node_modules/@oxc-parser/binding-linux-arm64-gnu": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.127.0.tgz", + "integrity": "sha512-qdOfTcT6SY8gsJrrV92uyEUyjqMGPpIB5JZUG6QN5dukYd+7/j0kX6MwK1DgQj39jtUYixxPiaRUiEN1+0CXgQ==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@oxc-resolver/binding-linux-riscv64-gnu": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-11.4.0.tgz", - "integrity": "sha512-hOmV2yNr4y5BVDaXPl3aCZASBsVLo4eAd7UWfItG2l1CMcZdtE35XIo0dB3xUg1DGDI5n02eo89014GN246aHA==", + "node_modules/@oxc-parser/binding-linux-arm64-musl": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.127.0.tgz", + "integrity": "sha512-EoTCZneNFU/P2qrpEM+RHmQwt+CvDkyGESG6qhr7KaegXLZwePfbrkCDfAk8/rhxbDUVGsZILX+2tqPzFtoFWA==", "cpu": [ - "riscv64" + "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@oxc-resolver/binding-linux-s390x-gnu": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-11.4.0.tgz", - "integrity": "sha512-STBciuunyjnQAhaJQoOEON3uQWL/Ad7mL+Ap8Q9A2Zw2bxZR7iW+tMu8pJDljHGVtGxtP1uurUt68kY9bMkFhA==", + "node_modules/@oxc-parser/binding-linux-ppc64-gnu": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.127.0.tgz", + "integrity": "sha512-zALjmZYgxFLHjXeudcDF0xFGNydTAtkAeXAr2EuC17ywCyFxcmQra4w0BMde0Yi/re4Bi4iwEoEXtYN7l6eBLQ==", "cpu": [ - "s390x" + "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@oxc-resolver/binding-linux-x64-gnu": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-11.4.0.tgz", - "integrity": "sha512-x9uFAdBZ2SfVSWcQxza3GHo/5enZWLWb8Nf6zBCu0eBee/IL/z5oJIGpF/9xFwlvT4k35ZYHxBC33NGB4SkkGw==", + "node_modules/@oxc-parser/binding-linux-riscv64-gnu": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.127.0.tgz", + "integrity": "sha512-fPP8M6zQLS7Jz7o9d5ArUSuAuSK3e+WCYVrCpdzeCOejidtZExJ9tjhDrAd3HEPqARBCPmdpqxESPFqy44vkBQ==", "cpu": [ - "x64" + "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@oxc-resolver/binding-linux-x64-musl": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-11.4.0.tgz", - "integrity": "sha512-DrPkwPdufbka98aVvJP+qC29LP1MltUm6KPH0sJ5v9g5Tj+qcLi8i1EG5n8fnIqOI3vMtYs3DS2yMR2UGF7xyw==", + "node_modules/@oxc-parser/binding-linux-riscv64-musl": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.127.0.tgz", + "integrity": "sha512-7IcC4Ao02oGpfnjt+X/oF4U2mllo2qoSkw5xxiXNKL9MCTsTiAC6616beOuehdxGcnz1bRoPC1RQ2f1GQDdN+g==", "cpu": [ - "x64" + "riscv64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@oxc-resolver/binding-wasm32-wasi": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-11.4.0.tgz", - "integrity": "sha512-fRBFgjhiUWTfz/7H/98r6SHsqCu3FvQPxbbDAs0wEVRvQdu7rZ2Ur2i4vKCZ6qLx6mDiBUKrkXy0btmU7eSrkQ==", + "node_modules/@oxc-parser/binding-linux-s390x-gnu": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.127.0.tgz", + "integrity": "sha512-pbXIhiNFHoqWeqDNLiJ9JkpHz1IM9k4DXa66x+1GTWMG7iLxtkXgE53iiuKSXwmk3zIYmaPVfBvgcAhS583K4Q==", "cpu": [ - "wasm32" + "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, + "os": [ + "linux" + ], "engines": { - "node": ">=14.0.0" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@oxc-resolver/binding-win32-arm64-msvc": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-11.4.0.tgz", - "integrity": "sha512-Vl32WwWT6aVk0qjfmXRH1BYwtLh8UHEanuuaNyAU4i/I9+Qx8SvNRNo39sRl1g7pHDcdeUgqFoNZkVXwIC5xVw==", + "node_modules/@oxc-parser/binding-linux-x64-gnu": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.127.0.tgz", + "integrity": "sha512-MYCguB9RvBvlSd6gbuNI7QwiLoCCAlGnlRJFPrzLI6U1/9wkC/WK6LtBAUln55H1Ctqw45PWmqrobKoMhsYQzQ==", "cpu": [ - "arm64" + "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ - "win32" - ] + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@oxc-resolver/binding-win32-x64-msvc": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-11.4.0.tgz", - "integrity": "sha512-bBvYlfLTV4uH5pXLnNlx4BZ9DAsV3yQHL3vhXE2PfQ+iZglBkSZU/f82hx8cNwewTaK08zJUz4m2vGMQiSyU8Q==", + "node_modules/@oxc-parser/binding-linux-x64-musl": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.127.0.tgz", + "integrity": "sha512-5eY0B/bxf1xIUxb4NOTvOI3KWtBQfPWYyKAzgcrCt0mDibSZygVpO1Pz8bkeiSZ5Jj9+M09dkggG3H8I5d0Uyg==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ - "win32" - ] - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "license": "MIT", - "optional": true, + "linux" + ], "engines": { - "node": ">=14" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@polka/url": { - "version": "1.0.0-next.29", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", - "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", - "dev": true, - "license": "MIT" - }, - "node_modules/@remirror/core-constants": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-3.0.0.tgz", - "integrity": "sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==", - "license": "MIT" - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.19", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz", - "integrity": "sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", + "node_modules/@oxc-parser/binding-openharmony-arm64": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-openharmony-arm64/-/binding-openharmony-arm64-0.127.0.tgz", + "integrity": "sha512-Gld0ajrFTUXNtdw20fVBuTQx66FA75nIVg+//pPfR3sXkuABB4mTBhl3r9JNzrJpgW//qiwxf0nWXUWGJSL3UQ==", "cpu": [ - "arm" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "android" - ] + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "node_modules/@oxc-parser/binding-wasm32-wasi": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-wasm32-wasi/-/binding-wasm32-wasi-0.127.0.tgz", + "integrity": "sha512-T6KVD7rhLzFlwGRXMnxUFfkCZD8FHnb968wVXW1mXzgRFc5RNXOBY2mPPDZ77x5Ln76ltLMgtPg0cOkU1NSrEQ==", "cpu": [ - "arm64" + "wasm32" ], "dev": true, "license": "MIT", "optional": true, - "os": [ - "android" - ] + "dependencies": { + "@emnapi/core": "1.9.2", + "@emnapi/runtime": "1.9.2", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", - "cpu": [ - "arm64" - ], + "node_modules/@oxc-parser/binding-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.2.tgz", + "integrity": "sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", - "cpu": [ - "x64" - ], + "node_modules/@oxc-parser/binding-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.2.tgz", + "integrity": "sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==", "dev": true, "license": "MIT", "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "tslib": "^2.4.0" + } }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", + "node_modules/@oxc-parser/binding-win32-arm64-msvc": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.127.0.tgz", + "integrity": "sha512-Ujvw4X+LD1CCGULcsQcvb4YNVoBGqt+JHgNNzGGaCImELiZLk477ifUH53gIbE7EKd933NdTi25JWEr9K2HwXw==", "cpu": [ "arm64" ], @@ -1695,41 +1766,60 @@ "license": "MIT", "optional": true, "os": [ - "freebsd" - ] + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "node_modules/@oxc-parser/binding-win32-ia32-msvc": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.127.0.tgz", + "integrity": "sha512-0cwxKO7KHQQQfo4Uf4B2SQrhgm+cJaP9OvFFhx52Tkg4bezsacu83GB2/In5bC415Ueeym+kXdnge/57rbSfTw==", "cpu": [ - "x64" + "ia32" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "freebsd" - ] + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", + "node_modules/@oxc-parser/binding-win32-x64-msvc": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.127.0.tgz", + "integrity": "sha512-rOrnSQSCbhI2kowr9XxE7m9a8oQXnBHjnS6j95LxxAnEZ0+Fz20WlRXG4ondQb+ejjt2KOsa65sE6++L6kUd+w==", "cpu": [ - "arm" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" - ] + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "node_modules/@oxc-project/types": { + "version": "0.133.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.133.0.tgz", + "integrity": "sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@oxc-resolver/binding-android-arm-eabi": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm-eabi/-/binding-android-arm-eabi-11.19.1.tgz", + "integrity": "sha512-aUs47y+xyXHUKlbhqHUjBABjvycq6YSD7bpxSW7vplUmdzAlJ93yXY6ZR0c1o1x5A/QKbENCvs3+NlY8IpIVzg==", "cpu": [ "arm" ], @@ -1737,13 +1827,13 @@ "license": "MIT", "optional": true, "os": [ - "linux" + "android" ] }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "node_modules/@oxc-resolver/binding-android-arm64": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm64/-/binding-android-arm64-11.19.1.tgz", + "integrity": "sha512-oolbkRX+m7Pq2LNjr/kKgYeC7bRDMVTWPgxBGMjSpZi/+UskVo4jsMU3MLheZV55jL6c3rNelPl4oD60ggYmqA==", "cpu": [ "arm64" ], @@ -1751,13 +1841,13 @@ "license": "MIT", "optional": true, "os": [ - "linux" + "android" ] }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "node_modules/@oxc-resolver/binding-darwin-arm64": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-11.19.1.tgz", + "integrity": "sha512-nUC6d2i3R5B12sUW4O646qD5cnMXf2oBGPLIIeaRfU9doJRORAbE2SGv4eW6rMqhD+G7nf2Y8TTJTLiiO3Q/dQ==", "cpu": [ "arm64" ], @@ -1765,15 +1855,43 @@ "license": "MIT", "optional": true, "os": [ - "linux" + "darwin" ] }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "node_modules/@oxc-resolver/binding-darwin-x64": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-11.19.1.tgz", + "integrity": "sha512-cV50vE5+uAgNcFa3QY1JOeKDSkM/9ReIcc/9wn4TavhW/itkDGrXhw9jaKnkQnGbjJ198Yh5nbX/Gr2mr4Z5jQ==", "cpu": [ - "loong64" + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@oxc-resolver/binding-freebsd-x64": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-11.19.1.tgz", + "integrity": "sha512-xZOQiYGFxtk48PBKff+Zwoym7ScPAIVp4c14lfLxizO2LTTTJe5sx9vQNGrBymrf/vatSPNMD4FgsaaRigPkqw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@oxc-resolver/binding-linux-arm-gnueabihf": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-11.19.1.tgz", + "integrity": "sha512-lXZYWAC6kaGe/ky2su94e9jN9t6M0/6c+GrSlCqL//XO1cxi5lpAhnJYdyrKfm0ZEr/c7RNyAx3P7FSBcBd5+A==", + "cpu": [ + "arm" ], "dev": true, "license": "MIT", @@ -1782,12 +1900,12 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "node_modules/@oxc-resolver/binding-linux-arm-musleabihf": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-11.19.1.tgz", + "integrity": "sha512-veG1kKsuK5+t2IsO9q0DErYVSw2azvCVvWHnfTOS73WE0STdLLB7Q1bB9WR+yHPQM76ASkFyRbogWo1GR1+WbQ==", "cpu": [ - "loong64" + "arm" ], "dev": true, "license": "MIT", @@ -1796,12 +1914,12 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "node_modules/@oxc-resolver/binding-linux-arm64-gnu": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-11.19.1.tgz", + "integrity": "sha512-heV2+jmXyYnUrpUXSPugqWDRpnsQcDm2AX4wzTuvgdlZfoNYO0O3W2AVpJYaDn9AG4JdM6Kxom8+foE7/BcSig==", "cpu": [ - "ppc64" + "arm64" ], "dev": true, "license": "MIT", @@ -1810,12 +1928,12 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "node_modules/@oxc-resolver/binding-linux-arm64-musl": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-11.19.1.tgz", + "integrity": "sha512-jvo2Pjs1c9KPxMuMPIeQsgu0mOJF9rEb3y3TdpsrqwxRM+AN6/nDDwv45n5ZrUnQMsdBy5gIabioMKnQfWo9ew==", "cpu": [ - "ppc64" + "arm64" ], "dev": true, "license": "MIT", @@ -1824,12 +1942,12 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "node_modules/@oxc-resolver/binding-linux-ppc64-gnu": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-11.19.1.tgz", + "integrity": "sha512-vLmdNxWCdN7Uo5suays6A/+ywBby2PWBBPXctWPg5V0+eVuzsJxgAn6MMB4mPlshskYbppjpN2Zg83ArHze9gQ==", "cpu": [ - "riscv64" + "ppc64" ], "dev": true, "license": "MIT", @@ -1838,10 +1956,10 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "node_modules/@oxc-resolver/binding-linux-riscv64-gnu": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-11.19.1.tgz", + "integrity": "sha512-/b+WgR+VTSBxzgOhDO7TlMXC1ufPIMR6Vj1zN+/x+MnyXGW7prTLzU9eW85Aj7Th7CCEG9ArCbTeqxCzFWdg2w==", "cpu": [ "riscv64" ], @@ -1852,12 +1970,12 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "node_modules/@oxc-resolver/binding-linux-riscv64-musl": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-11.19.1.tgz", + "integrity": "sha512-YlRdeWb9j42p29ROh+h4eg/OQ3dTJlpHSa+84pUM9+p6i3djtPz1q55yLJhgW9XfDch7FN1pQ/Vd6YP+xfRIuw==", "cpu": [ - "s390x" + "riscv64" ], "dev": true, "license": "MIT", @@ -1866,12 +1984,12 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "node_modules/@oxc-resolver/binding-linux-s390x-gnu": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-11.19.1.tgz", + "integrity": "sha512-EDpafVOQWF8/MJynsjOGFThcqhRHy417sRyLfQmeiamJ8qVhSKAn2Dn2VVKUGCjVB9C46VGjhNo7nOPUi1x6uA==", "cpu": [ - "x64" + "s390x" ], "dev": true, "license": "MIT", @@ -1880,10 +1998,10 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "node_modules/@oxc-resolver/binding-linux-x64-gnu": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-11.19.1.tgz", + "integrity": "sha512-NxjZe+rqWhr+RT8/Ik+5ptA3oz7tUw361Wa5RWQXKnfqwSSHdHyrw6IdcTfYuml9dM856AlKWZIUXDmA9kkiBQ==", "cpu": [ "x64" ], @@ -1894,10 +2012,10 @@ "linux" ] }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "node_modules/@oxc-resolver/binding-linux-x64-musl": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-11.19.1.tgz", + "integrity": "sha512-cM/hQwsO3ReJg5kR+SpI69DMfvNCp+A/eVR4b4YClE5bVZwz8rh2Nh05InhwI5HR/9cArbEkzMjcKgTHS6UaNw==", "cpu": [ "x64" ], @@ -1905,13 +2023,13 @@ "license": "MIT", "optional": true, "os": [ - "openbsd" + "linux" ] }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "node_modules/@oxc-resolver/binding-openharmony-arm64": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-openharmony-arm64/-/binding-openharmony-arm64-11.19.1.tgz", + "integrity": "sha512-QF080IowFB0+9Rh6RcD19bdgh49BpQHUW5TajG1qvWHvmrQznTZZjYlgE2ltLXyKY+qs4F/v5xuX1XS7Is+3qA==", "cpu": [ "arm64" ], @@ -1922,10 +2040,27 @@ "openharmony" ] }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "node_modules/@oxc-resolver/binding-wasm32-wasi": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-11.19.1.tgz", + "integrity": "sha512-w8UCKhX826cP/ZLokXDS6+milN8y4X7zidsAttEdWlVoamTNf6lhBJldaWr3ukTDiye7s4HRcuPEPOXNC432Vg==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.1.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@oxc-resolver/binding-win32-arm64-msvc": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-11.19.1.tgz", + "integrity": "sha512-nJ4AsUVZrVKwnU/QRdzPCCrO0TrabBqgJ8pJhXITdZGYOV28TIYystV1VFLbQ7DtAcaBHpocT5/ZJnF78YJPtQ==", "cpu": [ "arm64" ], @@ -1936,10 +2071,10 @@ "win32" ] }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "node_modules/@oxc-resolver/binding-win32-ia32-msvc": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-11.19.1.tgz", + "integrity": "sha512-EW+ND5q2Tl+a3pH81l1QbfgbF3HmqgwLfDfVithRFheac8OTcnbXt/JxqD2GbDkb7xYEqy1zNaVFRr3oeG8npA==", "cpu": [ "ia32" ], @@ -1950,10 +2085,10 @@ "win32" ] }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "node_modules/@oxc-resolver/binding-win32-x64-msvc": { + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-11.19.1.tgz", + "integrity": "sha512-6hIU3RQu45B+VNTY4Ru8ppFwjVS/S5qwYyGhBotmjxfEKk41I2DlGtRfGJndZ5+6lneE2pwloqunlOyZuX/XAw==", "cpu": [ "x64" ], @@ -1964,43 +2099,316 @@ "win32" ] }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@remirror/core-constants": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-3.0.0.tgz", + "integrity": "sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==", + "license": "MIT" + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.3.tgz", + "integrity": "sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.3.tgz", + "integrity": "sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.3.tgz", + "integrity": "sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.3.tgz", + "integrity": "sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.3.tgz", + "integrity": "sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.3.tgz", + "integrity": "sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.3.tgz", + "integrity": "sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.3.tgz", + "integrity": "sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.3.tgz", + "integrity": "sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.3.tgz", + "integrity": "sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.3.tgz", + "integrity": "sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==", "cpu": [ "x64" ], "dev": true, "license": "MIT", "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.3.tgz", + "integrity": "sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.3.tgz", + "integrity": "sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.3.tgz", + "integrity": "sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.3.tgz", + "integrity": "sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.2", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.2.tgz", + "integrity": "sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==", + "dev": true, + "license": "MIT" }, "node_modules/@shopify/draggable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@shopify/draggable/-/draggable-1.1.4.tgz", - "integrity": "sha512-EkXxBtQH119pGpLWhhhIPEdaeirGcVwkh6Nft1nqbMdM4N6b4r4v9wCmR1/r2gjTwu888I6qGI0VSlhoYivbYw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@shopify/draggable/-/draggable-1.2.1.tgz", + "integrity": "sha512-hYKhd99nl1mkO4ybA8i3rxvZgYS2A4Imcxpq7BoUu7h4LmFt997YxHLy8Mm5J7ST+G4DTQXqBsTx9mDid6piZg==", "license": "MIT" }, "node_modules/@simplewebauthn/browser": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-13.2.2.tgz", - "integrity": "sha512-FNW1oLQpTJyqG5kkDg5ZsotvWgmBaC6jCHR7Ej0qUNep36Wl9tj2eZu7J5rP+uhXgHaLk+QQ3lqcw2vS5MX1IA==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-13.3.0.tgz", + "integrity": "sha512-BE/UWv6FOToAdVk0EokzkqQQDOWtNydYlY6+OrmiZ5SCNmb41VehttboTetUM3T/fr6EAFYVXjz4My2wg230rQ==", "license": "MIT" }, "node_modules/@standard-schema/spec": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", - "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", "dev": true, "license": "MIT" }, "node_modules/@storybook/addon-a11y": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-10.2.14.tgz", - "integrity": "sha512-So/Pf8IHEV1XcCHjwPUWs55cB5PilqS3TEho1IXDWpQHBmxBHgX+Z2lQ/SrfqqtMWwy3YY95YO3fA2fn7To5Yg==", + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-10.3.5.tgz", + "integrity": "sha512-5k6lpgfIeLxvNhE8v3wEzdiu73ONKjF4gmH1AHvfqYd8kIVzQJai0KCDxgvqNncXHQhIWkaf1fg6+9hKaYJyaw==", "dev": true, "license": "MIT", "dependencies": { @@ -2012,20 +2420,20 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^10.2.14" + "storybook": "^10.3.5" } }, "node_modules/@storybook/addon-docs": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-10.2.14.tgz", - "integrity": "sha512-vUGw+zoodb91GIcDECZetXL8Bo0AJ/lYudcRBqtdw8taLXucss28Ev6u36dXggARYHPT8V0FhBkipzzJxssjUQ==", + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-10.3.5.tgz", + "integrity": "sha512-WuHbxia/o5TX4Rg/IFD0641K5qId/Nk0dxhmAUNoFs5L0+yfZUwh65XOBbzXqrkYmYmcVID4v7cgDRmzstQNkA==", "dev": true, "license": "MIT", "dependencies": { "@mdx-js/react": "^3.0.0", - "@storybook/csf-plugin": "10.2.14", + "@storybook/csf-plugin": "10.3.5", "@storybook/icons": "^2.0.1", - "@storybook/react-dom-shim": "10.2.14", + "@storybook/react-dom-shim": "10.3.5", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "ts-dedent": "^2.0.0" @@ -2035,13 +2443,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^10.2.14" + "storybook": "^10.3.5" } }, "node_modules/@storybook/addon-vitest": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/@storybook/addon-vitest/-/addon-vitest-10.2.14.tgz", - "integrity": "sha512-ZbI5LfkH2S1+jSaChg0qVNvwxbudDsPf04Sprvl90a6Wlx7kDCU3ksWtyC5u15x10Gqt7eMejN5qrVwygLRONw==", + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/@storybook/addon-vitest/-/addon-vitest-10.3.5.tgz", + "integrity": "sha512-PQDeeMwoF55kvzlhFqVKOryBJskkVk71AbDh7F0y8PdRRxlGbTvIUkKXktHZWBdESo0dV6BkeVxGQ4ZpiFxirg==", "dev": true, "license": "MIT", "dependencies": { @@ -2056,7 +2464,7 @@ "@vitest/browser": "^3.0.0 || ^4.0.0", "@vitest/browser-playwright": "^4.0.0", "@vitest/runner": "^3.0.0 || ^4.0.0", - "storybook": "^10.2.14", + "storybook": "^10.3.5", "vitest": "^3.0.0 || ^4.0.0" }, "peerDependenciesMeta": { @@ -2075,13 +2483,13 @@ } }, "node_modules/@storybook/builder-vite": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-10.2.14.tgz", - "integrity": "sha512-4b/opKbbTg+npeFXzj4GwZ7SDJdqsJbcJYxFpAznpl9FqMhP+ktH/7QSDs1DtOXpCanKcrmj6UQQgKR8OGypUQ==", + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-10.3.5.tgz", + "integrity": "sha512-i4KwCOKbhtlbQIbhm53+Kk7bMnxa0cwTn1pxmtA/x5wm1Qu7FrrBQV0V0DNjkUqzcSKo1CjspASJV/HlY0zYlw==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/csf-plugin": "10.2.14", + "@storybook/csf-plugin": "10.3.5", "ts-dedent": "^2.0.0" }, "funding": { @@ -2089,14 +2497,14 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^10.2.14", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" + "storybook": "^10.3.5", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/@storybook/csf-plugin": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-10.2.14.tgz", - "integrity": "sha512-N4frSzhig3pkhaWdN0kAnhgEi9IGEy6rJnpuNAocS6d70fSahGQk958TMml2JCG3LLiVamuXySyUrVtFiHrxvg==", + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-10.3.5.tgz", + "integrity": "sha512-qlEzNKxOjq86pvrbuMwiGD/bylnsXk1dg7ve0j77YFjEEchqtl7qTlrXvFdNaLA89GhW6D/EV6eOCu/eobPDgw==", "dev": true, "license": "MIT", "dependencies": { @@ -2109,7 +2517,7 @@ "peerDependencies": { "esbuild": "*", "rollup": "*", - "storybook": "^10.2.14", + "storybook": "^10.3.5", "vite": "*", "webpack": "*" }, @@ -2136,9 +2544,9 @@ "license": "MIT" }, "node_modules/@storybook/icons": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-2.0.1.tgz", - "integrity": "sha512-/smVjw88yK3CKsiuR71vNgWQ9+NuY2L+e8X7IMrFjexjm6ZR8ULrV2DRkTA61aV6ryefslzHEGDInGpnNeIocg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-2.0.2.tgz", + "integrity": "sha512-KZBCpXsshAIjczYNXR/rlxEtCUX/eAbpFNwKi8bcOomrLA4t/SyPz5RF+lVPO2oZBUE4sAkt43mfJUevQDSEEw==", "dev": true, "license": "MIT", "peerDependencies": { @@ -2147,9 +2555,9 @@ } }, "node_modules/@storybook/react-dom-shim": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-10.2.14.tgz", - "integrity": "sha512-hO/Yzhf3fX/HhB5MDc/ERM5QLA1+yLgnyt0a4NGDqeWeXQ90YSjEski1RppdAI9oNGyhNwWllZPUrozrL7ECyg==", + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-10.3.5.tgz", + "integrity": "sha512-Gw8R7XZm0zSUH0XAuxlQJhmizsLzyD6x00KOlP6l7oW9eQHXGfxg3seNDG3WrSAcW07iP1/P422kuiriQlOv7g==", "dev": true, "license": "MIT", "funding": { @@ -2159,13 +2567,13 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "storybook": "^10.2.14" + "storybook": "^10.3.5" } }, "node_modules/@storybook/vue3": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/@storybook/vue3/-/vue3-10.2.14.tgz", - "integrity": "sha512-i885EDRq5qgvveWZCtCfxBinzpzDOcHBbkCwWG/47WcVirw0RQuSx7IVxiA9C8+QQkNq4+dJm7REfzyPGOQI4A==", + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/@storybook/vue3/-/vue3-10.3.5.tgz", + "integrity": "sha512-PxgnIlem+w0iCxf+YBMPm7T/v75ax1fzqkrVA3C1c/UQ8pckmJxx7Gfs+84GnPWA6Q4G1F2mJ2FsWWneivkQ1g==", "dev": true, "license": "MIT", "dependencies": { @@ -2178,19 +2586,19 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^10.2.14", + "storybook": "^10.3.5", "vue": "^3.0.0" } }, "node_modules/@storybook/vue3-vite": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/@storybook/vue3-vite/-/vue3-vite-10.2.14.tgz", - "integrity": "sha512-A2WiCftPrjvGJf/k/Xa58/l6q3b0vKYw8+2UyfYzPrfKrkvoxgxD8t5Tukt8YTbcHsJNhMfcVZpvsZYDDS9low==", + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/@storybook/vue3-vite/-/vue3-vite-10.3.5.tgz", + "integrity": "sha512-9a0FDU9lsGDxnTQoDna9fmRx6+tUvnimb61bAcfZeigGyx127qT9rylvSC3WVKTBiQ/o4Dg76v44HIv+ew/DsQ==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/builder-vite": "10.2.14", - "@storybook/vue3": "10.2.14", + "@storybook/builder-vite": "10.3.5", + "@storybook/vue3": "10.3.5", "magic-string": "^0.30.0", "typescript": "^5.9.3", "vue-component-meta": "^2.0.0", @@ -2201,68 +2609,63 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^10.2.14", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" + "storybook": "^10.3.5", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/@swc/helpers": { - "version": "0.5.17", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", - "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.21.tgz", + "integrity": "sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.8.0" } }, "node_modules/@tailwindcss/node": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.11.tgz", - "integrity": "sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.2.tgz", + "integrity": "sha512-pXS+wJ2gZpVXqFaUEjojq7jzMpTGf8rU6ipJz5ovJV6PUGmlJ+jvIwGrzdHdQ80Sg+wmQxUFuoW1UAAwHNEdFA==", "dev": true, "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.3.0", - "enhanced-resolve": "^5.18.1", - "jiti": "^2.4.2", - "lightningcss": "1.30.1", - "magic-string": "^0.30.17", + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", + "jiti": "^2.6.1", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", "source-map-js": "^1.2.1", - "tailwindcss": "4.1.11" + "tailwindcss": "4.2.2" } }, "node_modules/@tailwindcss/oxide": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.11.tgz", - "integrity": "sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.2.tgz", + "integrity": "sha512-qEUA07+E5kehxYp9BVMpq9E8vnJuBHfJEC0vPC5e7iL/hw7HR61aDKoVoKzrG+QKp56vhNZe4qwkRmMC0zDLvg==", "dev": true, - "hasInstallScript": true, "license": "MIT", - "dependencies": { - "detect-libc": "^2.0.4", - "tar": "^7.4.3" - }, "engines": { - "node": ">= 10" + "node": ">= 20" }, "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.11", - "@tailwindcss/oxide-darwin-arm64": "4.1.11", - "@tailwindcss/oxide-darwin-x64": "4.1.11", - "@tailwindcss/oxide-freebsd-x64": "4.1.11", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.11", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.11", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.11", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.11", - "@tailwindcss/oxide-linux-x64-musl": "4.1.11", - "@tailwindcss/oxide-wasm32-wasi": "4.1.11", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.11", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.11" + "@tailwindcss/oxide-android-arm64": "4.2.2", + "@tailwindcss/oxide-darwin-arm64": "4.2.2", + "@tailwindcss/oxide-darwin-x64": "4.2.2", + "@tailwindcss/oxide-freebsd-x64": "4.2.2", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.2", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.2", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.2", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.2", + "@tailwindcss/oxide-linux-x64-musl": "4.2.2", + "@tailwindcss/oxide-wasm32-wasi": "4.2.2", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.2", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.2" } }, "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.11.tgz", - "integrity": "sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.2.tgz", + "integrity": "sha512-dXGR1n+P3B6748jZO/SvHZq7qBOqqzQ+yFrXpoOWWALWndF9MoSKAT3Q0fYgAzYzGhxNYOoysRvYlpixRBBoDg==", "cpu": [ "arm64" ], @@ -2273,13 +2676,13 @@ "android" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.11.tgz", - "integrity": "sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.2.tgz", + "integrity": "sha512-iq9Qjr6knfMpZHj55/37ouZeykwbDqF21gPFtfnhCCKGDcPI/21FKC9XdMO/XyBM7qKORx6UIhGgg6jLl7BZlg==", "cpu": [ "arm64" ], @@ -2290,13 +2693,13 @@ "darwin" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.11.tgz", - "integrity": "sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.2.tgz", + "integrity": "sha512-BlR+2c3nzc8f2G639LpL89YY4bdcIdUmiOOkv2GQv4/4M0vJlpXEa0JXNHhCHU7VWOKWT/CjqHdTP8aUuDJkuw==", "cpu": [ "x64" ], @@ -2307,13 +2710,13 @@ "darwin" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.11.tgz", - "integrity": "sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.2.tgz", + "integrity": "sha512-YUqUgrGMSu2CDO82hzlQ5qSb5xmx3RUrke/QgnoEx7KvmRJHQuZHZmZTLSuuHwFf0DJPybFMXMYf+WJdxHy/nQ==", "cpu": [ "x64" ], @@ -2324,13 +2727,13 @@ "freebsd" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.11.tgz", - "integrity": "sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.2.tgz", + "integrity": "sha512-FPdhvsW6g06T9BWT0qTwiVZYE2WIFo2dY5aCSpjG/S/u1tby+wXoslXS0kl3/KXnULlLr1E3NPRRw0g7t2kgaQ==", "cpu": [ "arm" ], @@ -2341,13 +2744,13 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.11.tgz", - "integrity": "sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.2.tgz", + "integrity": "sha512-4og1V+ftEPXGttOO7eCmW7VICmzzJWgMx+QXAJRAhjrSjumCwWqMfkDrNu1LXEQzNAwz28NCUpucgQPrR4S2yw==", "cpu": [ "arm64" ], @@ -2358,13 +2761,13 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.11.tgz", - "integrity": "sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.2.tgz", + "integrity": "sha512-oCfG/mS+/+XRlwNjnsNLVwnMWYH7tn/kYPsNPh+JSOMlnt93mYNCKHYzylRhI51X+TbR+ufNhhKKzm6QkqX8ag==", "cpu": [ "arm64" ], @@ -2375,13 +2778,13 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.11.tgz", - "integrity": "sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.2.tgz", + "integrity": "sha512-rTAGAkDgqbXHNp/xW0iugLVmX62wOp2PoE39BTCGKjv3Iocf6AFbRP/wZT/kuCxC9QBh9Pu8XPkv/zCZB2mcMg==", "cpu": [ "x64" ], @@ -2392,13 +2795,13 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.11.tgz", - "integrity": "sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.2.tgz", + "integrity": "sha512-XW3t3qwbIwiSyRCggeO2zxe3KWaEbM0/kW9e8+0XpBgyKU4ATYzcVSMKteZJ1iukJ3HgHBjbg9P5YPRCVUxlnQ==", "cpu": [ "x64" ], @@ -2409,13 +2812,13 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.11.tgz", - "integrity": "sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.2.tgz", + "integrity": "sha512-eKSztKsmEsn1O5lJ4ZAfyn41NfG7vzCg496YiGtMDV86jz1q/irhms5O0VrY6ZwTUkFy/EKG3RfWgxSI3VbZ8Q==", "bundleDependencies": [ "@napi-rs/wasm-runtime", "@emnapi/core", @@ -2431,21 +2834,21 @@ "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@emnapi/wasi-threads": "^1.0.2", - "@napi-rs/wasm-runtime": "^0.2.11", - "@tybys/wasm-util": "^0.9.0", - "tslib": "^2.8.0" + "@emnapi/core": "^1.8.1", + "@emnapi/runtime": "^1.8.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.1", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.11.tgz", - "integrity": "sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.2.tgz", + "integrity": "sha512-qPmaQM4iKu5mxpsrWZMOZRgZv1tOZpUm+zdhhQP0VhJfyGGO3aUKdbh3gDZc/dPLQwW4eSqWGrrcWNBZWUWaXQ==", "cpu": [ "arm64" ], @@ -2456,13 +2859,13 @@ "win32" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.11.tgz", - "integrity": "sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.2.tgz", + "integrity": "sha512-1T/37VvI7WyH66b+vqHj/cLwnCxt7Qt3WFu5Q8hk65aOvlwAhs7rAp1VkulBJw/N4tMirXjVnylTR72uI0HGcA==", "cpu": [ "x64" ], @@ -2473,28 +2876,28 @@ "win32" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/vite": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.11.tgz", - "integrity": "sha512-RHYhrR3hku0MJFRV+fN2gNbDNEh3dwKvY8XJvTxCSXeMOsCRSr+uKvDWQcbizrHgjML6ZmTE5OwMrl5wKcujCw==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.2.2.tgz", + "integrity": "sha512-mEiF5HO1QqCLXoNEfXVA1Tzo+cYsrqV7w9Juj2wdUFyW07JRenqMG225MvPwr3ZD9N1bFQj46X7r33iHxLUW0w==", "dev": true, "license": "MIT", "dependencies": { - "@tailwindcss/node": "4.1.11", - "@tailwindcss/oxide": "4.1.11", - "tailwindcss": "4.1.11" + "@tailwindcss/node": "4.2.2", + "@tailwindcss/oxide": "4.2.2", + "tailwindcss": "4.2.2" }, "peerDependencies": { - "vite": "^5.2.0 || ^6 || ^7" + "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, "node_modules/@tanstack/virtual-core": { - "version": "3.13.12", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.12.tgz", - "integrity": "sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==", + "version": "3.13.23", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.23.tgz", + "integrity": "sha512-zSz2Z2HNyLjCplANTDyl3BcdQJc2k1+yyFoKhNRmCr7V7dY8o8q5m8uFTI1/Pg1kL+Hgrz6u3Xo6eFUB7l66cg==", "license": "MIT", "funding": { "type": "github", @@ -2502,12 +2905,12 @@ } }, "node_modules/@tanstack/vue-virtual": { - "version": "3.13.12", - "resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.13.12.tgz", - "integrity": "sha512-vhF7kEU9EXWXh+HdAwKJ2m3xaOnTTmgcdXcF2pim8g4GvI7eRrk2YRuV5nUlZnd/NbCIX4/Ja2OZu5EjJL06Ww==", + "version": "3.13.23", + "resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.13.23.tgz", + "integrity": "sha512-b5jPluAR6U3eOq6GWAYSpj3ugnAIZgGR0e6aGAgyRse0Yu6MVQQ0ZWm9SArSXWtageogn6bkVD8D//c4IjW3xQ==", "license": "MIT", "dependencies": { - "@tanstack/virtual-core": "3.13.12" + "@tanstack/virtual-core": "3.13.23" }, "funding": { "type": "github", @@ -2580,48 +2983,48 @@ } }, "node_modules/@tiptap/core": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-3.0.9.tgz", - "integrity": "sha512-1zdDyILerBcD3P0fu8kCtPLOFj0R5utjexCQ2CZ46pckn/Wk4V+WUBARzhG5Yz2JDkmJIUIcmLBVrL6G1rjJWg==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-3.22.3.tgz", + "integrity": "sha512-Dv9MKK5BDWCF0N2l6/Pxv3JNCce2kwuWf2cKMBc2bEetx0Pn6o7zlFmSxMvYK4UtG1Tw9Yg/ZHi6QOFWK0Zm9Q==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/pm": "^3.0.9" + "@tiptap/pm": "^3.22.3" } }, "node_modules/@tiptap/extension-blockquote": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-3.0.9.tgz", - "integrity": "sha512-dGhMWb6GIjgIUuLQDhSlHT6yB4YvnYqe01nHzEvcbSii75KOcLwboVnqxw4p+gsDZLvZRGv/6bZBJh7GKZa8OQ==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-3.22.3.tgz", + "integrity": "sha512-IaUx3zh7yLHXzIXKL+fw/jzFhsIImdhJyw0lMhe8FfYrefFqXJFYW/sey6+L/e8B3AWvTksPA6VBwefzbH77JA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extension-bold": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-3.0.9.tgz", - "integrity": "sha512-rVULIFt9ZO+fO5ty9zuC3HwY3knxUw7q9JBztpKPfQQCuIJ+iQnOfB8NtI3L8hxVSxhIR1pqr8B3S/8vlpXbVg==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-3.22.3.tgz", + "integrity": "sha512-tysipHla2zCWr8XNIWRaW9O+7i7/SoEqnRqSRUUi2ailcJjlia+RBy3RykhkgyThrQDStu5KGBS/UvrXwA+O1A==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extension-bubble-menu": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-3.0.9.tgz", - "integrity": "sha512-fZQfdSbKJl3J+Yi+s8NrcLBgXHOaGVD4g+vn+orTPUlZdG9FWvEoon8DexOdK9OvYnW6QMM7kS8whOgpogVyUQ==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-3.22.3.tgz", + "integrity": "sha512-Y6zQjh0ypDg32HWgICEvmPSKjGLr39k3aDxxt/H0uQEZSfw4smT0hxUyyyjVjx68C6t6MTnwdfz0hPI5lL68vQ==", "license": "MIT", "optional": true, "dependencies": { @@ -2632,97 +3035,97 @@ "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9", - "@tiptap/pm": "^3.0.9" + "@tiptap/core": "^3.22.3", + "@tiptap/pm": "^3.22.3" } }, "node_modules/@tiptap/extension-bullet-list": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-3.0.9.tgz", - "integrity": "sha512-Aob5TVfrtoEzfTm3wl7lognmWia6EEilOxLihSGISCvI4FTndJg+mwhumduQeYCLWkF9i/DR87m2/3EbjR3R4Q==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-3.22.3.tgz", + "integrity": "sha512-xOmW/b1hgECIE6r3IeZvKn4VVlG3+dfTjCWE6lnnyLaqdNkNhKS1CwUmDZdYNLUS2ryIUtgz5ID1W/8A3PhbiA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/extension-list": "^3.0.9" + "@tiptap/extension-list": "^3.22.3" } }, "node_modules/@tiptap/extension-character-count": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-character-count/-/extension-character-count-3.0.9.tgz", - "integrity": "sha512-KKtHfvMlYCNszldPvmzDzvRSV/Xukb7T/t4IMPgFp2LUDPuBK1z4TPP8HEsONTFAAKc+JgnJPPkMxfhh/tFbnQ==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-character-count/-/extension-character-count-3.22.3.tgz", + "integrity": "sha512-MAs446aZWyAdVVSK+jkxoxR+N3n/ucMRCoenyekqdDDwkn4l3mDVC469X8Iby80/+66cRyHFFAbOivOoB8ds/g==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/extensions": "^3.0.9" + "@tiptap/extensions": "^3.22.3" } }, "node_modules/@tiptap/extension-code": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-3.0.9.tgz", - "integrity": "sha512-jMo7crwLIefwy13WI2FzxlyJN9AbLNsESFbJuv/KPzjpN7uzPKYsE33Uy2IZD5hPoHtA5UmAUfbz0HzWtWy5Yw==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-3.22.3.tgz", + "integrity": "sha512-wafWTDQOuMKtXpZEuk1PFQmzopabBciNLryL90MB9S03MNLaQQZYLnmYkDBlzAaLAbgF5QiC+2XZQEBQuTVjFQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extension-code-block": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-3.0.9.tgz", - "integrity": "sha512-H692k9sHIE3rR3S+BIknQXsLb8HSojk+7gQ5DV0hYajSzpJ02OUL4AnNlpMuSgZuaq+ljpN4sT8kCIzIE1kQxw==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-3.22.3.tgz", + "integrity": "sha512-RiQtEjDAPrHpdo6sw6b7fOw/PijqgFIsozKKkGcSeBgWHQuFg7q9OxJTj+l0e60rVwSu/5gmKEEobzM9bX+t2Q==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9", - "@tiptap/pm": "^3.0.9" + "@tiptap/core": "^3.22.3", + "@tiptap/pm": "^3.22.3" } }, "node_modules/@tiptap/extension-code-block-lowlight": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-3.0.9.tgz", - "integrity": "sha512-J5REgsah4yCaiWwy6FOygbv5FlHw28xzqxdIqm3922uq+l2LKwCAF4EwR3u19ZLGgtH2Wy27BClR97JZPLvVCQ==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-3.22.3.tgz", + "integrity": "sha512-NGFuD9zb1QfnCgD2zW4XaUEdQvd/ydm9FmXXh8eawx/+C8xt3p21DIKRERvxWrCvvVNzIUEpZRRYehPOJiD1eg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9", - "@tiptap/extension-code-block": "^3.0.9", - "@tiptap/pm": "^3.0.9", + "@tiptap/core": "^3.22.3", + "@tiptap/extension-code-block": "^3.22.3", + "@tiptap/pm": "^3.22.3", "highlight.js": "^11", "lowlight": "^2 || ^3" } }, "node_modules/@tiptap/extension-document": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-3.0.9.tgz", - "integrity": "sha512-DB/R5e6QvuGhY8EhCkfNjR2xQfz/TOWoxfQGhDuy5U+oK3WBwCcHq9t5+nbSCMHtKfi/i49aHKDvv7TQCpuP0w==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-3.22.3.tgz", + "integrity": "sha512-MCSr1PFPtTd++lA3H1RNgqAczAE59XXJ5wUFIQf2F+/0DPY5q2SU4g5QsNJVxPPft5mrNT4C6ty8xBPrALFEdA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extension-floating-menu": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-3.0.9.tgz", - "integrity": "sha512-WYQ3mW6G0zxoni6TegpQ46a1Qe1zj8Ev5sBH79H4Mbf0qsc7MOq07jLjipv9M0EJJPUi0cfkQlwfV41nH1ue/g==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-3.22.3.tgz", + "integrity": "sha512-0f8b4KZ3XKai8GXWseIYJGdOfQr3evtFbBo3U08zy2aYzMMXWG0zEF7qe5/oiYp2aZ95edjjITnEceviTsZkIg==", "license": "MIT", "optional": true, "funding": { @@ -2731,254 +3134,254 @@ }, "peerDependencies": { "@floating-ui/dom": "^1.0.0", - "@tiptap/core": "^3.0.9", - "@tiptap/pm": "^3.0.9" + "@tiptap/core": "^3.22.3", + "@tiptap/pm": "^3.22.3" } }, "node_modules/@tiptap/extension-hard-break": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-3.0.9.tgz", - "integrity": "sha512-PWNYsUwVsMWt/R5/OWjfGb+7DQT0DvH+1owBimRq0pWZepg8qkz1jdPGgsRmUFyERRsXeEpgj3VaQfrgbyUfrA==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-3.22.3.tgz", + "integrity": "sha512-J0v8I99y9tbvVmgKYKzKP/JYNsWaZYS7avn4rzLft2OhnyTfwt3OoY8DtpHmmi6apSUaCtoWHWta/TmoEfK1nQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extension-heading": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-3.0.9.tgz", - "integrity": "sha512-LRLCIt87fvDZ5CdkinzhkCwRz5ax6FlsjJzG32MJ3wXyvVslqeLXBvH28JFUZEyzgcd/SnYmYxnef5+yvAX61g==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-3.22.3.tgz", + "integrity": "sha512-XBHuhiEV2EEhZHpOLcplLqAmBIhJciU3I6AtwmqeEqDC0P114uMEfAO7JGlbBZdCYotNer26PKnu44TBTeNtkw==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extension-history": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-3.0.9.tgz", - "integrity": "sha512-wTSNy85Kla77y9zSUrNEGUVkqCWK9fU+Dsq8wH1A7Xrgi7vBPGkzhy8jpA8+CYtd6xI6c9IiuZrX+x44vjBlSw==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-3.22.3.tgz", + "integrity": "sha512-3kev2iP84YPjwUk8BaM28EQiVHbBmE0lkcIjh/6yvgRxRwblzRwyJuFcsVOY5ouBVxl9Rg1rcFFCAs8CFNFkUg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/extensions": "^3.0.9" + "@tiptap/extensions": "^3.22.3" } }, "node_modules/@tiptap/extension-horizontal-rule": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-3.0.9.tgz", - "integrity": "sha512-jPNCOte0y9R3Y4PiEA/CRGgRk8WoL700Mnn8NPVHa4juUjvMl1qxL8hdnW/k8cxhrBA8tV0qcq82+/Vqq6jSfA==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-3.22.3.tgz", + "integrity": "sha512-wI2bFzScs+KgWeBH/BtypcVKeYelCyqV0RG8nxsZMWtPrBhqixzNd0Oi3gEKtjSjKUqMQ/kjJAIRuESr5UzlHA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9", - "@tiptap/pm": "^3.0.9" + "@tiptap/core": "^3.22.3", + "@tiptap/pm": "^3.22.3" } }, "node_modules/@tiptap/extension-italic": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-3.0.9.tgz", - "integrity": "sha512-Gt4FbMtZerzKpit8+FvIjIQ3CBD559/FFC+kOT9y8JHlINeqWyh/bgHuaA/9/XtHphOQiA7NDwOiuPh4KIKpqA==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-3.22.3.tgz", + "integrity": "sha512-LteA4cb4EGCiUtrK2JHvDF/Zg0/YqV4DUyHhAAho+oGEQDupZlsS6m0ia5wQcclkiTLzsoPrwcSNu6RDGQ16wQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extension-list": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-list/-/extension-list-3.0.9.tgz", - "integrity": "sha512-y5JQoFmVR+6FhDdEz2oFIMkURSRSDhCtsrlNWdUpSTGnTAa2WZT7nEhHcIMSGvYU3t0fkfLQ9yTMSaQZFa5GLA==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list/-/extension-list-3.22.3.tgz", + "integrity": "sha512-rqvv/dtqwbX+8KnPv0eMYp6PnBcuhPMol5cv1GlS8Nq/Cxt68EWGUHBuTFesw+hdnRQLmKwzoO1DlRn7PhxYRQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9", - "@tiptap/pm": "^3.0.9" + "@tiptap/core": "^3.22.3", + "@tiptap/pm": "^3.22.3" } }, "node_modules/@tiptap/extension-list-item": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-3.0.9.tgz", - "integrity": "sha512-K+ogk1BH/eYhsK9nSTXNdIXlxQcXzty6h1QFiZNr9XmaLk+q4NZFHR5FVz3EJ7QXyw+Gv/2FQn+T2Q/GpbMxZQ==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-3.22.3.tgz", + "integrity": "sha512-80CNf4oO5y8+LdckT4CyMe1t01EyhpRrQC9H45JW20P7559Nrchp5my3vvMtIAJbpTPPZtcB7LwdzWGKsG5drg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/extension-list": "^3.0.9" + "@tiptap/extension-list": "^3.22.3" } }, "node_modules/@tiptap/extension-ordered-list": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-3.0.9.tgz", - "integrity": "sha512-ACubdGc/y/rKPEgHTO7hDSg547wRRA+Es7c/rQgjrkpI///LBJQfixyUvNg2UNNPttNsavF/CUwhshCeo9MeBA==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-3.22.3.tgz", + "integrity": "sha512-orAghtmd+K4Euu4BgI1hG+iZDXBYOyl5YTwiLBc2mQn+pqtZ9LqaH2us4ETwEwNP3/IWXGSAimUZ19nuL+eM2w==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/extension-list": "^3.0.9" + "@tiptap/extension-list": "^3.22.3" } }, "node_modules/@tiptap/extension-paragraph": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-3.0.9.tgz", - "integrity": "sha512-K5zGg4zLxxqAG0BgtRpLvKclYSGoSSuU1Fza0M5MwUgrFA0S2q4JnLB1czQ77S4pfb3hpScIe50fwJzZmIUEQw==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-3.22.3.tgz", + "integrity": "sha512-oO7rhfyhEuwm+50s9K3GZPjYyEEEvFAvm1wXopvZnhbkBLydIWImBfrZoC5IQh4/sRDlTIjosV2C+ji5y0tUSg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extension-strike": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-3.0.9.tgz", - "integrity": "sha512-2TBQ9P/FGe+/34ckfwP+eCdb4vbxDVZ5qD0piDIR9Ws5QI5IdtW90pNO4roxiPeRdVFrhTbFPEIuL0tg4NQRmg==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-3.22.3.tgz", + "integrity": "sha512-jY2InoUlKkuk5KHoIDGdML1OCA2n6PRHAtxwHNkAmiYh0Khf0zaVPGFpx4dgQrN7W5Q1WE6oBZnjrvy6qb7w0g==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extension-subscript": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-subscript/-/extension-subscript-3.0.9.tgz", - "integrity": "sha512-FJi6TH5VnAGtqD7c8TX0JJGkabVTC69lEoSel8RUbK9P+NHk0hh1PEyCjHSNhGinepoB6GIi6+skvXHIkJb5xw==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-subscript/-/extension-subscript-3.22.3.tgz", + "integrity": "sha512-fcHinQMye6tPSxTB74CLW4Z/HbA9FX4epKOQ0ld0wIFsQB2bVz0NH9FfwrTEsYWLjeFWkDcL41VOReZXqKz1jQ==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9", - "@tiptap/pm": "^3.0.9" + "@tiptap/core": "^3.22.3", + "@tiptap/pm": "^3.22.3" } }, "node_modules/@tiptap/extension-superscript": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-superscript/-/extension-superscript-3.0.9.tgz", - "integrity": "sha512-an3ZLXkgO9eLxRDeWelxlzCSdGlVptPMfcg/d315SnjBKRhXJbBirLxQsYfb5CF/cGJ56Qj3TvewfKPITP5POw==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-superscript/-/extension-superscript-3.22.3.tgz", + "integrity": "sha512-q+yPA+vbvaqiVGTJddjBhvWgqLXu6j39knz3TgJKw4nBuvoAXWrlWtgOy44wwIIs8vILI4wENoUuoI0+vOzynA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9", - "@tiptap/pm": "^3.0.9" + "@tiptap/core": "^3.22.3", + "@tiptap/pm": "^3.22.3" } }, "node_modules/@tiptap/extension-table": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-table/-/extension-table-3.0.9.tgz", - "integrity": "sha512-jygDvj9MIwMlzs2c+4MZwXCXI6sc7LcKgPFoJ93qiCn6CZrDwaX3XzxXi0VAg7MexsUi1nVaGZQk/gv+Pf3rKw==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-table/-/extension-table-3.22.3.tgz", + "integrity": "sha512-inbQSusJad7H0T++L1APg/anfL5d15cNGp2YG3vwo6TQr71nn2c9pepvmz3xuAIt8eygZDRba+4GT/COP1f9QA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9", - "@tiptap/pm": "^3.0.9" + "@tiptap/core": "^3.22.3", + "@tiptap/pm": "^3.22.3" } }, "node_modules/@tiptap/extension-text": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-3.0.9.tgz", - "integrity": "sha512-yWdz4aW1nu5YGcinxfu3FXiwMnP/7jp+s7dFXhq9m/6zhDUD2+qyUwhJfIU4Tcz+BGdVHqoNgOA3QXLMA6jyFA==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-3.22.3.tgz", + "integrity": "sha512-Q9R7JsTdomP5uUjtPjNKxHT1xoh/i9OJZnmgJLe7FcgZEaPOQ3bWxmKZoLZQfDfZjyB8BtH+Hc7nUvhCMOePxw==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extension-text-align": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-text-align/-/extension-text-align-3.0.9.tgz", - "integrity": "sha512-QQBk8orIdntL3tPzGkKIqEogqArvO/x4dfvbAA2K0DqvS9uGJ3Qp4X6Twv+BIHLjeyhZl/z48vEMB+bjwvqg+w==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text-align/-/extension-text-align-3.22.3.tgz", + "integrity": "sha512-dG1NHE0yGf7fYiOdabCJuecI2IJ1uogyY/QvZqvPNaxRjZDoXYuGlMtz9jEDiIdQSaPED2MSsS7KkuNFQIEMGg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extension-typography": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-typography/-/extension-typography-3.0.9.tgz", - "integrity": "sha512-vlOdZidm05AJJ2tMJXVh9ICtlutbvs+2+A7nmsGAnAqbErcleFYimaLFaWucCPsPnUz04pa4qMtW8jF2WIJQYg==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-typography/-/extension-typography-3.22.3.tgz", + "integrity": "sha512-QQv1KUHsr3LTGhtPIG/ZP15Cj5VmI5ChgK4Q7UZ7JZBppBKAeMnyAnOcO2ith+qZ8qp5s+UiQ7Unp0zP1VSYkg==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extension-underline": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-3.0.9.tgz", - "integrity": "sha512-xLR5NbnxlEJmvfb4Aj8wCbTmh/ycnPsSDeP8+TAsdAYxypSA6BP6G0t4d4NWreqAq+tq6QV6Eh0+YDN0G1VZxw==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-3.22.3.tgz", + "integrity": "sha512-Ch6CBWRa5w90yYSPUW6x9Py9JdrXMqk3pZ9OIlMYD8A7BqyZGfiHerX7XDMYDS09KjyK3U9XH60/zxYOzXdDLA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9" + "@tiptap/core": "^3.22.3" } }, "node_modules/@tiptap/extensions": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/extensions/-/extensions-3.0.9.tgz", - "integrity": "sha512-IyTcPnZXUf0nxDkC+CCWh10vzn81Kq50euV/ivk8IyPr15hxPiT3Zk1LmCI10Pqf4Bwgz38XUIWtToDfIeEgpg==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/extensions/-/extensions-3.22.3.tgz", + "integrity": "sha512-s5eiMq0m5N6N+W7dU6rd60KgZyyCD7FvtPNNswISfPr12EQwJBfbjWwTqd0UKNzA4fNrhQEERXnzORkykttPeA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "peerDependencies": { - "@tiptap/core": "^3.0.9", - "@tiptap/pm": "^3.0.9" + "@tiptap/core": "^3.22.3", + "@tiptap/pm": "^3.22.3" } }, "node_modules/@tiptap/pm": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-3.0.9.tgz", - "integrity": "sha512-cJdnpGyirRxwi6M4IkyapEK/jhcjFXdfX3uhJp/4uVH1dynNXalV0gE/YnH/yt55kzwvG9OUrwOQt+t1iXgNog==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-3.22.3.tgz", + "integrity": "sha512-NjfWjZuvrqmpICT+GZWNIjtOdhPyqFKDMtQy7tsQ5rErM9L2ZQdy/+T/BKSO1JdTeBhdg9OP+0yfsqoYp2aT6A==", "license": "MIT", "dependencies": { "prosemirror-changeset": "^2.3.0", @@ -3006,29 +3409,29 @@ } }, "node_modules/@tiptap/vue-3": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@tiptap/vue-3/-/vue-3-3.0.9.tgz", - "integrity": "sha512-IEhddTn2M0LbatFGkBPxfdbs+kL+xVC2GgYWWxvR/44ptXpKV4axtlH42nqh7sLj4DSBfP9jRlU6U0n6zdeMGg==", + "version": "3.22.3", + "resolved": "https://registry.npmjs.org/@tiptap/vue-3/-/vue-3-3.22.3.tgz", + "integrity": "sha512-wOGZiBwIJYCZXts5VWWGgseGCRMc8tO46tgaOXNyMLVl2h2cO6/CNEcPO2pgtuoLIHoV4KYvfpw6n+XqR9cqbA==", "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/ueberdosis" }, "optionalDependencies": { - "@tiptap/extension-bubble-menu": "^3.0.9", - "@tiptap/extension-floating-menu": "^3.0.9" + "@tiptap/extension-bubble-menu": "^3.22.3", + "@tiptap/extension-floating-menu": "^3.22.3" }, "peerDependencies": { "@floating-ui/dom": "^1.0.0", - "@tiptap/core": "^3.0.9", - "@tiptap/pm": "^3.0.9", + "@tiptap/core": "^3.22.3", + "@tiptap/pm": "^3.22.3", "vue": "^3.0.0" } }, "node_modules/@tybys/wasm-util": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", - "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", "dev": true, "license": "MIT", "optional": true, @@ -3085,9 +3488,9 @@ "license": "MIT" }, "node_modules/@types/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==", + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz", + "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", "license": "MIT" }, "node_modules/@types/lodash-es": { @@ -3123,20 +3526,20 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "24.2.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.2.0.tgz", - "integrity": "sha512-3xyG3pMCq3oYCNg7/ZP+E1ooTaGB4cG8JWRsqqOYQdbWNY4zbaV0Ennrd7stjiJEFZCaybcIgpTjJWHRfBSIDw==", + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.2.tgz", + "integrity": "sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "undici-types": "~7.10.0" + "undici-types": "~7.18.0" } }, "node_modules/@types/react": { - "version": "19.2.6", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.6.tgz", - "integrity": "sha512-p/jUvulfgU7oKtj6Xpk8cA2Y1xKTtICGpJYeJXz2YVO2UcvjQgeRMLDGfDeqeRW2Ta+0QNFwcc8X3GH8SxZz6w==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", "dev": true, "license": "MIT", "peer": true, @@ -3158,68 +3561,68 @@ "license": "MIT" }, "node_modules/@types/web-bluetooth": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", - "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", "license": "MIT" }, "node_modules/@vitejs/plugin-vue": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.0.tgz", - "integrity": "sha512-iAliE72WsdhjzTOp2DtvKThq1VBC4REhwRcaA+zPAAph6I+OQhUXv+Xu2KS7ElxYtb7Zc/3R30Hwv1DxEo7NXQ==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.5.tgz", + "integrity": "sha512-bL3AxKuQySfk1iGcBsQnoRVexTPJq0Z/ixFVM8OhVJAP6ZXXXLtM7NFKWhLl30Kg7uTBqIaPXbh+nuQCuBDedg==", "dev": true, "license": "MIT", "dependencies": { - "@rolldown/pluginutils": "1.0.0-beta.19" + "@rolldown/pluginutils": "1.0.0-rc.2" }, "engines": { "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "vue": "^3.2.25" } }, "node_modules/@vitest/browser": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.0.12.tgz", - "integrity": "sha512-8zE2ksJ7V4B7Mc++L6rBRZOZHnE/f9URvj7oLYKIS5wcDaSi6EhfalN0EG6+R/OlTYZarbK6RqmhKDLYNC9KfQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.1.3.tgz", + "integrity": "sha512-CS9KjO2vijuBlbwz0JIgC0YuoI1BuqWI5ziD3Nll6jkpNYtWdjPMVgGynQ9vZovjsECeUqEeNjWrypP414d0CQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/mocker": "4.0.12", - "@vitest/utils": "4.0.12", + "@blazediff/core": "1.9.1", + "@vitest/mocker": "4.1.3", + "@vitest/utils": "4.1.3", "magic-string": "^0.30.21", - "pixelmatch": "7.1.0", "pngjs": "^7.0.0", "sirv": "^3.0.2", - "tinyrainbow": "^3.0.3", - "ws": "^8.18.3" + "tinyrainbow": "^3.1.0", + "ws": "^8.19.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "4.0.12" + "vitest": "4.1.3" } }, "node_modules/@vitest/browser-playwright": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/@vitest/browser-playwright/-/browser-playwright-4.0.12.tgz", - "integrity": "sha512-TCFuvEHVLHDuK4HmKJNSuYQwefpXBnWNuf3J8pLsXF3Q2sgRZJs+L+aUF2xjtJT5OBEJsgX5jENvlGKc596XNw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@vitest/browser-playwright/-/browser-playwright-4.1.3.tgz", + "integrity": "sha512-D3Q+YozvSpiFaLPgd6/OMbyqEIZeucSe6AHJJ7VnNJKQhIyBE60TlBZlxzwM8bvjzQE9ZnYWQCPeCw5pnhbiNg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/browser": "4.0.12", - "@vitest/mocker": "4.0.12", - "tinyrainbow": "^3.0.3" + "@vitest/browser": "4.1.3", + "@vitest/mocker": "4.1.3", + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "playwright": "*", - "vitest": "4.0.12" + "vitest": "4.1.3" }, "peerDependenciesMeta": { "playwright": { @@ -3228,31 +3631,81 @@ } }, "node_modules/@vitest/expect": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.12.tgz", - "integrity": "sha512-is+g0w8V3/ZhRNrRizrJNr8PFQKwYmctWlU4qg8zy5r9aIV5w8IxXLlfbbxJCwSpsVl2PXPTm2/zruqTqz3QSg==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", "dev": true, "license": "MIT", "dependencies": { - "@standard-schema/spec": "^1.0.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.0.12", - "@vitest/utils": "4.0.12", - "chai": "^6.2.1", - "tinyrainbow": "^3.0.3" + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/expect/node_modules/@vitest/pretty-format": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/expect/node_modules/@vitest/spy": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^4.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, + "node_modules/@vitest/expect/node_modules/@vitest/utils": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/expect/node_modules/tinyrainbow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@vitest/mocker": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.12.tgz", - "integrity": "sha512-GsmA/tD5Ht3RUFoz41mZsMU1AXch3lhmgbTnoSPTdH231g7S3ytNN1aU0bZDSyxWs8WA7KDyMPD5L4q6V6vj9w==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.3.tgz", + "integrity": "sha512-XN3TrycitDQSzGRnec/YWgoofkYRhouyVQj4YNsJ5r/STCUFqMrP4+oxEv3e7ZbLi4og5kIHrZwekDJgw6hcjw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.0.12", + "@vitest/spy": "4.1.3", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, @@ -3261,7 +3714,7 @@ }, "peerDependencies": { "msw": "^2.4.9", - "vite": "^6.0.0 || ^7.0.0-0" + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "msw": { @@ -3272,37 +3725,27 @@ } } }, - "node_modules/@vitest/mocker/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, "node_modules/@vitest/pretty-format": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.12.tgz", - "integrity": "sha512-R7nMAcnienG17MvRN8TPMJiCG8rrZJblV9mhT7oMFdBXvS0x+QD6S1G4DxFusR2E0QIS73f7DqSR1n87rrmE+g==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.3.tgz", + "integrity": "sha512-hYqqwuMbpkkBodpRh4k4cQSOELxXky1NfMmQvOfKvV8zQHz8x8Dla+2wzElkMkBvSAJX5TRGHJAQvK0TcOafwg==", "dev": true, "license": "MIT", "dependencies": { - "tinyrainbow": "^3.0.3" + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/runner": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.12.tgz", - "integrity": "sha512-hDlCIJWuwlcLumfukPsNfPDOJokTv79hnOlf11V+n7E14rHNPz0Sp/BO6h8sh9qw4/UjZiKyYpVxK2ZNi+3ceQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.3.tgz", + "integrity": "sha512-VwgOz5MmT0KhlUj40h02LWDpUBVpflZ/b7xZFA25F29AJzIrE+SMuwzFf0b7t4EXdwRNX61C3B6auIXQTR3ttA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.0.12", + "@vitest/utils": "4.1.3", "pathe": "^2.0.3" }, "funding": { @@ -3310,13 +3753,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.12.tgz", - "integrity": "sha512-2jz9zAuBDUSbnfyixnyOd1S2YDBrZO23rt1bicAb6MA/ya5rHdKFRikPIDpBj/Dwvh6cbImDmudegnDAkHvmRQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.3.tgz", + "integrity": "sha512-9l+k/J9KG5wPJDX9BcFFzhhwNjwkRb8RsnYhaT1vPY7OufxmQFc9sZzScRCPTiETzl37mrIWVY9zxzmdVeJwDQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.12", + "@vitest/pretty-format": "4.1.3", + "@vitest/utils": "4.1.3", "magic-string": "^0.30.21", "pathe": "^2.0.3" }, @@ -3325,9 +3769,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.12.tgz", - "integrity": "sha512-GZjI9PPhiOYNX8Nsyqdw7JQB+u0BptL5fSnXiottAUBHlcMzgADV58A7SLTXXQwcN1yZ6gfd1DH+2bqjuUlCzw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.3.tgz", + "integrity": "sha512-ujj5Uwxagg4XUIfAUyRQxAg631BP6e9joRiN99mr48Bg9fRs+5mdUElhOoZ6rP5mBr8Bs3lmrREnkrQWkrsTCw==", "dev": true, "license": "MIT", "funding": { @@ -3335,71 +3779,72 @@ } }, "node_modules/@vitest/utils": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.12.tgz", - "integrity": "sha512-DVS/TLkLdvGvj1avRy0LSmKfrcI9MNFvNGN6ECjTUHWJdlcgPDOXhjMis5Dh7rBH62nAmSXnkPbE+DZ5YD75Rw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.3.tgz", + "integrity": "sha512-Pc/Oexse/khOWsGB+w3q4yzA4te7W4gpZZAvk+fr8qXfTURZUMj5i7kuxsNK5mP/dEB6ao3jfr0rs17fHhbHdw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.0.12", - "tinyrainbow": "^3.0.3" + "@vitest/pretty-format": "4.1.3", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@volar/language-core": { - "version": "2.4.22", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.22.tgz", - "integrity": "sha512-gp4M7Di5KgNyIyO903wTClYBavRt6UyFNpc5LWfyZr1lBsTUY+QrVZfmbNF2aCyfklBOVk9YC4p+zkwoyT7ECg==", + "version": "2.4.15", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.15.tgz", + "integrity": "sha512-3VHw+QZU0ZG9IuQmzT68IyN4hZNd9GchGPhbD9+pa8CVv7rnoOZwo7T8weIbrRmihqy3ATpdfXFnqRrfPVK6CA==", "dev": true, "license": "MIT", "dependencies": { - "@volar/source-map": "2.4.22" + "@volar/source-map": "2.4.15" } }, "node_modules/@volar/source-map": { - "version": "2.4.22", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.22.tgz", - "integrity": "sha512-L2nVr/1vei0xKRgO2tYVXtJYd09HTRjaZi418e85Q+QdbbqA8h7bBjfNyPPSsjnrOO4l4kaAo78c8SQUAdHvgA==", + "version": "2.4.15", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.15.tgz", + "integrity": "sha512-CPbMWlUN6hVZJYGcU/GSoHu4EnCHiLaXI9n8c9la6RaI9W5JHX+NqG+GSQcB0JdC2FIBLdZJwGsfKyBB71VlTg==", "dev": true, "license": "MIT" }, "node_modules/@volar/typescript": { - "version": "2.4.22", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.22.tgz", - "integrity": "sha512-6ZczlJW1/GWTrNnkmZxJp4qyBt/SGVlcTuCWpI5zLrdPdCZsj66Aff9ZsfFaT3TyjG8zVYgBMYPuCm/eRkpcpQ==", + "version": "2.4.15", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.15.tgz", + "integrity": "sha512-2aZ8i0cqPGjXb4BhkMsPYDkkuc2ZQ6yOpqwAuNwUoncELqoy5fRgOQtLR9gB0g902iS0NAkvpIzs27geVyVdPg==", "dev": true, "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.22", + "@volar/language-core": "2.4.15", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } }, "node_modules/@vue/compiler-core": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.17.tgz", - "integrity": "sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.32.tgz", + "integrity": "sha512-4x74Tbtqnda8s/NSD6e1Dr5p1c8HdMU5RWSjMSUzb8RTcUQqevDCxVAitcLBKT+ie3o0Dl9crc/S/opJM7qBGQ==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.27.5", - "@vue/shared": "3.5.17", - "entities": "^4.5.0", + "@babel/parser": "^7.29.2", + "@vue/shared": "3.5.32", + "entities": "^7.0.1", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-core/node_modules/@vue/shared": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", - "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", + "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", "license": "MIT" }, "node_modules/@vue/compiler-core/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -3408,59 +3853,71 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, "node_modules/@vue/compiler-dom": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.17.tgz", - "integrity": "sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.32.tgz", + "integrity": "sha512-ybHAu70NtiEI1fvAUz3oXZqkUYEe5J98GjMDpTGl5iHb0T15wQYLR4wE3h9xfuTNA+Cm2f4czfe8B4s+CCH57Q==", "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.5.17", - "@vue/shared": "3.5.17" + "@vue/compiler-core": "3.5.32", + "@vue/shared": "3.5.32" } }, "node_modules/@vue/compiler-dom/node_modules/@vue/shared": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", - "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", + "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", "license": "MIT" }, "node_modules/@vue/compiler-sfc": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.17.tgz", - "integrity": "sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.32.tgz", + "integrity": "sha512-8UYUYo71cP/0YHMO814TRZlPuUUw3oifHuMR7Wp9SNoRSrxRQnhMLNlCeaODNn6kNTJsjFoQ/kqIj4qGvya4Xg==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.27.5", - "@vue/compiler-core": "3.5.17", - "@vue/compiler-dom": "3.5.17", - "@vue/compiler-ssr": "3.5.17", - "@vue/shared": "3.5.17", + "@babel/parser": "^7.29.2", + "@vue/compiler-core": "3.5.32", + "@vue/compiler-dom": "3.5.32", + "@vue/compiler-ssr": "3.5.32", + "@vue/shared": "3.5.32", "estree-walker": "^2.0.2", - "magic-string": "^0.30.17", - "postcss": "^8.5.6", + "magic-string": "^0.30.21", + "postcss": "^8.5.8", "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-sfc/node_modules/@vue/shared": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", - "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", + "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", + "license": "MIT" + }, + "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "license": "MIT" }, "node_modules/@vue/compiler-ssr": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.17.tgz", - "integrity": "sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.32.tgz", + "integrity": "sha512-Gp4gTs22T3DgRotZ8aA/6m2jMR+GMztvBXUBEUOYOcST+giyGWJ4WvFd7QLHBkzTxkfOt8IELKNdpzITLbA2rw==", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.17", - "@vue/shared": "3.5.17" + "@vue/compiler-dom": "3.5.32", + "@vue/shared": "3.5.32" } }, "node_modules/@vue/compiler-ssr/node_modules/@vue/shared": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", - "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", + "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", "license": "MIT" }, "node_modules/@vue/compiler-vue2": { @@ -3475,21 +3932,21 @@ } }, "node_modules/@vue/devtools-api": { - "version": "7.7.7", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.7.tgz", - "integrity": "sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==", + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.9.tgz", + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", "license": "MIT", "dependencies": { - "@vue/devtools-kit": "^7.7.7" + "@vue/devtools-kit": "^7.7.9" } }, "node_modules/@vue/devtools-kit": { - "version": "7.7.7", - "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.7.tgz", - "integrity": "sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==", + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", "license": "MIT", "dependencies": { - "@vue/devtools-shared": "^7.7.7", + "@vue/devtools-shared": "^7.7.9", "birpc": "^2.3.0", "hookable": "^5.5.3", "mitt": "^3.0.1", @@ -3499,29 +3956,29 @@ } }, "node_modules/@vue/devtools-shared": { - "version": "7.7.7", - "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.7.tgz", - "integrity": "sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==", + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", "license": "MIT", "dependencies": { "rfdc": "^1.4.1" } }, "node_modules/@vue/language-core": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.0.5.tgz", - "integrity": "sha512-gCEjn9Ik7I/seHVNIEipOm8W+f3/kg60e8s1IgIkMYma2wu9ZGUTMv3mSL2bX+Md2L8fslceJ4SU8j1fgSRoiw==", + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.12.tgz", + "integrity": "sha512-IsGljWbKGU1MZpBPN+BvPAdr55YPkj2nB/TBNGNC32Vy2qLG25DYu/NBN2vNtZqdRbTRjaoYrahLrToim2NanA==", "dev": true, "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.22", + "@volar/language-core": "2.4.15", "@vue/compiler-dom": "^3.5.0", "@vue/compiler-vue2": "^2.7.16", "@vue/shared": "^3.5.0", - "alien-signals": "^2.0.5", + "alien-signals": "^1.0.3", + "minimatch": "^9.0.3", "muggle-string": "^0.4.1", - "path-browserify": "^1.0.1", - "picomatch": "^4.0.2" + "path-browserify": "^1.0.1" }, "peerDependencies": { "typescript": "*" @@ -3533,9 +3990,9 @@ } }, "node_modules/@vue/language-core/node_modules/@vue/shared": { - "version": "3.5.18", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.18.tgz", - "integrity": "sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", + "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", "dev": true, "license": "MIT" }, @@ -3549,74 +4006,74 @@ } }, "node_modules/@vue/runtime-core": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.17.tgz", - "integrity": "sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.32.tgz", + "integrity": "sha512-pDrXCejn4UpFDFmMd27AcJEbHaLemaE5o4pbb7sLk79SRIhc6/t34BQA7SGNgYtbMnvbF/HHOftYBgFJtUoJUQ==", "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.17", - "@vue/shared": "3.5.17" + "@vue/reactivity": "3.5.32", + "@vue/shared": "3.5.32" } }, "node_modules/@vue/runtime-core/node_modules/@vue/reactivity": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.17.tgz", - "integrity": "sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.32.tgz", + "integrity": "sha512-/ORasxSGvZ6MN5gc+uE364SxFdJ0+WqVG0CENXaGW58TOCdrAW76WWaplDtECeS1qphvtBZtR+3/o1g1zL4xPQ==", "license": "MIT", "dependencies": { - "@vue/shared": "3.5.17" + "@vue/shared": "3.5.32" } }, "node_modules/@vue/runtime-core/node_modules/@vue/shared": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", - "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", + "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", "license": "MIT" }, "node_modules/@vue/runtime-dom": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.17.tgz", - "integrity": "sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.32.tgz", + "integrity": "sha512-1CDVv7tv/IV13V8Nip1k/aaObVbWqRlVCVezTwx3K07p7Vxossp5JU1dcPNhJk3w347gonIUT9jQOGutyJrSVQ==", "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.17", - "@vue/runtime-core": "3.5.17", - "@vue/shared": "3.5.17", - "csstype": "^3.1.3" + "@vue/reactivity": "3.5.32", + "@vue/runtime-core": "3.5.32", + "@vue/shared": "3.5.32", + "csstype": "^3.2.3" } }, "node_modules/@vue/runtime-dom/node_modules/@vue/reactivity": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.17.tgz", - "integrity": "sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.32.tgz", + "integrity": "sha512-/ORasxSGvZ6MN5gc+uE364SxFdJ0+WqVG0CENXaGW58TOCdrAW76WWaplDtECeS1qphvtBZtR+3/o1g1zL4xPQ==", "license": "MIT", "dependencies": { - "@vue/shared": "3.5.17" + "@vue/shared": "3.5.32" } }, "node_modules/@vue/runtime-dom/node_modules/@vue/shared": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", - "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", + "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", "license": "MIT" }, "node_modules/@vue/server-renderer": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.17.tgz", - "integrity": "sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.32.tgz", + "integrity": "sha512-IOjm2+JQwRFS7W28HNuJeXQle9KdZbODFY7hFGVtnnghF51ta20EWAZJHX+zLGtsHhaU6uC9BGPV52KVpYryMQ==", "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.5.17", - "@vue/shared": "3.5.17" + "@vue/compiler-ssr": "3.5.32", + "@vue/shared": "3.5.32" }, "peerDependencies": { - "vue": "3.5.17" + "vue": "3.5.32" } }, "node_modules/@vue/server-renderer/node_modules/@vue/shared": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", - "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", + "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", "license": "MIT" }, "node_modules/@vue/shared": { @@ -3636,45 +4093,28 @@ "vue-component-type-helpers": "^2.0.0" } }, + "node_modules/@vue/test-utils/node_modules/vue-component-type-helpers": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.12.tgz", + "integrity": "sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==", + "dev": true, + "license": "MIT" + }, "node_modules/@vueuse/core": { - "version": "10.11.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz", - "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.2.1.tgz", + "integrity": "sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==", "license": "MIT", "dependencies": { - "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "10.11.1", - "@vueuse/shared": "10.11.1", - "vue-demi": ">=0.14.8" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "14.2.1", + "@vueuse/shared": "14.2.1" }, "funding": { "url": "https://github.com/sponsors/antfu" }, "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } + "vue": "^3.5.0" } }, "node_modules/@vueuse/integrations": { @@ -3743,33 +4183,28 @@ } } }, - "node_modules/@vueuse/integrations/node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "hasInstallScript": true, + "node_modules/@vueuse/integrations/node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, + "node_modules/@vueuse/integrations/node_modules/@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" }, "funding": { "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } } }, - "node_modules/@vueuse/metadata": { + "node_modules/@vueuse/integrations/node_modules/@vueuse/metadata": { "version": "10.11.1", "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.11.1.tgz", "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", @@ -3778,7 +4213,7 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vueuse/shared": { + "node_modules/@vueuse/integrations/node_modules/@vueuse/shared": { "version": "10.11.1", "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.1.tgz", "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", @@ -3790,7 +4225,7 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vueuse/shared/node_modules/vue-demi": { + "node_modules/@vueuse/integrations/node_modules/vue-demi": { "version": "0.14.10", "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", @@ -3816,6 +4251,34 @@ } } }, + "node_modules/@vueuse/metadata": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.2.1.tgz", + "integrity": "sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.2.1.tgz", + "integrity": "sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/@webcontainer/env": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@webcontainer/env/-/env-1.1.1.tgz", + "integrity": "sha512-6aN99yL695Hi9SuIk1oC88l9o0gmxL1nGWWQ/kNy81HigJ0FoaoTXpytCj6ItzgyCEwA9kF1wixsTuv5cjsgng==", + "dev": true, + "license": "MIT" + }, "node_modules/abbrev": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", @@ -3839,9 +4302,9 @@ } }, "node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", "engines": { @@ -3849,40 +4312,39 @@ } }, "node_modules/alien-signals": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-2.0.6.tgz", - "integrity": "sha512-P3TxJSe31bUHBiblg59oU1PpaWPtmxF9GhJ/cB7OkgJ0qN/ifFSKUI25/v8ZhsT+lIG6ac8DpTOplXxORX6F3Q==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.13.tgz", + "integrity": "sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==", "dev": true, "license": "MIT" }, "node_modules/alpinejs": { - "version": "3.14.9", - "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.14.9.tgz", - "integrity": "sha512-gqSOhTEyryU9FhviNqiHBHzgjkvtukq9tevew29fTj+ofZtfsYriw4zPirHHOAy9bw8QoL3WGhyk7QqCh5AYlw==", + "version": "3.15.11", + "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.15.11.tgz", + "integrity": "sha512-m26gkTg/MId8O+F4jHKK3vB3SjbFxxk/JHP+qzmw1H6aQrZuPAg4CUoAefnASzzp/eNroBjrRQe7950bNeaBJw==", "license": "MIT", "dependencies": { "@vue/reactivity": "~3.1.1" } }, "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=8" } }, "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "license": "MIT", + "peer": true, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" @@ -3966,9 +4428,9 @@ "license": "MIT" }, "node_modules/axe-core": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz", - "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==", + "version": "4.11.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.2.tgz", + "integrity": "sha512-byD6KPdvo72y/wj2T/4zGEvvlis+PsZsn/yPS3pEO+sFpcrqRpX/TJCxvVaEsNeMrfQbCr7w163YqoD9IYwHXw==", "dev": true, "license": "MPL-2.0", "engines": { @@ -3976,14 +4438,40 @@ } }, "node_modules/axios": { - "version": "1.13.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", - "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.18.1.tgz", + "integrity": "sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==", "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.11", + "follow-redirects": "^1.16.0", "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" + "https-proxy-agent": "^5.0.1", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/axios/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/axios/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, "node_modules/babel-walk": { @@ -4006,9 +4494,9 @@ "license": "MIT" }, "node_modules/birpc": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.4.0.tgz", - "integrity": "sha512-5IdNxTyhXHv2UlgnPHQ0h+5ypVmkrYHzL8QT+DwFZ//2N/oNV8Ch+BCRmTJ3x6/z9Axo/cXYBc9eprsUVK/Jsg==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" @@ -4021,9 +4509,9 @@ "license": "ISC" }, "node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -4088,11 +4576,18 @@ } }, "node_modules/chai": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.1.tgz", - "integrity": "sha512-p4Z49OGG5W/WBCPSS/dH3jQ73kD6tiMmUM+bckNK6Jr5JHMG3k9bg/BvKR8lKmtVBKmOiuVaV2ws8s9oSbwysg==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", + "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", "dev": true, "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, "engines": { "node": ">=18" } @@ -4108,114 +4603,81 @@ } }, "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz", + "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==", "dev": true, "license": "MIT", "engines": { "node": ">= 16" } }, - "node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", "dev": true, "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/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, - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">=20" } }, "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", "dev": true, "license": "MIT" }, "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" + "node": ">=18" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" @@ -4310,6 +4772,13 @@ "@babel/types": "^7.6.1" } }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, "node_modules/cookies-js": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/cookies-js/-/cookies-js-1.2.3.tgz", @@ -4317,15 +4786,15 @@ "license": "Public Domain" }, "node_modules/copy-anything": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", - "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.0.5.tgz", + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", "license": "MIT", "dependencies": { - "is-what": "^4.1.8" + "is-what": "^5.2.0" }, "engines": { - "node": ">=12.13" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/mesqueeb" @@ -4503,7 +4972,6 @@ "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -4518,9 +4986,9 @@ } }, "node_modules/decimal.js": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", - "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", "dev": true, "license": "MIT" }, @@ -4535,9 +5003,9 @@ } }, "node_modules/default-browser": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", - "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", "dev": true, "license": "MIT", "dependencies": { @@ -4565,19 +5033,22 @@ } }, "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", "license": "MIT" }, "node_modules/delayed-stream": { @@ -4599,9 +5070,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4690,13 +5161,10 @@ } }, "node_modules/dompurify": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.2.tgz", - "integrity": "sha512-6obghkliLdmKa56xdbLOpUZ43pAR6xFy1uOrxBaIDjT+yaRuuybLjGS9eVBoSR/UPU5fq3OXClEHLJNGvbxKpQ==", + "version": "3.4.11", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.11.tgz", + "integrity": "sha512-zhlUV12GsaRzMsf9q5M254YhA4+VuF0fG+QFqu6aYpoGlKtz+w8//jBcGVYBgQkR5GHjUomejY84AV+/uPbWdw==", "license": "(MPL-2.0 OR Apache-2.0)", - "engines": { - "node": ">=20" - }, "optionalDependencies": { "@types/trusted-types": "^2.0.7" } @@ -4770,14 +5238,14 @@ "license": "MIT" }, "node_modules/enhanced-resolve": { - "version": "5.18.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.2.tgz", - "integrity": "sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==", + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "tapable": "^2.3.0" }, "engines": { "node": ">=10.13.0" @@ -4815,9 +5283,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", "dev": true, "license": "MIT" }, @@ -4849,9 +5317,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", - "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -4862,31 +5330,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.5", - "@esbuild/android-arm": "0.25.5", - "@esbuild/android-arm64": "0.25.5", - "@esbuild/android-x64": "0.25.5", - "@esbuild/darwin-arm64": "0.25.5", - "@esbuild/darwin-x64": "0.25.5", - "@esbuild/freebsd-arm64": "0.25.5", - "@esbuild/freebsd-x64": "0.25.5", - "@esbuild/linux-arm": "0.25.5", - "@esbuild/linux-arm64": "0.25.5", - "@esbuild/linux-ia32": "0.25.5", - "@esbuild/linux-loong64": "0.25.5", - "@esbuild/linux-mips64el": "0.25.5", - "@esbuild/linux-ppc64": "0.25.5", - "@esbuild/linux-riscv64": "0.25.5", - "@esbuild/linux-s390x": "0.25.5", - "@esbuild/linux-x64": "0.25.5", - "@esbuild/netbsd-arm64": "0.25.5", - "@esbuild/netbsd-x64": "0.25.5", - "@esbuild/openbsd-arm64": "0.25.5", - "@esbuild/openbsd-x64": "0.25.5", - "@esbuild/sunos-x64": "0.25.5", - "@esbuild/win32-arm64": "0.25.5", - "@esbuild/win32-ia32": "0.25.5", - "@esbuild/win32-x64": "0.25.5" + "@esbuild/aix-ppc64": "0.28.1", + "@esbuild/android-arm": "0.28.1", + "@esbuild/android-arm64": "0.28.1", + "@esbuild/android-x64": "0.28.1", + "@esbuild/darwin-arm64": "0.28.1", + "@esbuild/darwin-x64": "0.28.1", + "@esbuild/freebsd-arm64": "0.28.1", + "@esbuild/freebsd-x64": "0.28.1", + "@esbuild/linux-arm": "0.28.1", + "@esbuild/linux-arm64": "0.28.1", + "@esbuild/linux-ia32": "0.28.1", + "@esbuild/linux-loong64": "0.28.1", + "@esbuild/linux-mips64el": "0.28.1", + "@esbuild/linux-ppc64": "0.28.1", + "@esbuild/linux-riscv64": "0.28.1", + "@esbuild/linux-s390x": "0.28.1", + "@esbuild/linux-x64": "0.28.1", + "@esbuild/netbsd-arm64": "0.28.1", + "@esbuild/netbsd-x64": "0.28.1", + "@esbuild/openbsd-arm64": "0.28.1", + "@esbuild/openbsd-x64": "0.28.1", + "@esbuild/openharmony-arm64": "0.28.1", + "@esbuild/sunos-x64": "0.28.1", + "@esbuild/win32-arm64": "0.28.1", + "@esbuild/win32-ia32": "0.28.1", + "@esbuild/win32-x64": "0.28.1" } }, "node_modules/escalade": { @@ -4933,15 +5402,19 @@ } }, "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } }, "node_modules/expect-type": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", - "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4978,9 +5451,9 @@ } }, "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", "dev": true, "license": "ISC", "dependencies": { @@ -5057,18 +5530,18 @@ } }, "node_modules/focus-trap": { - "version": "7.6.5", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.5.tgz", - "integrity": "sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.8.0.tgz", + "integrity": "sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==", "license": "MIT", "dependencies": { - "tabbable": "^6.2.0" + "tabbable": "^6.4.0" } }, "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", "funding": [ { "type": "individual", @@ -5102,25 +5575,25 @@ } }, "node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", + "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" + "hasown": "^2.0.4", + "mime-types": "^2.1.35" }, "engines": { "node": ">= 6" } }, "node_modules/formatly": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/formatly/-/formatly-0.2.4.tgz", - "integrity": "sha512-lIN7GpcvX/l/i24r/L9bnJ0I8Qn01qijWpQpDDvTLL29nKqSaJJu4h20+7VJ6m2CAhQ2/En/GbxDiHCzq/0MyA==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/formatly/-/formatly-0.3.0.tgz", + "integrity": "sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w==", "dev": true, "license": "MIT", "dependencies": { @@ -5134,13 +5607,13 @@ } }, "node_modules/framer-motion": { - "version": "12.22.0", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.22.0.tgz", - "integrity": "sha512-qG07rR8/mboCNU34nORbrIbBXbJzP4aDqBdr67TAIVlMryDEOwh7LXjylWovlnPCMg78ExoY0Gn2F1fV+3DNIw==", + "version": "12.38.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.38.0.tgz", + "integrity": "sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==", "license": "MIT", "dependencies": { - "motion-dom": "^12.22.0", - "motion-utils": "^12.19.0", + "motion-dom": "^12.38.0", + "motion-utils": "^12.36.0", "tslib": "^2.4.0" }, "peerDependencies": { @@ -5161,9 +5634,9 @@ } }, "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -5171,6 +5644,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } @@ -5200,6 +5674,19 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-east-asian-width": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", + "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -5241,6 +5728,7 @@ "version": "10.5.0", "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", @@ -5270,13 +5758,6 @@ "node": ">= 6" } }, - "node_modules/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true, - "license": "MIT" - }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -5331,9 +5812,9 @@ "license": "MIT" }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -5475,16 +5956,16 @@ } }, "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true, "license": "MIT", "bin": { "is-docker": "cli.js" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5555,36 +6036,33 @@ "node": ">=0.10.0" } }, - "node_modules/is-inside-container": { + "node_modules/is-in-ssh": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "resolved": "https://registry.npmjs.org/is-in-ssh/-/is-in-ssh-1.0.0.tgz", + "integrity": "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==", "dev": true, "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, "engines": { - "node": ">=14.16" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-inside-container/node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", "dev": true, "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, "bin": { - "is-docker": "cli.js" + "is-inside-container": "cli.js" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5634,12 +6112,12 @@ } }, "node_modules/is-what": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", - "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-5.5.0.tgz", + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", "license": "MIT", "engines": { - "node": ">=12.13" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/mesqueeb" @@ -5655,16 +6133,19 @@ } }, "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", "dev": true, "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "is-inside-container": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/isexe": { @@ -5689,9 +6170,9 @@ } }, "node_modules/jiti": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", - "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", "dev": true, "license": "MIT", "bin": { @@ -5720,12 +6201,12 @@ } }, "node_modules/js-cookie": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", - "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.7.tgz", + "integrity": "sha512-z/wZZgDrkNV1eA0ULjM/F9/50Ya8fbzgKneSpoPsXSGd0KnpdtHfOZWK+GcwLk+EZbS4F9RBhU+K2RgzuDaItw==", "license": "MIT", "engines": { - "node": ">=14" + "node": ">=20" } }, "node_modules/js-stringify": { @@ -5743,19 +6224,6 @@ "license": "MIT", "peer": true }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/jsdom": { "version": "26.1.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", @@ -5820,9 +6288,9 @@ } }, "node_modules/knip": { - "version": "5.61.3", - "resolved": "https://registry.npmjs.org/knip/-/knip-5.61.3.tgz", - "integrity": "sha512-8iSz8i8ufIjuUwUKzEwye7ROAW0RzCze7T770bUiz0PKL+SSwbs4RS32fjMztLwcOzSsNPlXdUAeqmkdzXxJ1Q==", + "version": "5.88.1", + "resolved": "https://registry.npmjs.org/knip/-/knip-5.88.1.tgz", + "integrity": "sha512-tpy5o7zu1MjawVkLPuahymVJekYY3kYjvzcoInhIchgePxTlo+api90tBv2KfhAIe5uXh+mez1tAfmbv8/TiZg==", "dev": true, "funding": [ { @@ -5832,27 +6300,23 @@ { "type": "opencollective", "url": "https://opencollective.com/knip" - }, - { - "type": "polar", - "url": "https://polar.sh/webpro-nl" } ], "license": "ISC", "dependencies": { "@nodelib/fs.walk": "^1.2.3", "fast-glob": "^3.3.3", - "formatly": "^0.2.4", - "jiti": "^2.4.2", - "js-yaml": "^4.1.0", + "formatly": "^0.3.0", + "jiti": "^2.6.0", "minimist": "^1.2.8", - "oxc-resolver": "^11.1.0", + "oxc-resolver": "^11.19.1", "picocolors": "^1.1.1", "picomatch": "^4.0.1", - "smol-toml": "^1.3.4", - "strip-json-comments": "5.0.2", - "zod": "^3.22.4", - "zod-validation-error": "^3.0.3" + "smol-toml": "^1.5.2", + "strip-json-comments": "5.0.3", + "unbash": "^2.2.0", + "yaml": "^2.8.2", + "zod": "^4.1.11" }, "bin": { "knip": "bin/knip.js", @@ -5863,7 +6327,7 @@ }, "peerDependencies": { "@types/node": ">=18", - "typescript": ">=5.0.4" + "typescript": ">=5.0.4 <7" } }, "node_modules/laravel-echo": { @@ -5875,14 +6339,25 @@ "node": ">=10" } }, + "node_modules/laravel-precognition": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/laravel-precognition/-/laravel-precognition-1.0.2.tgz", + "integrity": "sha512-0H08JDdMWONrL/N314fvsO3FATJwGGlFKGkMF3nNmizVFJaWs17816iM+sX7Rp8d5hUjYCx6WLfsehSKfaTxjg==", + "license": "MIT", + "dependencies": { + "axios": "^1.4.0", + "lodash-es": "^4.17.21" + } + }, "node_modules/laravel-vite-plugin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-2.0.0.tgz", - "integrity": "sha512-pnaKHInJgiWpG/g+LmaISHl7D/1s5wnOXnrGiBdt4NOs+tYZRw0v/ZANELGX2/dGgHyEzO+iZ6x4idpoK04z/Q==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-3.0.1.tgz", + "integrity": "sha512-Bx8sVcLIaZT1d0eisABcmjQ1GZdJpaXcV66A8RhXGp9JgR3iL8jDnvakVDXuH87Tn5S9KNx3VOhmJZW1CSexOg==", "dev": true, "license": "MIT", "dependencies": { "picocolors": "^1.0.0", + "tinyglobby": "^0.2.12", "vite-plugin-full-reload": "^1.1.0" }, "bin": { @@ -5892,13 +6367,13 @@ "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "vite": "^7.0.0" + "vite": "^8.0.0" } }, "node_modules/lightningcss": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", - "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", "dev": true, "license": "MPL-2.0", "dependencies": { @@ -5912,22 +6387,44 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-darwin-arm64": "1.30.1", - "lightningcss-darwin-x64": "1.30.1", - "lightningcss-freebsd-x64": "1.30.1", - "lightningcss-linux-arm-gnueabihf": "1.30.1", - "lightningcss-linux-arm64-gnu": "1.30.1", - "lightningcss-linux-arm64-musl": "1.30.1", - "lightningcss-linux-x64-gnu": "1.30.1", - "lightningcss-linux-x64-musl": "1.30.1", - "lightningcss-win32-arm64-msvc": "1.30.1", - "lightningcss-win32-x64-msvc": "1.30.1" + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", - "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", "cpu": [ "arm64" ], @@ -5946,9 +6443,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", - "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", "cpu": [ "x64" ], @@ -5967,9 +6464,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", - "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", "cpu": [ "x64" ], @@ -5988,9 +6485,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", - "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", "cpu": [ "arm" ], @@ -6009,9 +6506,9 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", - "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", "cpu": [ "arm64" ], @@ -6030,9 +6527,9 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", - "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", "cpu": [ "arm64" ], @@ -6051,9 +6548,9 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", - "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", "cpu": [ "x64" ], @@ -6072,9 +6569,9 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", - "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", "cpu": [ "x64" ], @@ -6093,9 +6590,9 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", - "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", "cpu": [ "arm64" ], @@ -6114,9 +6611,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", - "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", "cpu": [ "x64" ], @@ -6135,18 +6632,28 @@ } }, "node_modules/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.1.tgz", + "integrity": "sha512-wVoTjP4Q6R0NW5hiZkVJaFZPWgtXfoGF+6LucL3/FtiNjmcHhYjEr5f1Kqjirc1nBW07J/ZuRFumqr2oqccEWg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], "license": "MIT", "dependencies": { "uc.micro": "^2.0.0" } }, "node_modules/lodash-es": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", - "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", "license": "MIT" }, "node_modules/loupe": { @@ -6198,14 +6705,24 @@ } }, "node_modules/markdown-it": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz", - "integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==", + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.2.0.tgz", + "integrity": "sha512-1TGiQiJVRQ3NPmZH6sx5Cfnmg6GQm9jvC1ch4TK511NjSJvjzKLzn5pPfZRNZkRPZP0HqCioSndqH8v2nRaWVQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/markdown-it" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1", "entities": "^4.4.0", - "linkify-it": "^5.0.0", + "linkify-it": "^5.0.1", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" @@ -6284,9 +6801,9 @@ } }, "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", "engines": { @@ -6353,27 +6870,14 @@ } }, "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", "engines": { "node": ">=16 || 14 >=14.17" } }, - "node_modules/minizlib": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", - "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/mitt": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", @@ -6381,32 +6885,32 @@ "license": "MIT" }, "node_modules/motion-dom": { - "version": "12.22.0", - "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.22.0.tgz", - "integrity": "sha512-ooH7+/BPw9gOsL9VtPhEJHE2m4ltnhMlcGMhEqA0YGNhKof7jdaszvsyThXI6LVIKshJUZ9/CP6HNqQhJfV7kw==", + "version": "12.38.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.38.0.tgz", + "integrity": "sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==", "license": "MIT", "dependencies": { - "motion-utils": "^12.19.0" + "motion-utils": "^12.36.0" } }, "node_modules/motion-utils": { - "version": "12.19.0", - "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.19.0.tgz", - "integrity": "sha512-BuFTHINYmV07pdWs6lj6aI63vr2N4dg0vR+td0rtrdpWOhBzIkEklZyLcvKBoEtwSqx8Jg06vUB5RS0xDiUybw==", + "version": "12.36.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.36.0.tgz", + "integrity": "sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==", "license": "MIT" }, "node_modules/motion-v": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/motion-v/-/motion-v-1.4.0.tgz", - "integrity": "sha512-/kLBC6fJgsaL/M7/SRLVMEXU1f1ATEfLymzXFL3iT4zzCZfallVQxIuMgveb+WuBOdQfoxWZANBuK79uBQ+56g==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/motion-v/-/motion-v-1.10.3.tgz", + "integrity": "sha512-9Ewo/wwGv7FO3PqYJpllBF/Efc7tbeM1iinVrM73s0RUQrnXHwMZCaRX98u4lu0PQCrZghPPfCsQ14pWKIEbnQ==", "license": "MIT", "dependencies": { - "@vueuse/core": "^10.0.0", - "framer-motion": "12.22.0", + "framer-motion": "^12.25.0", "hey-listen": "^1.0.8", - "motion-dom": "12.22.0" + "motion-dom": "^12.23.23" }, "peerDependencies": { + "@vueuse/core": ">=10.0.0", "vue": ">=3.0.0" } }, @@ -6430,7 +6934,6 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, "license": "MIT" }, "node_modules/muggle-string": { @@ -6441,9 +6944,9 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", - "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.7.tgz", + "integrity": "sha512-ua3NDgISf6jdwezAheMOk4mbE1LXjm1DfMUDMuJf4AqxLFK3ccGpgWizwa5YV7Yz9EpXwEaWoRXSb/BnV0t5dQ==", "funding": [ { "type": "github", @@ -6499,9 +7002,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.20", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", - "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", + "version": "2.2.23", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz", + "integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==", "dev": true, "license": "MIT" }, @@ -6527,6 +7030,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" + }, "node_modules/ohash": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", @@ -6534,18 +7048,21 @@ "license": "MIT" }, "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/open/-/open-11.0.0.tgz", + "integrity": "sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==", "dev": true, "license": "MIT", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "default-browser": "^5.4.0", + "define-lazy-prop": "^3.0.0", + "is-in-ssh": "^1.0.0", + "is-inside-container": "^1.0.0", + "powershell-utils": "^0.1.0", + "wsl-utils": "^0.3.0" }, "engines": { - "node": ">=12" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6557,29 +7074,84 @@ "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==", "license": "MIT" }, + "node_modules/oxc-parser": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.127.0.tgz", + "integrity": "sha512-bkgD4qHlN7WxLdX8bLXdaU54TtQtAIg/ZBAfm0aje/mo3MRDo3P0hZSgr4U7O3xfX+fQmR5AP04JS/TGcZLcFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "^0.127.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/Boshen" + }, + "optionalDependencies": { + "@oxc-parser/binding-android-arm-eabi": "0.127.0", + "@oxc-parser/binding-android-arm64": "0.127.0", + "@oxc-parser/binding-darwin-arm64": "0.127.0", + "@oxc-parser/binding-darwin-x64": "0.127.0", + "@oxc-parser/binding-freebsd-x64": "0.127.0", + "@oxc-parser/binding-linux-arm-gnueabihf": "0.127.0", + "@oxc-parser/binding-linux-arm-musleabihf": "0.127.0", + "@oxc-parser/binding-linux-arm64-gnu": "0.127.0", + "@oxc-parser/binding-linux-arm64-musl": "0.127.0", + "@oxc-parser/binding-linux-ppc64-gnu": "0.127.0", + "@oxc-parser/binding-linux-riscv64-gnu": "0.127.0", + "@oxc-parser/binding-linux-riscv64-musl": "0.127.0", + "@oxc-parser/binding-linux-s390x-gnu": "0.127.0", + "@oxc-parser/binding-linux-x64-gnu": "0.127.0", + "@oxc-parser/binding-linux-x64-musl": "0.127.0", + "@oxc-parser/binding-openharmony-arm64": "0.127.0", + "@oxc-parser/binding-wasm32-wasi": "0.127.0", + "@oxc-parser/binding-win32-arm64-msvc": "0.127.0", + "@oxc-parser/binding-win32-ia32-msvc": "0.127.0", + "@oxc-parser/binding-win32-x64-msvc": "0.127.0" + } + }, + "node_modules/oxc-parser/node_modules/@oxc-project/types": { + "version": "0.127.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.127.0.tgz", + "integrity": "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, "node_modules/oxc-resolver": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/oxc-resolver/-/oxc-resolver-11.4.0.tgz", - "integrity": "sha512-J19ZMuUoGTsMc7TUacC5B5LQccZ6CluLmQ/RiC9mXKVvC8RCoiLjQOjEKrVolvxeU9q+TK1hrcJnmtZi/DqA6Q==", + "version": "11.19.1", + "resolved": "https://registry.npmjs.org/oxc-resolver/-/oxc-resolver-11.19.1.tgz", + "integrity": "sha512-qE/CIg/spwrTBFt5aKmwe3ifeDdLfA2NESN30E42X/lII5ClF8V7Wt6WIJhcGZjp0/Q+nQ+9vgxGk//xZNX2hg==", "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/Boshen" }, "optionalDependencies": { - "@oxc-resolver/binding-darwin-arm64": "11.4.0", - "@oxc-resolver/binding-darwin-x64": "11.4.0", - "@oxc-resolver/binding-freebsd-x64": "11.4.0", - "@oxc-resolver/binding-linux-arm-gnueabihf": "11.4.0", - "@oxc-resolver/binding-linux-arm64-gnu": "11.4.0", - "@oxc-resolver/binding-linux-arm64-musl": "11.4.0", - "@oxc-resolver/binding-linux-riscv64-gnu": "11.4.0", - "@oxc-resolver/binding-linux-s390x-gnu": "11.4.0", - "@oxc-resolver/binding-linux-x64-gnu": "11.4.0", - "@oxc-resolver/binding-linux-x64-musl": "11.4.0", - "@oxc-resolver/binding-wasm32-wasi": "11.4.0", - "@oxc-resolver/binding-win32-arm64-msvc": "11.4.0", - "@oxc-resolver/binding-win32-x64-msvc": "11.4.0" + "@oxc-resolver/binding-android-arm-eabi": "11.19.1", + "@oxc-resolver/binding-android-arm64": "11.19.1", + "@oxc-resolver/binding-darwin-arm64": "11.19.1", + "@oxc-resolver/binding-darwin-x64": "11.19.1", + "@oxc-resolver/binding-freebsd-x64": "11.19.1", + "@oxc-resolver/binding-linux-arm-gnueabihf": "11.19.1", + "@oxc-resolver/binding-linux-arm-musleabihf": "11.19.1", + "@oxc-resolver/binding-linux-arm64-gnu": "11.19.1", + "@oxc-resolver/binding-linux-arm64-musl": "11.19.1", + "@oxc-resolver/binding-linux-ppc64-gnu": "11.19.1", + "@oxc-resolver/binding-linux-riscv64-gnu": "11.19.1", + "@oxc-resolver/binding-linux-riscv64-musl": "11.19.1", + "@oxc-resolver/binding-linux-s390x-gnu": "11.19.1", + "@oxc-resolver/binding-linux-x64-gnu": "11.19.1", + "@oxc-resolver/binding-linux-x64-musl": "11.19.1", + "@oxc-resolver/binding-openharmony-arm64": "11.19.1", + "@oxc-resolver/binding-wasm32-wasi": "11.19.1", + "@oxc-resolver/binding-win32-arm64-msvc": "11.19.1", + "@oxc-resolver/binding-win32-ia32-msvc": "11.19.1", + "@oxc-resolver/binding-win32-x64-msvc": "11.19.1" } }, "node_modules/package-json-from-dist": { @@ -6658,15 +7230,15 @@ } }, "node_modules/pdfjs-dist": { - "version": "5.4.624", - "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.4.624.tgz", - "integrity": "sha512-sm6TxKTtWv1Oh6n3C6J6a8odejb5uO4A4zo/2dgkHuC0iu8ZMAXOezEODkVaoVp8nX1Xzr+0WxFJJmUr45hQzg==", + "version": "5.6.205", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.6.205.tgz", + "integrity": "sha512-tlUj+2IDa7G1SbvBNN74UHRLJybZDWYom+k6p5KIZl7huBvsA4APi6mKL+zCxd3tLjN5hOOEE9Tv7VdzO88pfg==", "license": "Apache-2.0", "engines": { - "node": ">=20.16.0 || >=22.3.0" + "node": ">=20.19.0 || >=22.13.0 || >=24" }, "optionalDependencies": { - "@napi-rs/canvas": "^0.1.88", + "@napi-rs/canvas": "^0.1.96", "node-readable-to-web-readable-stream": "^0.4.2" } }, @@ -6683,9 +7255,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { @@ -6696,19 +7268,19 @@ } }, "node_modules/pinia": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.3.tgz", - "integrity": "sha512-ttXO/InUULUXkMHpTdp9Fj4hLpD/2AoJdmAbAeW2yu1iy1k+pkFekQXw5VpC0/5p51IOR/jDaDRfRWRnMMsGOA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.4.tgz", + "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", "license": "MIT", "dependencies": { - "@vue/devtools-api": "^7.7.2" + "@vue/devtools-api": "^7.7.7" }, "funding": { "url": "https://github.com/sponsors/posva" }, "peerDependencies": { - "typescript": ">=4.4.4", - "vue": "^2.7.0 || ^3.5.11" + "typescript": ">=4.5.0", + "vue": "^3.5.11" }, "peerDependenciesMeta": { "typescript": { @@ -6716,28 +7288,15 @@ } } }, - "node_modules/pixelmatch": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-7.1.0.tgz", - "integrity": "sha512-1wrVzJ2STrpmONHKBy228LM1b84msXDUoAzVEl0R8Mz4Ce6EPr+IVtxm8+yvrqLYMHswREkjYFaMxnyGnaY3Ng==", - "dev": true, - "license": "ISC", - "dependencies": { - "pngjs": "^7.0.0" - }, - "bin": { - "pixelmatch": "bin/pixelmatch" - } - }, "node_modules/playwright": { - "version": "1.56.1", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.56.1.tgz", - "integrity": "sha512-aFi5B0WovBHTEvpM3DzXTUaeN6eN0qWnTkKx4NQaH4Wvcmc153PdaY2UBdSYKaGYw+UyWXSVyxDUg5DoPEttjw==", + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", + "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", "dev": true, "license": "Apache-2.0", "peer": true, "dependencies": { - "playwright-core": "1.56.1" + "playwright-core": "1.59.1" }, "bin": { "playwright": "cli.js" @@ -6750,9 +7309,9 @@ } }, "node_modules/playwright-core": { - "version": "1.56.1", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.56.1.tgz", - "integrity": "sha512-hutraynyn31F+Bifme+Ps9Vq59hKuUCz7H1kDOcBs+2oGguKkWTU50bBWrtz34OUWmIwpBTWDxaRPXrIXkgvmQ==", + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", + "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", "dev": true, "license": "Apache-2.0", "peer": true, @@ -6763,22 +7322,6 @@ "node": ">=18" } }, - "node_modules/playwright/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/pngjs": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz", @@ -6807,9 +7350,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", "funding": [ { "type": "opencollective", @@ -6826,7 +7369,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.11", + "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -6835,9 +7378,9 @@ } }, "node_modules/postcss/node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", "funding": [ { "type": "github", @@ -6852,6 +7395,19 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/powershell-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.1.0.tgz", + "integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pretty": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", @@ -6882,31 +7438,6 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -6918,9 +7449,9 @@ } }, "node_modules/prosemirror-changeset": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.3.1.tgz", - "integrity": "sha512-j0kORIBm8ayJNl3zQvD1TTPHJX3g042et6y/KQhZhnPrruO8exkTgG8X+NRpj7kIyMMEx74Xb3DyMIBtO0IKkQ==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.4.0.tgz", + "integrity": "sha512-LvqH2v7Q2SF6yxatuPP2e8vSUKS/L+xAU7dPDC4RMyHMhZoGDfBC74mYuyYF4gLqOEG758wajtyhNnsTkuhvng==", "license": "MIT", "dependencies": { "prosemirror-transform": "^1.0.0" @@ -6958,9 +7489,9 @@ } }, "node_modules/prosemirror-gapcursor": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.2.tgz", - "integrity": "sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.4.1.tgz", + "integrity": "sha512-pMdYaEnjNMSwl11yjEGtgTmLkR08m/Vl+Jj443167p9eB3HVQKhYCc4gmHVDsLPODfZfjr/MmirsdyZziXbQKw==", "license": "MIT", "dependencies": { "prosemirror-keymap": "^1.0.0", @@ -6970,9 +7501,9 @@ } }, "node_modules/prosemirror-history": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.4.1.tgz", - "integrity": "sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.5.0.tgz", + "integrity": "sha512-zlzTiH01eKA55UAf1MEjtssJeHnGxO0j4K4Dpx+gnmX9n+SHNlDqI2oO1Kv1iPN5B1dm5fsljCfqKF9nFL6HRg==", "license": "MIT", "dependencies": { "prosemirror-state": "^1.2.2", @@ -6982,9 +7513,9 @@ } }, "node_modules/prosemirror-inputrules": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.5.0.tgz", - "integrity": "sha512-K0xJRCmt+uSw7xesnHmcn72yBGTbY45vm8gXI4LZXbx2Z0jwh5aF9xrGQgrVPu0WbyFVFF3E/o9VhJYz6SQWnA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.5.1.tgz", + "integrity": "sha512-7wj4uMjKaXWAQ1CDgxNzNtR9AlsuwzHfdFH1ygEHA2KHF2DOEaXl1CJfNPAKCg9qNEh4rum975QLaCiQPyY6Fw==", "license": "MIT", "dependencies": { "prosemirror-state": "^1.0.0", @@ -7002,9 +7533,9 @@ } }, "node_modules/prosemirror-markdown": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.13.2.tgz", - "integrity": "sha512-FPD9rHPdA9fqzNmIIDhhnYQ6WgNoSWX9StUZ8LEKapaXU9i6XgykaHKhp6XMyXlOWetmaFgGDS/nu/w9/vUc5g==", + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.13.4.tgz", + "integrity": "sha512-D98dm4cQ3Hs6EmjK500TdAOew4Z03EV71ajEFiWra3Upr7diytJsjF4mPV2dW+eK5uNectiRj0xFxYI9NLXDbw==", "license": "MIT", "dependencies": { "@types/markdown-it": "^14.0.0", @@ -7013,9 +7544,9 @@ } }, "node_modules/prosemirror-menu": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.2.5.tgz", - "integrity": "sha512-qwXzynnpBIeg1D7BAtjOusR+81xCp53j7iWu/IargiRZqRjGIlQuu1f3jFi+ehrHhWMLoyOQTSRx/IWZJqOYtQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.3.0.tgz", + "integrity": "sha512-TImyPXCHPcDsSka2/lwJ6WjTASr4re/qWq1yoTTuLOqfXucwF6VcRa2LWCkM/EyTD1UO3CUwiH8qURJoWJRxwg==", "license": "MIT", "dependencies": { "crelt": "^1.0.0", @@ -7025,9 +7556,9 @@ } }, "node_modules/prosemirror-model": { - "version": "1.25.1", - "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.1.tgz", - "integrity": "sha512-AUvbm7qqmpZa5d9fPKMvH1Q5bqYQvAZWOGRvxsB6iFLyycvC9MwNemNVjHVrWgjaoxAfY8XVg7DbvQ/qxvI9Eg==", + "version": "1.25.4", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.4.tgz", + "integrity": "sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==", "license": "MIT", "dependencies": { "orderedmap": "^2.0.0" @@ -7054,9 +7585,9 @@ } }, "node_modules/prosemirror-state": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz", - "integrity": "sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.4.tgz", + "integrity": "sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==", "license": "MIT", "dependencies": { "prosemirror-model": "^1.0.0", @@ -7065,16 +7596,16 @@ } }, "node_modules/prosemirror-tables": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.7.1.tgz", - "integrity": "sha512-eRQ97Bf+i9Eby99QbyAiyov43iOKgWa7QCGly+lrDt7efZ1v8NWolhXiB43hSDGIXT1UXgbs4KJN3a06FGpr1Q==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.8.5.tgz", + "integrity": "sha512-V/0cDCsHKHe/tfWkeCmthNUcEp1IVO3p6vwN8XtwE9PZQLAZJigbw3QoraAdfJPir4NKJtNvOB8oYGKRl+t0Dw==", "license": "MIT", "dependencies": { - "prosemirror-keymap": "^1.2.2", - "prosemirror-model": "^1.25.0", - "prosemirror-state": "^1.4.3", - "prosemirror-transform": "^1.10.3", - "prosemirror-view": "^1.39.1" + "prosemirror-keymap": "^1.2.3", + "prosemirror-model": "^1.25.4", + "prosemirror-state": "^1.4.4", + "prosemirror-transform": "^1.10.5", + "prosemirror-view": "^1.41.4" } }, "node_modules/prosemirror-trailing-node": { @@ -7093,18 +7624,18 @@ } }, "node_modules/prosemirror-transform": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.10.4.tgz", - "integrity": "sha512-pwDy22nAnGqNR1feOQKHxoFkkUtepoFAd3r2hbEDsnf4wp57kKA36hXsB3njA9FtONBEwSDnDeCiJe+ItD+ykw==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.12.0.tgz", + "integrity": "sha512-GxboyN4AMIsoHNtz5uf2r2Ru551i5hWeCMD6E2Ib4Eogqoub0NflniaBPVQ4MrGE5yZ8JV9tUHg9qcZTTrcN4w==", "license": "MIT", "dependencies": { "prosemirror-model": "^1.21.0" } }, "node_modules/prosemirror-view": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.40.0.tgz", - "integrity": "sha512-2G3svX0Cr1sJjkD/DYWSe3cfV5VPVTBOxI9XQEGWJDFEpsZb/gh4MV29ctv+OJx2RFX4BLt09i+6zaGM/ldkCw==", + "version": "1.41.8", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.41.8.tgz", + "integrity": "sha512-TnKDdohEatgyZNGCDWIdccOHXhYloJwbwU+phw/a23KBvJIR9lWQWW7WHHK3vBdOLDNuF7TaX98GObUZOWkOnA==", "license": "MIT", "dependencies": { "prosemirror-model": "^1.20.0", @@ -7119,19 +7650,22 @@ "license": "ISC" }, "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } }, "node_modules/pug": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.3.tgz", - "integrity": "sha512-uBi6kmc9f3SZ3PXxqcHiUZLmIXgfgWooKWXcwSGwQd2Zi5Rb0bT14+8CJjJgI8AB+nndLaNgHGrcc6bPIB665g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.4.tgz", + "integrity": "sha512-kFfq5mMzrS7+wrl5pLJzZEzemx34OQ0w4SARfhy/3yxTlhbstsudDwJzhf1hP02yHzbjoVMSXUj/Sz6RNfMyXg==", "dev": true, "license": "MIT", "dependencies": { - "pug-code-gen": "^3.0.3", + "pug-code-gen": "^3.0.4", "pug-filters": "^4.0.0", "pug-lexer": "^5.0.1", "pug-linker": "^4.0.0", @@ -7154,9 +7688,9 @@ } }, "node_modules/pug-code-gen": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.3.tgz", - "integrity": "sha512-cYQg0JW0w32Ux+XTeZnBEeuWrAY7/HNE6TWnhiHGnnRYlCgyAUPoyh9KzCMa9WhcJlJ1AtQqpEYHc+vbCzA+Aw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.4.tgz", + "integrity": "sha512-6okWYIKdasTyXICyEtvobmTZAVX57JkzgzIi4iRJlin8kmhG+Xry2dsus+Mun/nGCn6F2U49haHI5mkELXB14g==", "dev": true, "license": "MIT", "dependencies": { @@ -7280,18 +7814,18 @@ } }, "node_modules/pusher-js": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-8.4.0.tgz", - "integrity": "sha512-wp3HqIIUc1GRyu1XrP6m2dgyE9MoCsXVsWNlohj0rjSkLf+a0jLvEyVubdg58oMk7bhjBWnFClgp8jfAa6Ak4Q==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-8.5.0.tgz", + "integrity": "sha512-V7uzGi9bqOOOyM/6IkJdpFyjGZj7llz1v0oWnYkZKcYLvbz6VcHVLmzKqkvegjuMumpfIEKGLmWHwFb39XFCpw==", "license": "MIT", "dependencies": { "tweetnacl": "^1.0.3" } }, "node_modules/qs": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", - "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -7325,9 +7859,9 @@ "license": "MIT" }, "node_modules/react": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", - "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "devOptional": true, "license": "MIT", "engines": { @@ -7335,16 +7869,16 @@ } }, "node_modules/react-dom": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", - "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", "devOptional": true, "license": "MIT", "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.2.0" + "react": "^19.2.4" } }, "node_modules/react-is": { @@ -7403,9 +7937,9 @@ } }, "node_modules/reka-ui": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/reka-ui/-/reka-ui-2.9.2.tgz", - "integrity": "sha512-/t4e6y1hcG+uDuRfpg6tbMz3uUEvRzNco6NeYTufoJeUghy5Iosxos5YL/p+ieAsid84sdMX9OrgDqpEuCJhBw==", + "version": "2.9.5", + "resolved": "https://registry.npmjs.org/reka-ui/-/reka-ui-2.9.5.tgz", + "integrity": "sha512-6cZGIMgEeslpFLJ7IihaCSMPp1cJgl2eDkZ2vBMdl+HPUVBaV/iDPMWu3abT2KUkj1lir+oyHq5KelOTT9OheQ==", "license": "MIT", "dependencies": { "@floating-ui/dom": "^1.6.13", @@ -7416,7 +7950,7 @@ "@vueuse/core": "^14.1.0", "@vueuse/shared": "^14.1.0", "aria-hidden": "^1.2.4", - "defu": "^6.1.4", + "defu": "^6.1.5", "ohash": "^2.0.11" }, "funding": { @@ -7427,60 +7961,6 @@ "vue": ">= 3.4.0" } }, - "node_modules/reka-ui/node_modules/@types/web-bluetooth": { - "version": "0.0.21", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", - "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", - "license": "MIT" - }, - "node_modules/reka-ui/node_modules/@vueuse/core": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.2.1.tgz", - "integrity": "sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==", - "license": "MIT", - "dependencies": { - "@types/web-bluetooth": "^0.0.21", - "@vueuse/metadata": "14.2.1", - "@vueuse/shared": "14.2.1" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vue": "^3.5.0" - } - }, - "node_modules/reka-ui/node_modules/@vueuse/metadata": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.2.1.tgz", - "integrity": "sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/reka-ui/node_modules/@vueuse/shared": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.2.1.tgz", - "integrity": "sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vue": "^3.5.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/resize-observer-polyfill": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", @@ -7525,71 +8005,67 @@ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "license": "MIT" }, - "node_modules/rollup": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "node_modules/rolldown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.3.tgz", + "integrity": "sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.8" + "@oxc-project/types": "=0.133.0", + "@rolldown/pluginutils": "^1.0.0" }, "bin": { - "rollup": "dist/bin/rollup" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": "^20.19.0 || >=22.12.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", - "fsevents": "~2.3.2" - } + "@rolldown/binding-android-arm64": "1.0.3", + "@rolldown/binding-darwin-arm64": "1.0.3", + "@rolldown/binding-darwin-x64": "1.0.3", + "@rolldown/binding-freebsd-x64": "1.0.3", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.3", + "@rolldown/binding-linux-arm64-gnu": "1.0.3", + "@rolldown/binding-linux-arm64-musl": "1.0.3", + "@rolldown/binding-linux-ppc64-gnu": "1.0.3", + "@rolldown/binding-linux-s390x-gnu": "1.0.3", + "@rolldown/binding-linux-x64-gnu": "1.0.3", + "@rolldown/binding-linux-x64-musl": "1.0.3", + "@rolldown/binding-openharmony-arm64": "1.0.3", + "@rolldown/binding-wasm32-wasi": "1.0.3", + "@rolldown/binding-win32-arm64-msvc": "1.0.3", + "@rolldown/binding-win32-x64-msvc": "1.0.3" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "dev": true, + "license": "MIT" }, "node_modules/rollup-plugin-visualizer": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.14.0.tgz", - "integrity": "sha512-VlDXneTDaKsHIw8yzJAFWtrzguoJ/LnQ+lMpoVfYJ3jJF4Ihe5oYLAqLklIK/35lgUY+1yEzCkHyZ1j4A5w5fA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-7.0.1.tgz", + "integrity": "sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg==", "dev": true, "license": "MIT", "dependencies": { - "open": "^8.4.0", + "open": "^11.0.0", "picomatch": "^4.0.2", "source-map": "^0.7.4", - "yargs": "^17.5.1" + "yargs": "^18.0.0" }, "bin": { "rollup-plugin-visualizer": "dist/bin/cli.js" }, "engines": { - "node": ">=18" + "node": ">=22" }, "peerDependencies": { - "rolldown": "1.x", + "rolldown": "1.x || ^1.0.0-beta || ^1.0.0-rc", "rollup": "2.x || 3.x || 4.x" }, "peerDependenciesMeta": { @@ -7659,9 +8135,9 @@ "license": "MIT" }, "node_modules/sax": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.5.0.tgz", - "integrity": "sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", "license": "BlueOak-1.0.0", "engines": { "node": ">=11.0.0" @@ -7688,9 +8164,9 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -7827,9 +8303,9 @@ } }, "node_modules/smol-toml": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.4.1.tgz", - "integrity": "sha512-CxdwHXyYTONGHThDbq5XdwbFsuY4wlClRGejfE2NtwUtiHYsP1QtNsHb/hnj31jKYSchztJsaA8pSQoVzkfCFg==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", + "integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -7840,13 +8316,13 @@ } }, "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", "dev": true, "license": "BSD-3-Clause", "engines": { - "node": ">= 8" + "node": ">= 12" } }, "node_modules/source-map-js": { @@ -7875,27 +8351,30 @@ "license": "MIT" }, "node_modules/std-env": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.0.0.tgz", + "integrity": "sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==", "dev": true, "license": "MIT" }, "node_modules/storybook": { - "version": "10.2.14", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-10.2.14.tgz", - "integrity": "sha512-HGAgLbDAAbLOgjERsBXPpHUMxynHumYgoCRNBnAH57HfKuHL9LA3nKvKpbhFbYb/8PSG5X3hiKukki0R6Op7Aw==", + "version": "10.4.6", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-10.4.6.tgz", + "integrity": "sha512-6wkA6LxfDSSilloITsrFOJfsnw0mDUP2h8Ls+lRt8oRsudtz2RWFhLv+Toiwg6NW7hUpdTDc2hzR7DztJid6+A==", "dev": true, "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0", - "@storybook/icons": "^2.0.1", - "@testing-library/jest-dom": "^6.6.3", + "@storybook/icons": "^2.0.2", + "@testing-library/jest-dom": "^6.9.1", "@testing-library/user-event": "^14.6.1", "@vitest/expect": "3.2.4", "@vitest/spy": "3.2.4", - "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0", + "@webcontainer/env": "^1.1.1", + "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0 || ^0.28.0", "open": "^10.2.0", + "oxc-parser": "^0.127.0", + "oxc-resolver": "^11.19.1", "recast": "^0.23.5", "semver": "^7.7.3", "use-sync-external-store": "^1.5.0", @@ -7909,44 +8388,22 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "prettier": "^2 || ^3" + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "prettier": "^2 || ^3", + "vite-plus": "^0.1.15" }, "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, "prettier": { "optional": true + }, + "vite-plus": { + "optional": true } } }, - "node_modules/storybook/node_modules/@vitest/expect": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", - "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/chai": "^5.2.2", - "@vitest/spy": "3.2.4", - "@vitest/utils": "3.2.4", - "chai": "^5.2.0", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/storybook/node_modules/@vitest/pretty-format": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", - "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, "node_modules/storybook/node_modules/@vitest/spy": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", @@ -7960,51 +8417,6 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/storybook/node_modules/@vitest/utils": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", - "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.2.4", - "loupe": "^3.1.4", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/storybook/node_modules/chai": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", - "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/storybook/node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/storybook/node_modules/open": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", @@ -8024,14 +8436,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/storybook/node_modules/tinyrainbow": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", - "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", + "node_modules/storybook/node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", "dev": true, "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, "engines": { - "node": ">=14.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/string-width": { @@ -8066,15 +8484,6 @@ "node": ">=8" } }, - "node_modules/string-width-cjs/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==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -8094,12 +8503,12 @@ } }, "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^6.2.2" }, "engines": { "node": ">=12" @@ -8121,13 +8530,16 @@ "node": ">=8" } }, - "node_modules/strip-ansi-cjs/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==", + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/strip-indent": { @@ -8144,9 +8556,9 @@ } }, "node_modules/strip-json-comments": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.2.tgz", - "integrity": "sha512-4X2FR3UwhNUE9G49aIsJW5hRRR3GXGTBTZRMfv568O60ojM8HcWjV/VxAxCDW3SUND33O6ZY66ZuRcdkj73q2g==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.3.tgz", + "integrity": "sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==", "dev": true, "license": "MIT", "engines": { @@ -8163,12 +8575,12 @@ "license": "MIT" }, "node_modules/superjson": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz", - "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.6.tgz", + "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", "license": "MIT", "dependencies": { - "copy-anything": "^3.0.2" + "copy-anything": "^4" }, "engines": { "node": ">=16" @@ -8229,15 +8641,15 @@ "license": "MIT" }, "node_modules/tabbable": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz", + "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", "license": "MIT" }, "node_modules/tailwind-merge": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", - "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.5.0.tgz", + "integrity": "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==", "license": "MIT", "funding": { "type": "github", @@ -8245,37 +8657,24 @@ } }, "node_modules/tailwindcss": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.11.tgz", - "integrity": "sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz", + "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==", "dev": true, "license": "MIT" }, "node_modules/tapable": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", - "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz", + "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==", "dev": true, "license": "MIT", "engines": { "node": ">=6" - } - }, - "node_modules/tar": { - "version": "7.5.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz", - "integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" }, - "engines": { - "node": ">=18" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/tiny-emitter": { @@ -8299,21 +8698,24 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.1.tgz", + "integrity": "sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "picomatch": "^4.0.4" }, "engines": { "node": ">=12.0.0" @@ -8323,9 +8725,9 @@ } }, "node_modules/tinyrainbow": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz", - "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", "dev": true, "license": "MIT", "engines": { @@ -8435,27 +8837,6 @@ "dev": true, "license": "MIT" }, - "node_modules/tsconfck": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", - "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", - "dev": true, - "license": "MIT", - "bin": { - "tsconfck": "bin/tsconfck.js" - }, - "engines": { - "node": "^18 || >=20" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -8501,10 +8882,20 @@ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "license": "MIT" }, + "node_modules/unbash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unbash/-/unbash-2.2.0.tgz", + "integrity": "sha512-X2wH19RAPZE3+ldGicOkoj/SIA83OIxcJ6Cuaw23hf8Xc6fQpvZXY0SftE2JgS0QhYLUG4uwodSI3R53keyh7w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + } + }, "node_modules/undici-types": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", - "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", "dev": true, "license": "MIT", "peer": true @@ -8545,27 +8936,26 @@ } }, "node_modules/validator": { - "version": "13.15.23", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.23.tgz", - "integrity": "sha512-4yoz1kEWqUjzi5zsPbAS/903QXSYp0UOtHsPpp7p9rHAw/W+dkInskAE386Fat3oKRROwO98d9ZB0G4cObgUyw==", + "version": "13.15.35", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.35.tgz", + "integrity": "sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==", "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/vite": { - "version": "7.1.12", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.12.tgz", - "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==", + "version": "8.0.16", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.16.tgz", + "integrity": "sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.15", + "rolldown": "1.0.3", + "tinyglobby": "^0.2.17" }, "bin": { "vite": "bin/vite.js" @@ -8581,9 +8971,10 @@ }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.18", + "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", - "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", @@ -8596,13 +8987,16 @@ "@types/node": { "optional": true }, - "jiti": { + "@vitejs/devtools": { "optional": true }, - "less": { + "esbuild": { + "optional": true + }, + "jiti": { "optional": true }, - "lightningcss": { + "less": { "optional": true }, "sass": { @@ -8640,9 +9034,9 @@ } }, "node_modules/vite-plugin-full-reload/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", "engines": { @@ -8653,63 +9047,59 @@ } }, "node_modules/vite-svg-loader": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-5.1.0.tgz", - "integrity": "sha512-M/wqwtOEjgb956/+m5ZrYT/Iq6Hax0OakWbokj8+9PXOnB7b/4AxESHieEtnNEy7ZpjsjYW1/5nK8fATQMmRxw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-5.1.1.tgz", + "integrity": "sha512-RPzcXA/EpKJA0585x58DBgs7my2VfeJ+j2j1EoHY4Zh82Y7hV4cR1fElgy2aZi85+QSrcLLoTStQ5uZjD68u+Q==", "license": "MIT", "dependencies": { - "svgo": "^3.0.2" + "debug": "^4.3.4", + "svgo": "^3.3.3" }, "peerDependencies": { "vue": ">=3.2.13" } }, - "node_modules/vite-tsconfig-paths": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.4.tgz", - "integrity": "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==", + "node_modules/vite/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "globrex": "^0.1.2", - "tsconfck": "^3.0.3" - }, - "peerDependencies": { - "vite": "*" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/vitest": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.12.tgz", - "integrity": "sha512-pmW4GCKQ8t5Ko1jYjC3SqOr7TUKN7uHOHB/XGsAIb69eYu6d1ionGSsb5H9chmPf+WeXt0VE7jTXsB1IvWoNbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/expect": "4.0.12", - "@vitest/mocker": "4.0.12", - "@vitest/pretty-format": "4.0.12", - "@vitest/runner": "4.0.12", - "@vitest/snapshot": "4.0.12", - "@vitest/spy": "4.0.12", - "@vitest/utils": "4.0.12", - "debug": "^4.4.3", - "es-module-lexer": "^1.7.0", - "expect-type": "^1.2.2", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.3.tgz", + "integrity": "sha512-DBc4Tx0MPNsqb9isoyOq00lHftVx/KIU44QOm2q59npZyLUkENn8TMFsuzuO+4U2FUa9rgbbPt3udrP25GcjXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.3", + "@vitest/mocker": "4.1.3", + "@vitest/pretty-format": "4.1.3", + "@vitest/runner": "4.1.3", + "@vitest/snapshot": "4.1.3", + "@vitest/spy": "4.1.3", + "@vitest/utils": "4.1.3", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", "magic-string": "^0.30.21", + "obug": "^2.1.1", "pathe": "^2.0.3", "picomatch": "^4.0.3", - "std-env": "^3.10.0", + "std-env": "^4.0.0-rc.1", "tinybench": "^2.9.0", - "tinyexec": "^0.3.2", + "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", - "tinyrainbow": "^3.0.3", - "vite": "^6.0.0 || ^7.0.0", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", "why-is-node-running": "^2.3.0" }, "bin": { @@ -8724,14 +9114,16 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", - "@types/debug": "^4.1.12", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.0.12", - "@vitest/browser-preview": "4.0.12", - "@vitest/browser-webdriverio": "4.0.12", - "@vitest/ui": "4.0.12", + "@vitest/browser-playwright": "4.1.3", + "@vitest/browser-preview": "4.1.3", + "@vitest/browser-webdriverio": "4.1.3", + "@vitest/coverage-istanbul": "4.1.3", + "@vitest/coverage-v8": "4.1.3", + "@vitest/ui": "4.1.3", "happy-dom": "*", - "jsdom": "*" + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "@edge-runtime/vm": { @@ -8740,9 +9132,6 @@ "@opentelemetry/api": { "optional": true }, - "@types/debug": { - "optional": true - }, "@types/node": { "optional": true }, @@ -8755,6 +9144,12 @@ "@vitest/browser-webdriverio": { "optional": true }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, "@vitest/ui": { "optional": true }, @@ -8763,13 +9158,16 @@ }, "jsdom": { "optional": true + }, + "vite": { + "optional": false } } }, "node_modules/vitest-browser-vue": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/vitest-browser-vue/-/vitest-browser-vue-2.0.1.tgz", - "integrity": "sha512-IfTJY3Olr27AXCVAhOqx4g5iUgzdWLmYr40svg7rOrunjsqc9trrzi/eI3i11+UYddbKXu3HJl2bo8o8lqKm4A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vitest-browser-vue/-/vitest-browser-vue-2.1.0.tgz", + "integrity": "sha512-K3H/oxIOY4EjXx2bxwrLsPg4jTMvzpRW6Jb6T8XZRoxUvmDVwGkd8mua130F8GZezE7H5QYoXd/S8hYijw7j5g==", "dev": true, "license": "MIT", "dependencies": { @@ -8783,6 +9181,34 @@ "vue": "^3.0.0" } }, + "node_modules/vitest/node_modules/@vitest/expect": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.3.tgz", + "integrity": "sha512-CW8Q9KMtXDGHj0vCsqui0M5KqRsu0zm0GNDW7Gd3U7nZ2RFpPKSCpeCXoT+/+5zr1TNlsoQRDEz+LzZUyq6gnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.3", + "@vitest/utils": "4.1.3", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vitest/node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/void-elements": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", @@ -8801,47 +9227,16 @@ "license": "MIT" }, "node_modules/vue": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.17.tgz", - "integrity": "sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==", - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.17", - "@vue/compiler-sfc": "3.5.17", - "@vue/runtime-dom": "3.5.17", - "@vue/server-renderer": "3.5.17", - "@vue/shared": "3.5.17" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/vue-component-debug": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/vue-component-debug/-/vue-component-debug-0.1.1.tgz", - "integrity": "sha512-XhLbn5uSVnwl17Fy1aO8/c2Yxs6b6xaiMuXzr7KV/CEOqWCBEVSUQDmnBo0NjVJyrYbHwZbKIyegtzG809tJWw==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "vue": "^3.0.0" - } - }, - "node_modules/vue-component-meta": { - "version": "2.2.12", - "resolved": "https://registry.npmjs.org/vue-component-meta/-/vue-component-meta-2.2.12.tgz", - "integrity": "sha512-dQU6/obNSNbennJ1xd+rhDid4g3vQro+9qUBBIg8HMZH2Zs1jTpkFNxuQ3z77bOlU+ew08Qck9sbYkdSePr0Pw==", - "dev": true, + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.32.tgz", + "integrity": "sha512-vM4z4Q9tTafVfMAK7IVzmxg34rSzTFMyIe0UUEijUCkn9+23lj0WRfA83dg7eQZIUlgOSGrkViIaCfqSAUXsMw==", "license": "MIT", "dependencies": { - "@volar/typescript": "2.4.15", - "@vue/language-core": "2.2.12", - "path-browserify": "^1.0.1", - "vue-component-type-helpers": "2.2.12" + "@vue/compiler-dom": "3.5.32", + "@vue/compiler-sfc": "3.5.32", + "@vue/runtime-dom": "3.5.32", + "@vue/server-renderer": "3.5.32", + "@vue/shared": "3.5.32" }, "peerDependencies": { "typescript": "*" @@ -8849,53 +9244,30 @@ "peerDependenciesMeta": { "typescript": { "optional": true - } - } - }, - "node_modules/vue-component-meta/node_modules/@volar/language-core": { - "version": "2.4.15", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.15.tgz", - "integrity": "sha512-3VHw+QZU0ZG9IuQmzT68IyN4hZNd9GchGPhbD9+pa8CVv7rnoOZwo7T8weIbrRmihqy3ATpdfXFnqRrfPVK6CA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@volar/source-map": "2.4.15" + } } }, - "node_modules/vue-component-meta/node_modules/@volar/source-map": { - "version": "2.4.15", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.15.tgz", - "integrity": "sha512-CPbMWlUN6hVZJYGcU/GSoHu4EnCHiLaXI9n8c9la6RaI9W5JHX+NqG+GSQcB0JdC2FIBLdZJwGsfKyBB71VlTg==", - "dev": true, - "license": "MIT" - }, - "node_modules/vue-component-meta/node_modules/@volar/typescript": { - "version": "2.4.15", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.15.tgz", - "integrity": "sha512-2aZ8i0cqPGjXb4BhkMsPYDkkuc2ZQ6yOpqwAuNwUoncELqoy5fRgOQtLR9gB0g902iS0NAkvpIzs27geVyVdPg==", + "node_modules/vue-component-debug": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/vue-component-debug/-/vue-component-debug-0.1.1.tgz", + "integrity": "sha512-XhLbn5uSVnwl17Fy1aO8/c2Yxs6b6xaiMuXzr7KV/CEOqWCBEVSUQDmnBo0NjVJyrYbHwZbKIyegtzG809tJWw==", "dev": true, "license": "MIT", - "dependencies": { - "@volar/language-core": "2.4.15", - "path-browserify": "^1.0.1", - "vscode-uri": "^3.0.8" + "peerDependencies": { + "vue": "^3.0.0" } }, - "node_modules/vue-component-meta/node_modules/@vue/language-core": { + "node_modules/vue-component-meta": { "version": "2.2.12", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.12.tgz", - "integrity": "sha512-IsGljWbKGU1MZpBPN+BvPAdr55YPkj2nB/TBNGNC32Vy2qLG25DYu/NBN2vNtZqdRbTRjaoYrahLrToim2NanA==", + "resolved": "https://registry.npmjs.org/vue-component-meta/-/vue-component-meta-2.2.12.tgz", + "integrity": "sha512-dQU6/obNSNbennJ1xd+rhDid4g3vQro+9qUBBIg8HMZH2Zs1jTpkFNxuQ3z77bOlU+ew08Qck9sbYkdSePr0Pw==", "dev": true, "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.15", - "@vue/compiler-dom": "^3.5.0", - "@vue/compiler-vue2": "^2.7.16", - "@vue/shared": "^3.5.0", - "alien-signals": "^1.0.3", - "minimatch": "^9.0.3", - "muggle-string": "^0.4.1", - "path-browserify": "^1.0.1" + "@volar/typescript": "2.4.15", + "@vue/language-core": "2.2.12", + "path-browserify": "^1.0.1", + "vue-component-type-helpers": "2.2.12" }, "peerDependencies": { "typescript": "*" @@ -8906,24 +9278,17 @@ } } }, - "node_modules/vue-component-meta/node_modules/@vue/shared": { - "version": "3.5.24", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.24.tgz", - "integrity": "sha512-9cwHL2EsJBdi8NY22pngYYWzkTDhld6fAD6jlaeloNGciNSJL6bLpbxVgXl96X00Jtc6YWQv96YA/0sxex/k1A==", - "dev": true, - "license": "MIT" - }, - "node_modules/vue-component-meta/node_modules/alien-signals": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.13.tgz", - "integrity": "sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==", + "node_modules/vue-component-meta/node_modules/vue-component-type-helpers": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.12.tgz", + "integrity": "sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==", "dev": true, "license": "MIT" }, "node_modules/vue-component-type-helpers": { - "version": "2.2.12", - "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.12.tgz", - "integrity": "sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-3.2.6.tgz", + "integrity": "sha512-O02tnvIfOQVmnvoWwuSydwRoHjZVt8UEBR+2p4rT35p8GAy5VTlWP8o5qXfJR/GWCN0nVZoYWsVUvx2jwgdBmQ==", "dev": true, "license": "MIT" }, @@ -8978,6 +9343,100 @@ "vue": ">=3.2.0" } }, + "node_modules/vue-final-modal/node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, + "node_modules/vue-final-modal/node_modules/@vueuse/core": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz", + "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.11.1", + "@vueuse/shared": "10.11.1", + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/vue-final-modal/node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-final-modal/node_modules/@vueuse/metadata": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.11.1.tgz", + "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/vue-final-modal/node_modules/@vueuse/shared": { + "version": "10.11.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.1.tgz", + "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", + "license": "MIT", + "dependencies": { + "vue-demi": ">=0.14.8" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/vue-final-modal/node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/vue-inbrowser-compiler-independent-utils": { "version": "4.71.1", "resolved": "https://registry.npmjs.org/vue-inbrowser-compiler-independent-utils/-/vue-inbrowser-compiler-independent-utils-4.71.1.tgz", @@ -9007,14 +9466,14 @@ } }, "node_modules/vue-tsc": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.0.5.tgz", - "integrity": "sha512-PsTFN9lo1HJCrZw9NoqjYcAbYDXY0cOKyuW2E7naX5jcaVyWpqEsZOHN9Dws5890E8e5SDAD4L4Zam3dxG3/Cw==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.2.6.tgz", + "integrity": "sha512-gYW/kWI0XrwGzd0PKc7tVB/qpdeAkIZLNZb10/InizkQjHjnT8weZ/vBarZoj4kHKbUTZT/bAVgoOr8x4NsQ/Q==", "dev": true, "license": "MIT", "dependencies": { - "@volar/typescript": "2.4.22", - "@vue/language-core": "3.0.5" + "@volar/typescript": "2.4.28", + "@vue/language-core": "3.2.6" }, "bin": { "vue-tsc": "bin/vue-tsc.js" @@ -9023,10 +9482,69 @@ "typescript": ">=5.0.0" } }, + "node_modules/vue-tsc/node_modules/@volar/language-core": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.28.tgz", + "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.28" + } + }, + "node_modules/vue-tsc/node_modules/@volar/source-map": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.28.tgz", + "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-tsc/node_modules/@volar/typescript": { + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz", + "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/vue-tsc/node_modules/@vue/language-core": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.2.6.tgz", + "integrity": "sha512-xYYYX3/aVup576tP/23sEUpgiEnujrENaoNRbaozC1/MA9I6EGFQRJb4xrt/MmUCAGlxTKL2RmT8JLTPqagCkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.28", + "@vue/compiler-dom": "^3.5.0", + "@vue/shared": "^3.5.0", + "alien-signals": "^3.0.0", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "picomatch": "^4.0.2" + } + }, + "node_modules/vue-tsc/node_modules/@vue/shared": { + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", + "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-tsc/node_modules/alien-signals": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-3.1.2.tgz", + "integrity": "sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==", + "dev": true, + "license": "MIT" + }, "node_modules/vue/node_modules/@vue/shared": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", - "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", + "version": "3.5.32", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.32.tgz", + "integrity": "sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==", "license": "MIT" }, "node_modules/vue3-click-away": { @@ -9085,6 +9603,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", "dev": true, "license": "MIT", "dependencies": { @@ -9201,15 +9720,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/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==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -9257,10 +9767,22 @@ "node": ">=8" } }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "version": "8.21.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.1.tgz", + "integrity": "sha512-+0NTnW77fFN/DjQi6k/Sq/Yvk4Sgajw7urW8V+asjXnRgDs9gyGkdb7EzgfhA4goXsRIZKE28fzIXBHEzhuiWw==", "dev": true, "license": "MIT", "engines": { @@ -9280,32 +9802,17 @@ } }, "node_modules/wsl-utils": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", - "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-wsl": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wsl-utils/node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.3.1.tgz", + "integrity": "sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==", "dev": true, "license": "MIT", "dependencies": { - "is-inside-container": "^1.0.0" + "is-wsl": "^3.1.0", + "powershell-utils": "^0.1.0" }, "engines": { - "node": ">=16" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -9338,112 +9845,84 @@ "node": ">=10" } }, - "node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "node_modules/yaml": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", "dev": true, - "license": "BlueOak-1.0.0", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">=18" + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" } }, "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^8.0.1", + "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^7.2.0", "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "yargs-parser": "^22.0.0" }, "engines": { - "node": ">=12" + "node": "^20.19.0 || ^22.12.0 || >=23" } }, "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", "dev": true, "license": "ISC", "engines": { - "node": ">=12" - } - }, - "node_modules/yargs/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, - "license": "MIT", - "engines": { - "node": ">=8" + "node": "^20.19.0 || ^22.12.0 || >=23" } }, "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", "dev": true, "license": "MIT" }, "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" + "node": ">=18" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/zod": { - "version": "3.25.71", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.71.tgz", - "integrity": "sha512-BsBc/NPk7h8WsUWYWYL+BajcJPY8YhjelaWu2NMLuzgraKAz4Lb4/6K11g9jpuDetjMiqhZ6YaexFLOC0Ogi3Q==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } - }, - "node_modules/zod-validation-error": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.5.2.tgz", - "integrity": "sha512-mdi7YOLtram5dzJ5aDtm1AG9+mxRma1iaMrZdYIpFO7epdKBUwLHIxTF8CPDeCQ828zAXYtizrKlEJAtzgfgrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "zod": "^3.25.0" - } } } } diff --git a/package.json b/package.json index 8f55d855c1f..ceb6142c955 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "dependencies": { "@davidenke/marked-text-renderer": "^3.0.0", "@floating-ui/dom": "^1.6.0", - "@he-tree/vue": "^2.10.0-beta.2", + "@he-tree/vue": "^2.10.5", "@hoppscotch/vue-toasted": "^0.1.0", "@inertiajs/vue3": "^2.1.11", "@internationalized/date": "^3.7.0", @@ -58,18 +58,18 @@ "@tiptap/vue-3": "^3.0.0", "alpinejs": "^3.1.1", "autosize": "~6.0.1", - "axios": "^1.13.5", + "axios": "^1.18.1", "clsx": "^2.1.1", "codemirror": "5.65.12", "cookies-js": "^1.2.2", "cropperjs": "^1.6.2", "cva": "^1.0.0-beta.3", - "dompurify": "^3.3.1", + "dompurify": "^3.4.11", "floating-vue": "^5.2.2", "fuzzysort": "^3.1.0", "highlight.js": "^11.7.0", "laravel-echo": "^1.16.0", - "lodash-es": "^4.17.21", + "lodash-es": "^4.18.1", "lowlight": "^3.1.0", "marked": "^15.0.0", "motion-v": "^1.0.0-beta.0", @@ -81,7 +81,7 @@ "portal-vue": "^3.0.0", "pretty": "^2.0.0", "pusher-js": "^8.4.0-rc2", - "qs": "^6.14.2", + "qs": "^6.15.2", "read-time-estimate": "0.0.3", "reka-ui": "^2.9.2", "resize-observer-polyfill": "^1.5.1", @@ -110,13 +110,12 @@ "@vue/test-utils": "^2.4.6", "jsdom": "^26.0.0", "knip": "^5.43.6", - "laravel-vite-plugin": "^2.0.0", - "rollup-plugin-visualizer": "^5.14.0", - "storybook": "^10.2.10", + "laravel-vite-plugin": "^3.0.0", + "rollup-plugin-visualizer": "^7.0.0", + "storybook": "^10.4.6", "tailwindcss": "^4.1.8", "typescript": "^5.9.2", - "vite": "^7.0.4", - "vite-tsconfig-paths": "^5.1.4", + "vite": "^8.0.16", "vitest": "^4.0.12", "vitest-browser-vue": "^2.0.1", "vue-component-debug": "^0.1.0", diff --git a/packages/cms/src/api.js b/packages/cms/src/api.js index d0168535b77..40e8654a1ed 100644 --- a/packages/cms/src/api.js +++ b/packages/cms/src/api.js @@ -14,6 +14,7 @@ export const { hooks, inertia, keys, + numberFormatter, permissions, portals, preferences, diff --git a/packages/cms/src/index.js b/packages/cms/src/index.js index 843018baed9..8b30e9f288b 100644 --- a/packages/cms/src/index.js +++ b/packages/cms/src/index.js @@ -8,6 +8,7 @@ export const { IndexFieldtypeMixin, InlineEditForm, DateFormatter, + NumberFormatter, ItemActions, RelatedItem, RestoreRevision, @@ -18,6 +19,7 @@ export const { requireElevatedSession, requireElevatedSessionIf, clone, + debounce, deepClone, resetValuesFromResponse, } = __STATAMIC__.core; diff --git a/packages/cms/src/ui.js b/packages/cms/src/ui.js index 4063a97f6d2..3f5150061c9 100644 --- a/packages/cms/src/ui.js +++ b/packages/cms/src/ui.js @@ -17,6 +17,9 @@ export const { Combobox, CommandPaletteItem, ConfirmationModal, + ContentDirection, + useContentDirection, + useUiDirection, Context, ContextFooter, ContextHeader, @@ -114,8 +117,11 @@ export const { TabProvider, Tabs, TabTrigger, + Text, Textarea, TimePicker, + TimezoneHoverCard, + Timezones, ToggleGroup, ToggleItem, Widget, diff --git a/phpstan.dist.neon b/phpstan.dist.neon new file mode 100644 index 00000000000..f15f7c292ef --- /dev/null +++ b/phpstan.dist.neon @@ -0,0 +1,63 @@ +includes: + - vendor/larastan/larastan/extension.neon + - .phpstan/baseline.neon + +parameters: + level: 0 + paths: + - src + + # Symbol-only stubs for optional runtime integrations that this package + # never requires as real dependencies (see .phpstan/stubs/debugbar.php). + scanFiles: + - .phpstan/stubs/debugbar.php + + ignoreErrors: + - + identifier: class.notFound + message: '#^(Class|Instantiated class) Spatie\\LaravelIgnition\\Exceptions\\(ViewException|ViewExceptionWithSolution) not found\.$#' + path: src/View/Antlers/Language/Runtime/RuntimeParser.php + + # composer/composer is an optional runtime integration (composer update hooks), not a real dependency. + - + identifier: class.notFound + message: '#^Parameter \$event of method Statamic\\Console\\Composer\\Scripts::preUpdateCmd\(\) has invalid type Composer\\Script\\Event\.$#' + path: src/Console/Composer/Scripts.php + + # barryvdh/laravel-debugbar is an optional runtime integration, guarded by class_exists()/isEnabled() checks. + - + identifier: class.notFound + message: '#^Caught class DebugBar\\DebugBarException not found\.$#' + path: src/Forms/Tags.php + - + identifier: function.notFound + message: '#^Function debug not found\.$#' + path: src/Modifiers/CoreModifiers.php + + # spatie/laravel-ignition is an optional runtime integration; ddd() is one of its helpers. + - + identifier: function.notFound + message: '#^Function ddd not found\.$#' + path: src/Modifiers/CoreModifiers.php + + # self::this() inside the Carbon::macro() closure resolves to Carbon\Traits\Mixin::this(), + # a protected static method Carbon rebinds into scope for macros registered via Mixin - + # see vendor/nesbot/carbon/src/Carbon/Traits/Mixin.php. PHPStan can't follow the + # static-closure scope rebinding, so it thinks this() is being called on this class. + - + identifier: staticMethod.notFound + message: '#^Call to an undefined static method Statamic\\Providers\\AppServiceProvider::this\(\)\.$#' + path: src/Providers/AppServiceProvider.php + + # keyByWithKey() is a public Collection macro kept for third-party/addon backward + # compatibility even though Statamic's own code no longer calls it, so its use of + # Collection's protected valueRetriever()/$items internals is left as-is rather than + # rewritten to public equivalents. + - + identifier: method.protected + message: '#^Call to protected method valueRetriever\(\) of class Illuminate\\Support\\Collection(<.*>)?\.$#' + path: src/Providers/CollectionsServiceProvider.php + - + identifier: property.protected + message: '#^Access to protected property Illuminate\\Support\\Collection::\$items\.$#' + path: src/Providers/CollectionsServiceProvider.php diff --git a/phpunit.xml.dist b/phpunit.dist.xml similarity index 100% rename from phpunit.xml.dist rename to phpunit.dist.xml diff --git a/resources/css/components/fieldtypes/grid.css b/resources/css/components/fieldtypes/grid.css index 107723272eb..c1c5a1ea33d 100644 --- a/resources/css/components/fieldtypes/grid.css +++ b/resources/css/components/fieldtypes/grid.css @@ -7,12 +7,8 @@ border-spacing: 0; table-layout: auto; - [data-ui-field-text] { - @apply sr-only; - } - thead th { - @apply sticky -top-2 table-cell z-(--z-index-draggable) border-b bg-gray-50 p-2 text-sm font-medium text-gray-900 dark:border-gray-700 dark:bg-gray-925 dark:text-gray-100; + @apply sticky -top-2 table-cell z-(--z-index-above) border-b bg-gray-50 p-2 text-sm font-medium text-gray-900 dark:border-gray-700 dark:bg-gray-925 dark:text-gray-100; /* Prevent the sticky toolbar from hitting the very end of container, which causes it to overlap the container's border-radius */ margin-block-end: 8px; /* Pull the subsequent element up to compensate for this */ @@ -55,7 +51,7 @@ @apply outline-hidden; > td { - @apply border-b px-2 py-3 align-top dark:border-gray-900; + @apply border-b px-1 @2xl:px-2 py-3 align-top dark:border-gray-900; &:first-child.grid-cell { @apply ltr:pl-3 rtl:pr-3; @@ -88,6 +84,15 @@ .grid-cell :is([data-ui-field-header], [data-ui-label], [data-ui-description]) { @apply hidden; } + + .grid-cell :is(.replicator-fieldtype, .bard-fieldtype, .group-fieldtype) :is([data-ui-field-header], [data-ui-label], [data-ui-description]) { + @apply block; + } + + /* ...unless that container fieldtype has its own nested Grid cell, whose direct labels should stay hidden per the rule above. */ + .grid-cell :is(.replicator-fieldtype, .bard-fieldtype, .group-fieldtype) .grid-cell :is([data-ui-field-header], [data-ui-label], [data-ui-description]) { + @apply hidden; + } } tbody .grid-row-controls { diff --git a/resources/css/components/index-fields.css b/resources/css/components/index-fields.css index aca149f5493..4a00b2d1cae 100644 --- a/resources/css/components/index-fields.css +++ b/resources/css/components/index-fields.css @@ -33,7 +33,7 @@ } &.status-scheduled { - @apply bg-amber-200 text-amber-900 dark:bg-amber-300 dark:text-amber-950; + @apply bg-amber-200 text-amber-900 dark:bg-amber-300/6 dark:text-amber-300; } } diff --git a/resources/css/components/page-tree.css b/resources/css/components/page-tree.css index 6d1f34c5970..1014a31e6f7 100644 --- a/resources/css/components/page-tree.css +++ b/resources/css/components/page-tree.css @@ -38,7 +38,12 @@ .tree-node:has(.is-section) + .tree-node .page-tree-branch, /* 3rd level down */ .tree-node:has(.page-tree-branch--has-children):has(.is-open) + .tree-node .page-tree-branch { - border-top-left-radius: 0; + border-start-start-radius: 0; + } + + /* A section node followed by another section node should always have a rounded border. E.g. Tools + Settings */ + .tree-node:has(.is-section) + .tree-node:has(.is-section) .page-tree-branch { + @apply rounded-xl; } } diff --git a/resources/css/components/preview.css b/resources/css/components/preview.css index 857fc52ab44..892df911cfc 100644 --- a/resources/css/components/preview.css +++ b/resources/css/components/preview.css @@ -40,7 +40,7 @@ } .live-preview .publish-tabs { - @apply ltr:pl-4 @-4xl/live-preview:ltr:pl-6 rtl:pr-4 @-4xl/live-preview:rtl:pr-6; + @apply ltr:pl-4 @4xl/live-preview:ltr:pl-6 rtl:pr-4 @4xl/live-preview:rtl:pr-6; } .live-preview .publish-sections-section { diff --git a/resources/css/components/publish.css b/resources/css/components/publish.css index 9dcd0227e5a..c19246d8edc 100644 --- a/resources/css/components/publish.css +++ b/resources/css/components/publish.css @@ -1,6 +1,5 @@ /* GROUP PUBLISH COMPONENT =================================================== */ - .publish-fields, .field-grid { display: grid; @@ -144,3 +143,49 @@ Here flexbox is much better suited to create a layout that grows to fill space. top: 0; z-index: var(--z-index-portal); } + +/* GROUP COLLAPSIBLE PUBLISH SECTIONS +=================================================== */ +.publish-section-collapsible { + --timing: ease; + /* No animation on load; enable once the user has toggled this section. */ + --speed: 0ms; + + /* Only setting the animation speed when the section is interacted with. Prevents the animation triggering on page load. */ + &.publish-section-collapsible--interacted { + --speed: 250ms; + } + + @media (prefers-reduced-motion: reduce) { + --speed: 0ms; + } +} + +.publish-section-collapsible--expanded { + /* We can animate collapse/expand using grid rows */ + animation: expand-rows var(--speed) var(--timing) forwards; + + .publish-section-collapsible__inner { + animation: calc(var(--speed) * 2) var(--timing) section-fade-in both; + overflow: clip; + /* We need to increase the clip margin here vs regular collapsible sections because we have things appearing outside the section such as the logic indicator icon. */ + overflow-clip-margin: 2.5rem; + } +} + +.publish-section-collapsible--collapsed { + animation: collapse-rows var(--speed) var(--timing) forwards; + + .publish-section-collapsible__inner { + animation: + clip-overflow 0ms var(--speed) forwards, + make-invisible 0ms var(--speed) forwards; + overflow: clip; + } +} + +@keyframes section-fade-in { from { opacity: 0%; } to { opacity: 100%; } } +@keyframes make-invisible { from { visibility: visible; } to { visibility: hidden; } } +@keyframes collapse-rows { from { grid-template-rows: 1fr; } to { grid-template-rows: 0fr; } } +@keyframes expand-rows { from { grid-template-rows: 0fr; } to { grid-template-rows: 1fr; } } +@keyframes clip-overflow { to { overflow: clip; } } \ No newline at end of file diff --git a/resources/css/core/layout.css b/resources/css/core/layout.css index 8299d321b77..f258de42bc9 100644 --- a/resources/css/core/layout.css +++ b/resources/css/core/layout.css @@ -2,8 +2,8 @@ =================================================== */ .nav-main { @apply flex flex-col gap-6 py-6 px-2 sm:px-3 text-sm antialiased select-none; - /* Same as the main element, accounting for the header with a class of h-14, which is the same as 3.5rem */ - @apply h-[calc(100vh-3.5rem)]; + /* Similar to the main element, accounting for the header with a class of h-14, which is the same as 3.5rem */ + @apply h-[calc(100dvh-3.5rem)]; @apply overflow-y-auto fixed top-14 start-0 w-48; @apply [&_svg]:text-gray-500 dark:[&_svg]:text-gray-500/85; /* Wait for the full page to load before allowing this transition otherwise you see the Sidebar animate in/out on load in Firefox (and sometimes Safari) */ @@ -28,11 +28,11 @@ } ul li ul { - @apply ml-3.5 pl-3.5 translate-x-px my-1.5 text-[0.8125rem] min-w-0 flex-col gap-1.5 border-s border-gray-300 dark:border-gray-700; + @apply ml-3.5 translate-x-px my-1.5 text-[0.8125rem] min-w-0 flex-col gap-1.5 border-s border-gray-300 dark:border-gray-700; } ul li ul li a { - @apply py-0 hover:bg-transparent; + @apply py-0 ps-5 hover:bg-transparent; } ul li ul li a.active { @@ -79,12 +79,11 @@ &::before { content: ''; position: absolute; - width: anchor-size(height); height: calc(anchor-size(height) + 0.5px); @apply border-s border-s-black; translate: -100% 0; position-anchor: --active; - left: calc(anchor(left) + 0.25rem - 0.5px); + left: anchor(left); top: anchor(top); transition-property: top, left; transition-duration: 0.2s; @@ -115,8 +114,9 @@ /* Mobile nav behavior */ @media (width < theme(--breakpoint-lg)) { .nav-main { - /* Always visible but off-screen by default */ + /* Always visible but off-screen until opened (do not rely on JS adding .nav-closed before first paint). */ @apply flex; + @apply -start-50; @apply bg-white dark:bg-gray-800 border-r border-gray-200 dark:border-gray-700; } diff --git a/resources/css/core/utilities.css b/resources/css/core/utilities.css index d996abff0a6..011853708ca 100644 --- a/resources/css/core/utilities.css +++ b/resources/css/core/utilities.css @@ -2,8 +2,8 @@ =================================================== */ /* Here we extend Tailwind's classes to add additional functionality where we're sure it won't break anything. */ -/* If the next sibling is hidden (by a Vue conditional), remove the bottom border. For example, /cp/asset-containers/assets/edit, the Image Manipulation toggle. */ -.divide-y > *:has(+[style*="display: none"]:last-child) { +/* If all the next siblings are hidden (by a Vue conditional), remove the bottom border. For example, /cp/seo-pro/site-defaults/edit#json-ld */ +.divide-y > *:not(:has(~ :not([style*="display: none"]))) { border-block-end: none; } @@ -31,7 +31,7 @@ } @utility st-custom-scrollbar { - --sb-size: 3px; + --sb-size: 4px; --sb-thumb-color: var(--color-gray-400); &:where(.dark, .dark *) { --sb-thumb-color: var(--color-gray-500); @@ -42,6 +42,7 @@ &::-webkit-scrollbar { width: var(--sb-size); + height: 2px; } &::-webkit-scrollbar-track { @@ -54,6 +55,27 @@ } } +/* =Jay. Mask the horizontal overflow of an element, e.g. in a long Bard Set header that overflows its container. Override the default mask by changing the --mask-stop variable. */ +@utility st-mask-horizontal-overflow { + --mask-stop: 1rem; + --mask: linear-gradient(to left, transparent 0%, black var(--mask-stop)); + mask-image: var(--mask); + mask-repeat: no-repeat; + animation: mask-overflow-horizontal linear both; + animation-timeline: scroll(self inline); + animation-range: calc(100% - var(--mask-stop)) 100%; +} + +@keyframes mask-overflow-horizontal { + from { + mask-image: var(--mask); + } + + to { + mask-image: unset; + } +} + /* UTILITIES / TEXT =================================================== */ /* Avoid prefixing things with `st-text-` (st for Statamic) because `text-` is a Tailwind prefix */ diff --git a/resources/css/vendors/codemirror.css b/resources/css/vendors/codemirror.css index 3f742a9fbcd..7c1d0799aec 100644 --- a/resources/css/vendors/codemirror.css +++ b/resources/css/vendors/codemirror.css @@ -3,6 +3,7 @@ .CodeMirror { /* Set height, width, borders, and global font properties here */ @apply text-gray-900 dark:text-gray-300 leading-normal min-h-20; + direction: ltr; } /* CODEMIRROR / PADDING diff --git a/resources/js/api.js b/resources/js/api.js index 403e49d154a..8e2ad4c0c9d 100644 --- a/resources/js/api.js +++ b/resources/js/api.js @@ -14,6 +14,7 @@ import Reveal from './components/Reveal.js'; import Echo from './components/Echo.js'; import Permission from './components/Permission.js'; import DateFormatter from './components/DateFormatter.js'; +import NumberFormatter from './components/NumberFormatter.js'; import CommandPalette from './components/CommandPalette.js'; import ColorMode from './components/ColorMode.js'; import Contrast from './components/Contrast.js'; @@ -39,6 +40,7 @@ export const reveal = new Reveal(); export const echo = new Echo(); export const permissions = new Permission(); export const dateFormatter = new DateFormatter(); +export const numberFormatter = new NumberFormatter(); export const commandPalette = new CommandPalette(); export const colorMode = new ColorMode(); export const contrast = new Contrast(); diff --git a/resources/js/bootstrap/App.vue b/resources/js/bootstrap/App.vue index 8adb7a5c773..8f8a37ab9ea 100644 --- a/resources/js/bootstrap/App.vue +++ b/resources/js/bootstrap/App.vue @@ -57,6 +57,10 @@ export default { Statamic.$callbacks.add('removeFromSelections', function (ids) { Statamic.$events.$emit('removeFromSelections', ids); }); + + Statamic.$callbacks.add('replaceInSelections', function (replacements) { + Statamic.$events.$emit('replaceInSelections', replacements); + }); }, methods: { diff --git a/resources/js/bootstrap/cms/core.js b/resources/js/bootstrap/cms/core.js index ffe704b444e..05070c7d6c8 100644 --- a/resources/js/bootstrap/cms/core.js +++ b/resources/js/bootstrap/cms/core.js @@ -3,6 +3,7 @@ export { default as IndexFieldtype } from '../../components/fieldtypes/index-fie export { default as FieldtypeMixin } from '../../components/fieldtypes/Fieldtype.vue'; export { default as IndexFieldtypeMixin } from '../../components/fieldtypes/IndexFieldtype.vue'; export { default as DateFormatter } from '../../components/DateFormatter.js'; +export { default as NumberFormatter } from '../../components/NumberFormatter.js'; export { default as ItemActions } from '../../components/actions/ItemActions.vue'; export { default as InlineEditForm } from '../../components/inputs/relationship/InlineEditForm.vue'; export { default as RelatedItem } from '../../components/inputs/relationship/Item.vue'; @@ -17,3 +18,4 @@ export { default as HasActionsMixin } from '../../components/publish/HasActions. export { default as resetValuesFromResponse } from '../../util/resetValuesFromResponse.js'; export { requireElevatedSession, requireElevatedSessionIf } from '../../components/elevated-sessions'; export { default as clone, deepClone } from '../../util/clone.js'; +export { default as debounce } from '../../util/debounce.js'; diff --git a/resources/js/bootstrap/cms/ui.js b/resources/js/bootstrap/cms/ui.js index 28803da78b0..68653dd3746 100644 --- a/resources/js/bootstrap/cms/ui.js +++ b/resources/js/bootstrap/cms/ui.js @@ -17,6 +17,7 @@ export { Combobox, CommandPaletteItem, ConfirmationModal, + ContentDirection, Context, ContextFooter, ContextHeader, @@ -114,11 +115,16 @@ export { TabProvider, Tabs, TabTrigger, + Text, Textarea, TimePicker, + TimezoneHoverCard, + Timezones, ToggleGroup, ToggleItem, Widget, registerIconSet, registerIconSetFromStrings, + useContentDirection, + useUiDirection, } from '../../components/ui/index'; diff --git a/resources/js/bootstrap/fieldtypes.js b/resources/js/bootstrap/fieldtypes.js index dea6d98c382..5cb99a0c35e 100644 --- a/resources/js/bootstrap/fieldtypes.js +++ b/resources/js/bootstrap/fieldtypes.js @@ -13,10 +13,12 @@ import BardButtonsSettingFieldtype from '../components/fieldtypes/bard/BardButto import BlueprintsFieldtype from '../components/fieldtypes/BlueprintsFieldtype.vue'; import ButtonGroupFieldtype from '../components/fieldtypes/ButtonGroupFieldtype.vue'; import CheckboxesFieldtype from '../components/fieldtypes/CheckboxesFieldtype.vue'; +import ControlAppearanceFieldtype from '../components/fieldtypes/control-appearance/ControlAppearanceFieldtype.vue'; import Routes from '../components/collections/Routes.vue'; import TitleFormats from '../components/collections/TitleFormats.vue'; import ColorFieldtype from '../components/fieldtypes/ColorFieldtype.vue'; import DateFieldtype from '../components/fieldtypes/DateFieldtype.vue'; +import FormattingLocalesFieldtype from '../components/fieldtypes/FormattingLocalesFieldtype.vue'; import DateIndexFieldtype from '../components/fieldtypes/DateIndexFieldtype.vue'; import DictionaryFieldtype from '../components/fieldtypes/DictionaryFieldtype.vue'; import DictionaryIndexFieldtype from '../components/fieldtypes/DictionaryIndexFieldtype.vue'; @@ -34,6 +36,7 @@ import HtmlFieldtype from '../components/fieldtypes/HtmlFieldtype.vue'; import IconFieldtype from '../components/fieldtypes/IconFieldtype.vue'; import IntegerFieldtype from '../components/fieldtypes/IntegerFieldtype.vue'; import LinkFieldtype from '../components/fieldtypes/LinkFieldtype.vue'; +import LinkIndexFieldtype from '../components/fieldtypes/LinkIndexFieldtype.vue'; import ListFieldtype from '../components/fieldtypes/ListFieldtype.vue'; import ListIndexFieldtype from '../components/fieldtypes/ListIndexFieldtype.vue'; import MarkdownButtonsSettingFieldtype from '../components/fieldtypes/markdown/MarkdownButtonsSettingFieldtype.vue'; @@ -80,6 +83,7 @@ export default function registerFieldtypes(app) { app.component('button_group-fieldtype', ButtonGroupFieldtype); app.component('blueprints-fieldtype', BlueprintsFieldtype); app.component('checkboxes-fieldtype', CheckboxesFieldtype); + app.component('control_appearance-fieldtype', ControlAppearanceFieldtype); app.component( 'code-fieldtype', defineAsyncComponent(() => import('../components/fieldtypes/CodeFieldtype.vue')), @@ -88,6 +92,7 @@ export default function registerFieldtypes(app) { app.component('collection_title_formats-fieldtype', TitleFormats); app.component('color-fieldtype', ColorFieldtype); app.component('date-fieldtype', DateFieldtype); + app.component('formatting_locales-fieldtype', FormattingLocalesFieldtype); app.component('date-fieldtype-index', DateIndexFieldtype); app.component('dictionary-fieldtype', DictionaryFieldtype); app.component('dictionary-fieldtype-index', DictionaryIndexFieldtype); @@ -105,6 +110,7 @@ export default function registerFieldtypes(app) { app.component('icon-fieldtype', IconFieldtype); app.component('integer-fieldtype', IntegerFieldtype); app.component('link-fieldtype', LinkFieldtype); + app.component('link-fieldtype-index', LinkIndexFieldtype); app.component('list-fieldtype', ListFieldtype); app.component('list-fieldtype-index', ListIndexFieldtype); app.component( diff --git a/resources/js/bootstrap/hmr.js b/resources/js/bootstrap/hmr.js index ac561a238b4..c77f4a43072 100644 --- a/resources/js/bootstrap/hmr.js +++ b/resources/js/bootstrap/hmr.js @@ -9,7 +9,7 @@ function log() { if (logged) return; console.warn( "Vue HMR is not enabled in this Control Panel build.\n", - 'See https://v6.statamic.dev/addons/vite-tooling for more information.' + 'See https://statamic.dev/addons/vite-tooling for more information.' ); logged = true; } diff --git a/resources/js/bootstrap/statamic.js b/resources/js/bootstrap/statamic.js index 65aec1b9b25..3a5eda975b2 100644 --- a/resources/js/bootstrap/statamic.js +++ b/resources/js/bootstrap/statamic.js @@ -19,6 +19,7 @@ import VueComponentDebug from 'vue-component-debug'; import { registerIconSetFromStrings } from '@ui'; import Layout from '@/pages/layout/Layout.vue'; import { setTranslations, setLocale } from '@/translations/translator.js'; +import { setDefaultLocale as setFormattingLocale } from '@/components/FormattingLocale.js'; import { keys, components, @@ -35,6 +36,7 @@ import { echo, permissions, dateFormatter, + numberFormatter, commandPalette, colorMode, contrast, @@ -123,6 +125,10 @@ export default { return dateFormatter; }, + get $number() { + return numberFormatter; + }, + get $progress() { return progress; }, @@ -176,6 +182,13 @@ export default { contrast.initialize(this.initialConfig.user?.preferences?.strict_accessibility); preferences.initialize(this.initialConfig.user?.preferences, this.initialConfig.defaultPreferences); + const formattingLocale = this.initialConfig.user?.preferences?.formatting_locale; + if (formattingLocale === 'language') { + setFormattingLocale(this.initialConfig.translationLocale); + } else if (formattingLocale) { + setFormattingLocale(formattingLocale); + } + bootingCallbacks.forEach((callback) => callback(this)); bootingCallbacks = []; @@ -185,9 +198,11 @@ export default { const bladeContent = el?.innerHTML || ''; const _this = this; + const corePages = import.meta.glob('../pages/**/*.vue'); + await createInertiaApp({ id: 'statamic', - resolve: name => { + resolve: async name => { if (name === 'NonInertiaPage') { return { default: { @@ -198,8 +213,8 @@ export default { } // Resolve core pages - const pages = import.meta.glob('../pages/**/*.vue', { eager: true }); - let page = pages[`../pages/${name}.vue`]; + const pageImport = corePages[`../pages/${name}.vue`]; + let page = pageImport ? await pageImport() : null; // Resolve addon pages if (!page) { @@ -274,6 +289,7 @@ export default { $echo: echo, $permissions: permissions, $date: dateFormatter, + $number: numberFormatter, $commandPalette: commandPalette, $colorMode: colorMode, $contrast: contrast, diff --git a/resources/js/components/DateFormatter.js b/resources/js/components/DateFormatter.js index 28dc8d91073..5cccccccb97 100644 --- a/resources/js/components/DateFormatter.js +++ b/resources/js/components/DateFormatter.js @@ -1,3 +1,5 @@ +import { getLocale, getDefaultLocale, setDefaultLocale } from './FormattingLocale.js'; + export default class DateFormatter { #date; #options; @@ -102,8 +104,31 @@ export default class DateFormatter { return this.date(date).options(options).toString(); } + static get defaultLocale() { + return getDefaultLocale(); + } + + static set defaultLocale(locale) { + setDefaultLocale(locale); + } + + withLocale(locale, callback) { + const previousLocale = getDefaultLocale(); + setDefaultLocale(locale); + + try { + return callback(this); + } finally { + setDefaultLocale(previousLocale); + } + } + + setDefaultLocale(locale) { + setDefaultLocale(locale); + } + get locale() { - return DateFormatter.defaultLocale ?? Intl.DateTimeFormat().resolvedOptions().locale; + return getLocale(); } #normalizeDate(date) { @@ -123,6 +148,14 @@ export default class DateFormatter { return this.#presets[options]; } + if (options.preset) { + const { preset, ...overrides } = options; + + if (!this.#presets[preset]) throw new Error(`Invalid date format: ${preset}`); + + return { ...this.#presets[preset], ...overrides }; + } + return options; } } diff --git a/resources/js/components/FormattingLocale.js b/resources/js/components/FormattingLocale.js new file mode 100644 index 00000000000..3a04401f958 --- /dev/null +++ b/resources/js/components/FormattingLocale.js @@ -0,0 +1,17 @@ +let defaultLocale = null; + +export function normalizeLocale(locale) { + return typeof locale === 'string' ? locale.replace('_', '-') : locale; +} + +export function getLocale() { + return defaultLocale ?? Intl.DateTimeFormat().resolvedOptions().locale; +} + +export function getDefaultLocale() { + return defaultLocale; +} + +export function setDefaultLocale(locale) { + defaultLocale = normalizeLocale(locale); +} diff --git a/resources/js/components/NumberFormatter.js b/resources/js/components/NumberFormatter.js new file mode 100644 index 00000000000..af166851c6d --- /dev/null +++ b/resources/js/components/NumberFormatter.js @@ -0,0 +1,115 @@ +import { getLocale, getDefaultLocale, setDefaultLocale } from './FormattingLocale.js'; + +export default class NumberFormatter { + #number; + #rangeEnd; + #options; + #presets = { + decimal: { + style: 'decimal', + }, + percent: { + style: 'percent', + }, + }; + + constructor(number, options) { + if (Array.isArray(number)) { + this.#number = this.#normalizeNumber(number[0]); + this.#rangeEnd = this.#normalizeNumber(number[1]); + } else { + this.#number = this.#normalizeNumber(number); + } + + this.#options = this.#normalizeOptions(options); + } + + number(value) { + return new NumberFormatter(value, this.#options); + } + + options(options) { + const value = this.#rangeEnd !== undefined ? [this.#number, this.#rangeEnd] : this.#number; + + return new NumberFormatter(value, options); + } + + toString() { + try { + const formatter = Intl.NumberFormat(this.locale, this.#options); + + if (this.#rangeEnd !== undefined && this.#rangeEnd !== this.#number) { + return formatter.formatRange(this.#number, this.#rangeEnd); + } + + return formatter.format(this.#number); + } catch (e) { + return 'Invalid Number'; + } + } + + static format(number, options) { + return new NumberFormatter(number, options).toString(); + } + + format(number, options) { + return this.number(number).options(options).toString(); + } + + formatRange(start, end, options) { + return this.number([start, end]).options(options ?? this.#options).toString(); + } + + static formatRange(start, end, options) { + return new NumberFormatter([start, end], options).toString(); + } + + static get defaultLocale() { + return getDefaultLocale(); + } + + static set defaultLocale(locale) { + setDefaultLocale(locale); + } + + withLocale(locale, callback) { + const previousLocale = getDefaultLocale(); + setDefaultLocale(locale); + + try { + return callback(this); + } finally { + setDefaultLocale(previousLocale); + } + } + + setDefaultLocale(locale) { + setDefaultLocale(locale); + } + + get locale() { + return getLocale(); + } + + #normalizeNumber(number) { + if (number === null || number === undefined) return 0; + + const n = Number(number); + + if (Number.isNaN(n)) throw new Error('Invalid Number'); + + return n; + } + + #normalizeOptions(options) { + if (!options) options = 'decimal'; + + if (typeof options === 'string') { + if (!this.#presets[options]) throw new Error(`Invalid number format: ${options}`); + + return this.#presets[options]; + } + + return options; + } +} diff --git a/resources/js/components/SessionExpiry.vue b/resources/js/components/SessionExpiry.vue index ac7666fd125..553487a50dd 100644 --- a/resources/js/components/SessionExpiry.vue +++ b/resources/js/components/SessionExpiry.vue @@ -1,17 +1,33 @@