Spaces:
Running
Running
Nerfies-style home, paper-style match header, prettier setup, dataset README
Browse files- Redesign home page: centered title, author + links, abstract, motivation cards, BibTeX
- Slim down match-page header to a minimal back-link + theme toggle
- Replace ternary class injections with data-attributes (score, match-info, view mode)
- Drop unused shadcn surface (accordion, alert-dialog, breadcrumb, ...) and pnpm artifacts
- Expand README with usage, schema, dev/build, viewer internals, BibTeX
- Improve <svelte:head> meta tags and robots.txt
- Add Prettier with svelte + tailwindcss plugins; format the entire codebase
This view is limited to 50 files because it contains too many changes. See raw diff
- .agents/skills/hf-cli/.hf-skill-manifest.json +0 -4
- .agents/skills/hf-cli/SKILL.md +0 -195
- .claude/skills/hf-cli +0 -1
- .claude/skills/huggingface-doc/SKILL.md +0 -6
- .dockerignore +47 -1
- .gitignore +29 -11
- .prettierignore +17 -0
- .prettierrc +13 -0
- README.md +107 -20
- bun.lock +7 -210
- package.json +10 -7
- pnpm-lock.yaml +0 -2444
- pnpm-workspace.yaml +0 -3
- serve.ts +1 -0
- src/app.html +1 -2
- src/lib/api/hf.ts +4 -8
- src/lib/api/hub.ts +1 -1
- src/lib/api/world.ts +3 -3
- src/lib/assets/favicon.svg +5 -1
- src/lib/components/grid-tile.svelte +24 -11
- src/lib/components/header.svelte +23 -53
- src/lib/components/map-preview.svelte +15 -14
- src/lib/components/match-card.svelte +0 -91
- src/lib/components/match-info.svelte +15 -7
- src/lib/components/match-table/cells/duration-cell.svelte +3 -1
- src/lib/components/match-table/cells/event-cell.svelte +1 -1
- src/lib/components/match-table/cells/map-cell.svelte +3 -2
- src/lib/components/match-table/cells/maps-list-cell.svelte +3 -2
- src/lib/components/match-table/cells/rounds-played-cell.svelte +1 -1
- src/lib/components/match-table/cells/score-cell.svelte +13 -6
- src/lib/components/match-table/cells/teams-cell.svelte +7 -7
- src/lib/components/match-table/cells/winner-side-cell.svelte +2 -2
- src/lib/components/match-table/columns.ts +11 -22
- src/lib/components/match-table/data-table-pagination.svelte +4 -4
- src/lib/components/match-table/data-table-plain-header.svelte +1 -1
- src/lib/components/match-table/data-table-sort-header.svelte +2 -2
- src/lib/components/match-table/data-table-toolbar.svelte +3 -2
- src/lib/components/match-table/match-table.svelte +5 -5
- src/lib/components/match-table/rows.ts +4 -3
- src/lib/components/perspective-grid.svelte +176 -177
- src/lib/components/player-grid.svelte +14 -9
- src/lib/components/round-list.svelte +4 -2
- src/lib/components/timeline-bar.svelte +11 -12
- src/lib/components/ui/accordion/accordion-content.svelte +0 -27
- src/lib/components/ui/accordion/accordion-item.svelte +0 -17
- src/lib/components/ui/accordion/accordion-trigger.svelte +0 -32
- src/lib/components/ui/accordion/accordion.svelte +0 -19
- src/lib/components/ui/accordion/index.ts +0 -16
- src/lib/components/ui/alert-dialog/alert-dialog-action.svelte +0 -27
- src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte +0 -27
.agents/skills/hf-cli/.hf-skill-manifest.json
DELETED
|
@@ -1,4 +0,0 @@
|
|
| 1 |
-
{
|
| 2 |
-
"installed_revision": "377a0d3f596ece474d3c5082dd4057219cc726dc",
|
| 3 |
-
"schema_version": 1
|
| 4 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.agents/skills/hf-cli/SKILL.md
DELETED
|
@@ -1,195 +0,0 @@
|
|
| 1 |
-
---
|
| 2 |
-
name: hf-cli
|
| 3 |
-
description: "Hugging Face Hub CLI (`hf`) for downloading, uploading, and managing models, datasets, spaces, buckets, repos, papers, jobs, and more on the Hugging Face Hub. Use when: handling authentication; managing local cache; managing Hugging Face Buckets; running or scheduling jobs on Hugging Face infrastructure; managing Hugging Face repos; discussions and pull requests; browsing models, datasets and spaces; reading, searching, or browsing academic papers; managing collections; querying datasets; configuring spaces; setting up webhooks; or deploying and managing HF Inference Endpoints. Make sure to use this skill whenever the user mentions 'hf', 'huggingface', 'Hugging Face', 'huggingface-cli', or 'hugging face cli', or wants to do anything related to the Hugging Face ecosystem and to AI and ML in general. Also use for cloud storage needs like training checkpoints, data pipelines, or agent traces. Use even if the user doesn't explicitly ask for a CLI command. Replaces the deprecated `huggingface-cli`."
|
| 4 |
-
---
|
| 5 |
-
|
| 6 |
-
Install: `curl -LsSf https://hf.co/cli/install.sh | bash -s`.
|
| 7 |
-
|
| 8 |
-
The Hugging Face Hub CLI tool `hf` is available. IMPORTANT: The `hf` command replaces the deprecated `huggingface-cli` command.
|
| 9 |
-
|
| 10 |
-
Use `hf --help` to view available functions. Note that auth commands are now all under `hf auth` e.g. `hf auth whoami`.
|
| 11 |
-
|
| 12 |
-
Generated with `huggingface_hub v1.12.0`. Run `hf skills add --force` to regenerate.
|
| 13 |
-
|
| 14 |
-
## Commands
|
| 15 |
-
|
| 16 |
-
- `hf download REPO_ID` — Download files from the Hub. `[--type CHOICE --revision TEXT --include TEXT --exclude TEXT --cache-dir TEXT --local-dir TEXT --force-download --dry-run --max-workers INTEGER --format CHOICE]`
|
| 17 |
-
- `hf env` — Print information about the environment.
|
| 18 |
-
- `hf sync` — Sync files between local directory and a bucket. `[--delete --ignore-times --ignore-sizes --plan TEXT --apply TEXT --dry-run --include TEXT --exclude TEXT --filter-from TEXT --existing --ignore-existing --verbose --quiet]`
|
| 19 |
-
- `hf upload REPO_ID` — Upload a file or a folder to the Hub. Recommended for single-commit uploads. `[--type CHOICE --revision TEXT --private --include TEXT --exclude TEXT --delete TEXT --commit-message TEXT --commit-description TEXT --create-pr --every FLOAT --format CHOICE]`
|
| 20 |
-
- `hf upload-large-folder REPO_ID LOCAL_PATH` — Upload a large folder to the Hub. Recommended for resumable uploads. `[--type CHOICE --revision TEXT --private --include TEXT --exclude TEXT --num-workers INTEGER --no-report --no-bars --format CHOICE]`
|
| 21 |
-
- `hf version` — Print information about the hf version.
|
| 22 |
-
|
| 23 |
-
### `hf auth` — Manage authentication (login, logout, etc.).
|
| 24 |
-
|
| 25 |
-
- `hf auth list` — List all stored access tokens.
|
| 26 |
-
- `hf auth login` — Login using a token from huggingface.co/settings/tokens. `[--add-to-git-credential --force]`
|
| 27 |
-
- `hf auth logout` — Logout from a specific token. `[--token-name TEXT]`
|
| 28 |
-
- `hf auth switch` — Switch between access tokens. `[--token-name TEXT --add-to-git-credential]`
|
| 29 |
-
- `hf auth token` — Print the current access token to stdout.
|
| 30 |
-
- `hf auth whoami` — Find out which huggingface.co account you are logged in as. `[--format CHOICE]`
|
| 31 |
-
|
| 32 |
-
### `hf buckets` — Commands to interact with buckets.
|
| 33 |
-
|
| 34 |
-
- `hf buckets cp SRC` — Copy files to or from buckets. `[--format CHOICE]`
|
| 35 |
-
- `hf buckets create BUCKET_ID` — Create a new bucket. `[--private --exist-ok --format CHOICE]`
|
| 36 |
-
- `hf buckets delete BUCKET_ID` — Delete a bucket. `[--yes --missing-ok --format CHOICE]`
|
| 37 |
-
- `hf buckets info BUCKET_ID` — Get info about a bucket. `[--format CHOICE]`
|
| 38 |
-
- `hf buckets list` — List buckets or files in a bucket. `[--human-readable --tree --recursive --search TEXT --format CHOICE]`
|
| 39 |
-
- `hf buckets move FROM_ID TO_ID` — Move (rename) a bucket to a new name or namespace. `[--format CHOICE]`
|
| 40 |
-
- `hf buckets remove ARGUMENT` — Remove files from a bucket. `[--recursive --yes --dry-run --include TEXT --exclude TEXT --format CHOICE]`
|
| 41 |
-
- `hf buckets sync` — Sync files between local directory and a bucket. `[--delete --ignore-times --ignore-sizes --plan TEXT --apply TEXT --dry-run --include TEXT --exclude TEXT --filter-from TEXT --existing --ignore-existing --verbose --quiet]`
|
| 42 |
-
|
| 43 |
-
### `hf cache` — Manage local cache directory.
|
| 44 |
-
|
| 45 |
-
- `hf cache list` — List cached repositories or revisions. `[--cache-dir TEXT --revisions --filter TEXT --format CHOICE --sort CHOICE --limit INTEGER]`
|
| 46 |
-
- `hf cache prune` — Remove detached revisions from the cache. `[--cache-dir TEXT --yes --dry-run --format CHOICE]`
|
| 47 |
-
- `hf cache rm TARGETS` — Remove cached repositories or revisions. `[--cache-dir TEXT --yes --dry-run --format CHOICE]`
|
| 48 |
-
- `hf cache verify REPO_ID` — Verify checksums for a single repo revision from cache or a local directory. `[--type CHOICE --revision TEXT --cache-dir TEXT --local-dir TEXT --fail-on-missing-files --fail-on-extra-files --format CHOICE]`
|
| 49 |
-
|
| 50 |
-
### `hf collections` — Interact with collections on the Hub.
|
| 51 |
-
|
| 52 |
-
- `hf collections add-item COLLECTION_SLUG ITEM_ID ITEM_TYPE` — Add an item to a collection. `[--note TEXT --exists-ok --format CHOICE]`
|
| 53 |
-
- `hf collections create TITLE` — Create a new collection on the Hub. `[--namespace TEXT --description TEXT --private --exists-ok --format CHOICE]`
|
| 54 |
-
- `hf collections delete COLLECTION_SLUG` — Delete a collection from the Hub. `[--missing-ok --format CHOICE]`
|
| 55 |
-
- `hf collections delete-item COLLECTION_SLUG ITEM_OBJECT_ID` — Delete an item from a collection. `[--missing-ok --format CHOICE]`
|
| 56 |
-
- `hf collections info COLLECTION_SLUG` — Get info about a collection on the Hub. `[--format CHOICE]`
|
| 57 |
-
- `hf collections list` — List collections on the Hub. `[--owner TEXT --item TEXT --sort CHOICE --limit INTEGER --format CHOICE]`
|
| 58 |
-
- `hf collections update COLLECTION_SLUG` — Update a collection's metadata on the Hub. `[--title TEXT --description TEXT --position INTEGER --private --theme TEXT --format CHOICE]`
|
| 59 |
-
- `hf collections update-item COLLECTION_SLUG ITEM_OBJECT_ID` — Update an item in a collection. `[--note TEXT --position INTEGER --format CHOICE]`
|
| 60 |
-
|
| 61 |
-
### `hf datasets` — Interact with datasets on the Hub.
|
| 62 |
-
|
| 63 |
-
- `hf datasets info DATASET_ID` — Get info about a dataset on the Hub. `[--revision TEXT --expand TEXT --format CHOICE]`
|
| 64 |
-
- `hf datasets list` — List datasets on the Hub. `[--search TEXT --author TEXT --filter TEXT --sort CHOICE --limit INTEGER --expand TEXT --format CHOICE]`
|
| 65 |
-
- `hf datasets parquet DATASET_ID` — List parquet file URLs available for a dataset. `[--subset TEXT --split TEXT --format CHOICE]`
|
| 66 |
-
- `hf datasets sql SQL` — Execute a raw SQL query with DuckDB against dataset parquet URLs. `[--format CHOICE]`
|
| 67 |
-
|
| 68 |
-
### `hf discussions` — Manage discussions and pull requests on the Hub.
|
| 69 |
-
|
| 70 |
-
- `hf discussions close REPO_ID NUM` — Close a discussion or pull request. `[--comment TEXT --yes --type CHOICE --format CHOICE]`
|
| 71 |
-
- `hf discussions comment REPO_ID NUM` — Comment on a discussion or pull request. `[--body TEXT --body-file PATH --type CHOICE --format CHOICE]`
|
| 72 |
-
- `hf discussions create REPO_ID --title TEXT` — Create a new discussion or pull request on a repo. `[--body TEXT --body-file PATH --pull-request --type CHOICE --format CHOICE]`
|
| 73 |
-
- `hf discussions diff REPO_ID NUM` — Show the diff of a pull request. `[--type CHOICE --format CHOICE]`
|
| 74 |
-
- `hf discussions info REPO_ID NUM` — Get info about a discussion or pull request. `[--type CHOICE --format CHOICE]`
|
| 75 |
-
- `hf discussions list REPO_ID` — List discussions and pull requests on a repo. `[--status CHOICE --kind CHOICE --author TEXT --limit INTEGER --type CHOICE --format CHOICE]`
|
| 76 |
-
- `hf discussions merge REPO_ID NUM` — Merge a pull request. `[--comment TEXT --yes --type CHOICE --format CHOICE]`
|
| 77 |
-
- `hf discussions rename REPO_ID NUM NEW_TITLE` — Rename a discussion or pull request. `[--type CHOICE --format CHOICE]`
|
| 78 |
-
- `hf discussions reopen REPO_ID NUM` — Reopen a closed discussion or pull request. `[--comment TEXT --yes --type CHOICE --format CHOICE]`
|
| 79 |
-
|
| 80 |
-
### `hf endpoints` — Manage Hugging Face Inference Endpoints.
|
| 81 |
-
|
| 82 |
-
- `hf endpoints catalog deploy --repo TEXT` — Deploy an Inference Endpoint from the Model Catalog. `[--name TEXT --accelerator TEXT --namespace TEXT --format CHOICE]`
|
| 83 |
-
- `hf endpoints catalog list` — List available Catalog models. `[--format CHOICE]`
|
| 84 |
-
- `hf endpoints delete NAME` — Delete an Inference Endpoint permanently. `[--namespace TEXT --yes --format CHOICE]`
|
| 85 |
-
- `hf endpoints deploy NAME --repo TEXT --framework TEXT --accelerator TEXT --instance-size TEXT --instance-type TEXT --region TEXT --vendor TEXT` — Deploy an Inference Endpoint from a Hub repository. `[--namespace TEXT --task TEXT --format CHOICE --min-replica INTEGER --max-replica INTEGER --scale-to-zero-timeout INTEGER --scaling-metric CHOICE --scaling-threshold FLOAT]`
|
| 86 |
-
- `hf endpoints describe NAME` — Get information about an existing endpoint. `[--namespace TEXT --format CHOICE]`
|
| 87 |
-
- `hf endpoints list` — Lists all Inference Endpoints for the given namespace. `[--namespace TEXT --format CHOICE]`
|
| 88 |
-
- `hf endpoints pause NAME` — Pause an Inference Endpoint. `[--namespace TEXT --format CHOICE]`
|
| 89 |
-
- `hf endpoints resume NAME` — Resume an Inference Endpoint. `[--namespace TEXT --fail-if-already-running --format CHOICE]`
|
| 90 |
-
- `hf endpoints scale-to-zero NAME` — Scale an Inference Endpoint to zero. `[--namespace TEXT --format CHOICE]`
|
| 91 |
-
- `hf endpoints update NAME` — Update an existing endpoint. `[--namespace TEXT --repo TEXT --accelerator TEXT --instance-size TEXT --instance-type TEXT --framework TEXT --revision TEXT --task TEXT --min-replica INTEGER --max-replica INTEGER --scale-to-zero-timeout INTEGER --scaling-metric CHOICE --scaling-threshold FLOAT --format CHOICE]`
|
| 92 |
-
|
| 93 |
-
### `hf extensions` — Manage hf CLI extensions.
|
| 94 |
-
|
| 95 |
-
- `hf extensions exec NAME` — Execute an installed extension.
|
| 96 |
-
- `hf extensions install REPO_ID` — Install an extension from a public GitHub repository. `[--force]`
|
| 97 |
-
- `hf extensions list` — List installed extension commands. `[--format CHOICE]`
|
| 98 |
-
- `hf extensions remove NAME` — Remove an installed extension.
|
| 99 |
-
- `hf extensions search` — Search extensions available on GitHub (tagged with 'hf-extension' topic). `[--format CHOICE]`
|
| 100 |
-
|
| 101 |
-
### `hf jobs` — Run and manage Jobs on the Hub.
|
| 102 |
-
|
| 103 |
-
- `hf jobs cancel JOB_ID` — Cancel a Job `[--namespace TEXT]`
|
| 104 |
-
- `hf jobs hardware` — List available hardware options for Jobs
|
| 105 |
-
- `hf jobs inspect JOB_IDS` — Display detailed information on one or more Jobs `[--namespace TEXT]`
|
| 106 |
-
- `hf jobs logs JOB_ID` — Fetch the logs of a Job. `[--follow --tail INTEGER --namespace TEXT]`
|
| 107 |
-
- `hf jobs ps` — List Jobs. `[--all --namespace TEXT --filter TEXT --format TEXT --quiet]`
|
| 108 |
-
- `hf jobs run IMAGE COMMAND` — Run a Job. `[--env TEXT --secrets TEXT --label TEXT --volume TEXT --env-file TEXT --secrets-file TEXT --flavor CHOICE --timeout TEXT --detach --namespace TEXT]`
|
| 109 |
-
- `hf jobs scheduled delete SCHEDULED_JOB_ID` — Delete a scheduled Job. `[--namespace TEXT]`
|
| 110 |
-
- `hf jobs scheduled inspect SCHEDULED_JOB_IDS` — Display detailed information on one or more scheduled Jobs `[--namespace TEXT]`
|
| 111 |
-
- `hf jobs scheduled ps` — List scheduled Jobs `[--all --namespace TEXT --filter TEXT --format TEXT --quiet]`
|
| 112 |
-
- `hf jobs scheduled resume SCHEDULED_JOB_ID` — Resume (unpause) a scheduled Job. `[--namespace TEXT]`
|
| 113 |
-
- `hf jobs scheduled run SCHEDULE IMAGE COMMAND` — Schedule a Job. `[--suspend --concurrency --env TEXT --secrets TEXT --label TEXT --volume TEXT --env-file TEXT --secrets-file TEXT --flavor CHOICE --timeout TEXT --namespace TEXT]`
|
| 114 |
-
- `hf jobs scheduled suspend SCHEDULED_JOB_ID` — Suspend (pause) a scheduled Job. `[--namespace TEXT]`
|
| 115 |
-
- `hf jobs scheduled uv run SCHEDULE SCRIPT` — Run a UV script (local file or URL) on HF infrastructure `[--suspend --concurrency --image TEXT --flavor CHOICE --env TEXT --secrets TEXT --label TEXT --volume TEXT --env-file TEXT --secrets-file TEXT --timeout TEXT --namespace TEXT --with TEXT --python TEXT]`
|
| 116 |
-
- `hf jobs stats` — Fetch the resource usage statistics and metrics of Jobs `[--namespace TEXT]`
|
| 117 |
-
- `hf jobs uv run SCRIPT` — Run a UV script (local file or URL) on HF infrastructure `[--image TEXT --flavor CHOICE --env TEXT --secrets TEXT --label TEXT --volume TEXT --env-file TEXT --secrets-file TEXT --timeout TEXT --detach --namespace TEXT --with TEXT --python TEXT]`
|
| 118 |
-
|
| 119 |
-
### `hf models` — Interact with models on the Hub.
|
| 120 |
-
|
| 121 |
-
- `hf models info MODEL_ID` — Get info about a model on the Hub. `[--revision TEXT --expand TEXT --format CHOICE]`
|
| 122 |
-
- `hf models list` — List models on the Hub. `[--search TEXT --author TEXT --filter TEXT --num-parameters TEXT --sort CHOICE --limit INTEGER --expand TEXT --format CHOICE]`
|
| 123 |
-
|
| 124 |
-
### `hf papers` — Interact with papers on the Hub.
|
| 125 |
-
|
| 126 |
-
- `hf papers info PAPER_ID` — Get info about a paper on the Hub. `[--format CHOICE]`
|
| 127 |
-
- `hf papers list` — List daily papers on the Hub. `[--date TEXT --week TEXT --month TEXT --submitter TEXT --sort CHOICE --limit INTEGER --format CHOICE]`
|
| 128 |
-
- `hf papers read PAPER_ID` — Read a paper as markdown.
|
| 129 |
-
- `hf papers search QUERY` — Search papers on the Hub. `[--limit INTEGER --format CHOICE]`
|
| 130 |
-
|
| 131 |
-
### `hf repos` — Manage repos on the Hub.
|
| 132 |
-
|
| 133 |
-
- `hf repos branch create REPO_ID BRANCH` — Create a new branch for a repo on the Hub. `[--revision TEXT --type CHOICE --exist-ok --format CHOICE]`
|
| 134 |
-
- `hf repos branch delete REPO_ID BRANCH` — Delete a branch from a repo on the Hub. `[--type CHOICE --format CHOICE]`
|
| 135 |
-
- `hf repos create REPO_ID` — Create a new repo on the Hub. `[--type CHOICE --space-sdk TEXT --private --public --protected --exist-ok --resource-group-id TEXT --flavor CHOICE --storage CHOICE --sleep-time INTEGER --secrets TEXT --secrets-file TEXT --env TEXT --env-file TEXT --volume TEXT --format CHOICE]`
|
| 136 |
-
- `hf repos delete REPO_ID` — Delete a repo from the Hub. This is an irreversible operation. `[--type CHOICE --missing-ok --yes --format CHOICE]`
|
| 137 |
-
- `hf repos delete-files REPO_ID PATTERNS` — Delete files from a repo on the Hub. `[--type CHOICE --revision TEXT --commit-message TEXT --commit-description TEXT --create-pr --format CHOICE]`
|
| 138 |
-
- `hf repos duplicate FROM_ID` — Duplicate a repo on the Hub (model, dataset, or Space). `[--type CHOICE --private --public --protected --exist-ok --flavor CHOICE --storage CHOICE --sleep-time INTEGER --secrets TEXT --secrets-file TEXT --env TEXT --env-file TEXT --volume TEXT --format CHOICE]`
|
| 139 |
-
- `hf repos move FROM_ID TO_ID` — Move a repository from a namespace to another namespace. `[--type CHOICE --format CHOICE]`
|
| 140 |
-
- `hf repos settings REPO_ID` — Update the settings of a repository. `[--gated CHOICE --private --public --protected --type CHOICE --format CHOICE]`
|
| 141 |
-
- `hf repos tag create REPO_ID TAG` — Create a tag for a repo. `[--message TEXT --revision TEXT --type CHOICE --format CHOICE]`
|
| 142 |
-
- `hf repos tag delete REPO_ID TAG` — Delete a tag for a repo. `[--yes --type CHOICE --format CHOICE]`
|
| 143 |
-
- `hf repos tag list REPO_ID` — List tags for a repo. `[--type CHOICE --format CHOICE]`
|
| 144 |
-
|
| 145 |
-
### `hf skills` — Manage skills for AI assistants.
|
| 146 |
-
|
| 147 |
-
- `hf skills add` — Download a Hugging Face skill and install it for an AI assistant. `[--claude --global --dest PATH --force]`
|
| 148 |
-
- `hf skills preview` — Print the generated `hf-cli` SKILL.md to stdout.
|
| 149 |
-
- `hf skills upgrade` — Upgrade installed Hugging Face marketplace skills. `[--claude --global --dest PATH]`
|
| 150 |
-
|
| 151 |
-
### `hf spaces` — Interact with spaces on the Hub.
|
| 152 |
-
|
| 153 |
-
- `hf spaces dev-mode SPACE_ID` — Enable or disable dev mode on a Space. `[--stop]`
|
| 154 |
-
- `hf spaces hot-reload SPACE_ID` — Hot-reload any Python file of a Space without a full rebuild + restart. `[--local-file PATH --skip-checks --skip-summary]`
|
| 155 |
-
- `hf spaces info SPACE_ID` — Get info about a space on the Hub. `[--revision TEXT --expand TEXT --format CHOICE]`
|
| 156 |
-
- `hf spaces list` — List spaces on the Hub. `[--search TEXT --author TEXT --filter TEXT --sort CHOICE --limit INTEGER --expand TEXT --format CHOICE]`
|
| 157 |
-
- `hf spaces logs SPACE_ID` — Fetch the run or build logs of a Space. `[--build --follow --tail INTEGER]`
|
| 158 |
-
- `hf spaces search QUERY` — Search spaces on the Hub using semantic search. `[--filter TEXT --sdk TEXT --include-non-running --description --limit INTEGER --format CHOICE]`
|
| 159 |
-
- `hf spaces volumes delete SPACE_ID` — Remove all volumes from a Space. `[--yes --format CHOICE]`
|
| 160 |
-
- `hf spaces volumes list SPACE_ID` — List volumes mounted in a Space. `[--format CHOICE]`
|
| 161 |
-
- `hf spaces volumes set SPACE_ID` — Set (replace) volumes for a Space. `[--volume TEXT --format CHOICE]`
|
| 162 |
-
|
| 163 |
-
### `hf webhooks` — Manage webhooks on the Hub.
|
| 164 |
-
|
| 165 |
-
- `hf webhooks create --watch TEXT` — Create a new webhook. `[--url TEXT --job-id TEXT --domain CHOICE --secret TEXT --format CHOICE]`
|
| 166 |
-
- `hf webhooks delete WEBHOOK_ID` — Delete a webhook permanently. `[--yes --format CHOICE]`
|
| 167 |
-
- `hf webhooks disable WEBHOOK_ID` — Disable an active webhook. `[--format CHOICE]`
|
| 168 |
-
- `hf webhooks enable WEBHOOK_ID` — Enable a disabled webhook. `[--format CHOICE]`
|
| 169 |
-
- `hf webhooks info WEBHOOK_ID` — Show full details for a single webhook. `[--format CHOICE]`
|
| 170 |
-
- `hf webhooks list` — List all webhooks for the current user. `[--format CHOICE]`
|
| 171 |
-
- `hf webhooks update WEBHOOK_ID` — Update an existing webhook. Only provided options are changed. `[--url TEXT --watch TEXT --domain CHOICE --secret TEXT --format CHOICE]`
|
| 172 |
-
|
| 173 |
-
## Common options
|
| 174 |
-
|
| 175 |
-
- `--format` — Output format: `--format json` (or `--json`) or `--format table` (default).
|
| 176 |
-
- `-q / --quiet` — Minimal output.
|
| 177 |
-
- `--revision` — Git revision id which can be a branch name, a tag, or a commit hash.
|
| 178 |
-
- `--token` — Use a User Access Token. Prefer setting `HF_TOKEN` env var instead of passing `--token`.
|
| 179 |
-
- `--type` — The type of repository (model, dataset, or space).
|
| 180 |
-
|
| 181 |
-
## Mounting repos as local filesystems
|
| 182 |
-
|
| 183 |
-
To mount Hub repositories or buckets as local filesystems — no download, no copy, no waiting — use `hf-mount`. Files are fetched on demand. GitHub: https://github.com/huggingface/hf-mount
|
| 184 |
-
|
| 185 |
-
Install: `curl -fsSL https://raw.githubusercontent.com/huggingface/hf-mount/main/install.sh | sh`
|
| 186 |
-
|
| 187 |
-
Some command examples:
|
| 188 |
-
- `hf-mount start repo openai-community/gpt2 /tmp/gpt2` — mount a repo (read-only)
|
| 189 |
-
- `hf-mount start --hf-token $HF_TOKEN bucket myuser/my-bucket /tmp/data` — mount a bucket (read-write)
|
| 190 |
-
- `hf-mount status` / `hf-mount stop /tmp/data` — list or unmount
|
| 191 |
-
|
| 192 |
-
## Tips
|
| 193 |
-
|
| 194 |
-
- Use `hf <command> --help` for full options, descriptions, usage, and real-world examples
|
| 195 |
-
- Authenticate with `HF_TOKEN` env var (recommended) or with `--token`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.claude/skills/hf-cli
DELETED
|
@@ -1 +0,0 @@
|
|
| 1 |
-
../../.agents/skills/hf-cli
|
|
|
|
|
|
.claude/skills/huggingface-doc/SKILL.md
DELETED
|
@@ -1,6 +0,0 @@
|
|
| 1 |
-
---
|
| 2 |
-
name: Hugging Face Doc
|
| 3 |
-
description: Use Hugging Face Docs API to efficiently search for huggingface related information
|
| 4 |
-
---
|
| 5 |
-
|
| 6 |
-
Use api https://huggingface.co/api/docs/search?q={query} to find huggingface related information
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.dockerignore
CHANGED
|
@@ -1,14 +1,60 @@
|
|
|
|
|
| 1 |
node_modules
|
|
|
|
|
|
|
| 2 |
.svelte-kit
|
| 3 |
dist
|
| 4 |
build
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
.git
|
| 6 |
.gitignore
|
|
|
|
|
|
|
|
|
|
| 7 |
.dockerignore
|
| 8 |
Dockerfile
|
| 9 |
-
|
|
|
|
|
|
|
| 10 |
.agents
|
| 11 |
.claude
|
|
|
|
| 12 |
.vscode
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
.DS_Store
|
|
|
|
| 14 |
*.log
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Build output and caches
|
| 2 |
node_modules
|
| 3 |
+
.bun
|
| 4 |
+
.bun-cache
|
| 5 |
.svelte-kit
|
| 6 |
dist
|
| 7 |
build
|
| 8 |
+
.output
|
| 9 |
+
.vercel
|
| 10 |
+
.netlify
|
| 11 |
+
.wrangler
|
| 12 |
+
coverage
|
| 13 |
+
*.tsbuildinfo
|
| 14 |
+
vite.config.js.timestamp-*
|
| 15 |
+
vite.config.ts.timestamp-*
|
| 16 |
+
|
| 17 |
+
# VCS and git tooling
|
| 18 |
.git
|
| 19 |
.gitignore
|
| 20 |
+
.gitattributes
|
| 21 |
+
|
| 22 |
+
# Docker tooling (not needed inside the image)
|
| 23 |
.dockerignore
|
| 24 |
Dockerfile
|
| 25 |
+
docker-compose*.yml
|
| 26 |
+
|
| 27 |
+
# Tooling and editor configs
|
| 28 |
.agents
|
| 29 |
.claude
|
| 30 |
+
.cursor
|
| 31 |
.vscode
|
| 32 |
+
.idea
|
| 33 |
+
.zed
|
| 34 |
+
.husky
|
| 35 |
+
.github
|
| 36 |
+
.npmrc
|
| 37 |
+
.editorconfig
|
| 38 |
+
|
| 39 |
+
# OS / temp
|
| 40 |
.DS_Store
|
| 41 |
+
Thumbs.db
|
| 42 |
*.log
|
| 43 |
+
*.tmp
|
| 44 |
+
*.swp
|
| 45 |
+
|
| 46 |
+
# Env files (handled at runtime, not baked in)
|
| 47 |
+
.env
|
| 48 |
+
.env.*
|
| 49 |
+
!.env.example
|
| 50 |
+
|
| 51 |
+
# Lockfiles for other package managers
|
| 52 |
+
package-lock.json
|
| 53 |
+
pnpm-lock.yaml
|
| 54 |
+
yarn.lock
|
| 55 |
+
pnpm-workspace.yaml
|
| 56 |
+
|
| 57 |
+
# Repo docs not needed in the runtime image
|
| 58 |
+
README.md
|
| 59 |
+
TODO.md
|
| 60 |
+
docs
|
.gitignore
CHANGED
|
@@ -1,25 +1,43 @@
|
|
|
|
|
| 1 |
node_modules
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
-
#
|
|
|
|
|
|
|
|
|
|
| 4 |
.output
|
| 5 |
.vercel
|
| 6 |
.netlify
|
| 7 |
.wrangler
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
|
|
|
| 11 |
|
| 12 |
-
#
|
| 13 |
-
.
|
| 14 |
-
|
|
|
|
| 15 |
|
| 16 |
-
#
|
| 17 |
.env
|
| 18 |
.env.*
|
| 19 |
!.env.example
|
| 20 |
!.env.test
|
| 21 |
|
| 22 |
-
#
|
| 23 |
-
|
| 24 |
-
vite.config.ts.timestamp-*
|
| 25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Dependencies
|
| 2 |
node_modules
|
| 3 |
+
.bun
|
| 4 |
+
.bun-cache
|
| 5 |
+
.npm
|
| 6 |
+
.pnpm-store
|
| 7 |
|
| 8 |
+
# Build output
|
| 9 |
+
/.svelte-kit
|
| 10 |
+
/build
|
| 11 |
+
/dist
|
| 12 |
.output
|
| 13 |
.vercel
|
| 14 |
.netlify
|
| 15 |
.wrangler
|
| 16 |
+
coverage
|
| 17 |
+
*.tsbuildinfo
|
| 18 |
+
vite.config.js.timestamp-*
|
| 19 |
+
vite.config.ts.timestamp-*
|
| 20 |
|
| 21 |
+
# Lockfiles for package managers we don't use
|
| 22 |
+
package-lock.json
|
| 23 |
+
pnpm-lock.yaml
|
| 24 |
+
yarn.lock
|
| 25 |
|
| 26 |
+
# Environment
|
| 27 |
.env
|
| 28 |
.env.*
|
| 29 |
!.env.example
|
| 30 |
!.env.test
|
| 31 |
|
| 32 |
+
# Logs
|
| 33 |
+
*.log
|
|
|
|
| 34 |
|
| 35 |
+
# Editor / OS
|
| 36 |
+
.DS_Store
|
| 37 |
+
Thumbs.db
|
| 38 |
+
.idea
|
| 39 |
+
.vscode
|
| 40 |
+
.zed
|
| 41 |
+
.cursor
|
| 42 |
+
*.swp
|
| 43 |
+
*.tmp
|
.prettierignore
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
node_modules
|
| 2 |
+
.bun
|
| 3 |
+
.bun-cache
|
| 4 |
+
.svelte-kit
|
| 5 |
+
dist
|
| 6 |
+
build
|
| 7 |
+
.output
|
| 8 |
+
.vercel
|
| 9 |
+
.netlify
|
| 10 |
+
coverage
|
| 11 |
+
bun.lock
|
| 12 |
+
package-lock.json
|
| 13 |
+
pnpm-lock.yaml
|
| 14 |
+
yarn.lock
|
| 15 |
+
*.min.js
|
| 16 |
+
*.min.css
|
| 17 |
+
static/
|
.prettierrc
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"useTabs": true,
|
| 3 |
+
"singleQuote": true,
|
| 4 |
+
"trailingComma": "none",
|
| 5 |
+
"printWidth": 100,
|
| 6 |
+
"plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
|
| 7 |
+
"overrides": [
|
| 8 |
+
{
|
| 9 |
+
"files": "*.svelte",
|
| 10 |
+
"options": { "parser": "svelte" }
|
| 11 |
+
}
|
| 12 |
+
]
|
| 13 |
+
}
|
README.md
CHANGED
|
@@ -1,40 +1,127 @@
|
|
| 1 |
---
|
| 2 |
-
title: Counter Strike 2 Dataset
|
| 3 |
-
emoji:
|
| 4 |
-
colorFrom:
|
| 5 |
colorTo: gray
|
| 6 |
sdk: docker
|
| 7 |
app_port: 7860
|
| 8 |
pinned: false
|
| 9 |
license: mit
|
| 10 |
-
short_description:
|
| 11 |
---
|
| 12 |
|
| 13 |
-
#
|
| 14 |
|
| 15 |
-
|
| 16 |
-
videos, sourced from the [`blanchon/cs2_dataset_render`](https://huggingface.co/datasets/blanchon/cs2_dataset_render)
|
| 17 |
-
Hugging Face dataset.
|
| 18 |
|
| 19 |
-
|
| 20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
|
| 22 |
## Develop
|
| 23 |
|
| 24 |
```sh
|
| 25 |
-
|
| 26 |
-
|
|
|
|
|
|
|
|
|
|
| 27 |
```
|
| 28 |
|
| 29 |
-
|
| 30 |
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
```
|
| 35 |
|
| 36 |
-
|
| 37 |
-
runs the same Vite build. Output is `dist/index.html` plus an `_app` chunk
|
| 38 |
-
directory and the `static/maps/` radar assets.
|
| 39 |
|
| 40 |
-
|
|
|
|
| 1 |
---
|
| 2 |
+
title: Counter Strike 2 Dataset - Viewer
|
| 3 |
+
emoji: 🎯
|
| 4 |
+
colorFrom: yellow
|
| 5 |
colorTo: gray
|
| 6 |
sdk: docker
|
| 7 |
app_port: 7860
|
| 8 |
pinned: false
|
| 9 |
license: mit
|
| 10 |
+
short_description: Browse the CS2 dataset by match, map, round, and POV.
|
| 11 |
---
|
| 12 |
|
| 13 |
+
# Counter Strike 2 Dataset - Viewer
|
| 14 |
|
| 15 |
+
Browser for [`blanchon/cs2_dataset_render`](https://huggingface.co/datasets/blanchon/cs2_dataset_render), a rendered Counter Strike 2 dataset built from professional HLTV demos. The viewer lists every match, map, and round in the dataset and plays the 10 synchronized player POVs back-to-back on a single timeline — without downloading the full archive.
|
|
|
|
|
|
|
| 16 |
|
| 17 |
+
It's a pure-frontend SvelteKit app: parquet indexes are read in the browser via [`hyparquet`](https://github.com/hyparquet/hyparquet), preview MP4s stream from Hugging Face, and 10 chunked players stay in sync through a custom [`mediabunny`](https://mediabunny.dev/) pipeline.
|
| 18 |
+
|
| 19 |
+
## Links
|
| 20 |
+
|
| 21 |
+
- **Dataset:** <https://huggingface.co/datasets/blanchon/cs2_dataset_render>
|
| 22 |
+
- **Live viewer (HF Space):** <https://huggingface.co/spaces/blanchon/counter-strike-2-dataset-viewer>
|
| 23 |
+
- **Source dataset (raw demos):** <https://huggingface.co/datasets/blanchon/cs2_dataset_demo>
|
| 24 |
+
- **GitHub:** <https://github.com/julien-blanchon/counter-strike-2-dataset>
|
| 25 |
+
- **Author:** [Julien Blanchon](https://guybrush.ink/) — [@JulienBlanchon](https://x.com/JulienBlanchon)
|
| 26 |
+
|
| 27 |
+
## Motivation
|
| 28 |
+
|
| 29 |
+
Counter Strike 2 is an interesting environment for sequential decision-making: long horizons, partial observability, dense visual signal, spatialized audio, 5 vs 5 multi-agent dynamics, and a competitive equilibrium that is genuinely hard. Pro HLTV demos give us tens of thousands of hours of expert play, but until now they've lived in a binary `.dem` format that is not directly trainable.
|
| 30 |
+
|
| 31 |
+
This dataset turns those demos into rendered, frame-accurate, fully-annotated training data. A few of the things it makes tractable:
|
| 32 |
+
|
| 33 |
+
- **Behaviour cloning / VLA policies.** `(frame, audio) → action` for vision-conditioned action models.
|
| 34 |
+
- **Inverse Dynamics Models (IDM).** `(frame_t, frame_{t+k}) → action` to recover actions from unlabelled video — the workhorse for VPT-style pre-training.
|
| 35 |
+
- **Forward dynamics / world models.** `(frame, action) → frame_{t+1}` with all 10 player POVs of the same world state available as supervision.
|
| 36 |
+
- **Spatial-audio conditioning.** Audio is recorded per-player with HRTF positional cues, so models can learn to localize footsteps, gunfire, and callouts.
|
| 37 |
+
- **Multi-agent training.** All 10 perspectives of the same round are kept aligned tick-for-tick — useful for collaborative policies, opponent modelling, and multi-player world models.
|
| 38 |
+
|
| 39 |
+
## Dataset
|
| 40 |
+
|
| 41 |
+
`blanchon/cs2_dataset_render`, derived from `blanchon/cs2_dataset_demo`. Licensed under `CC-BY-4.0`.
|
| 42 |
+
|
| 43 |
+
Each row is a one-minute-or-shorter chunk of a single player's POV. Four configs are exposed:
|
| 44 |
+
|
| 45 |
+
| Config | Row | Use |
|
| 46 |
+
| -------------------- | ------------------------------------------------------------------------------------- | ------------------------------------- |
|
| 47 |
+
| `previews` (default) | One low-res `preview.mp4` per chunk + 1 Hz inputs/world sidecars | Cheap browsing, viewer, sanity checks |
|
| 48 |
+
| `chunks` | Path-only references to `video.mp4` + `audio.wav`, with embedded inputs/world streams | Full-resolution training |
|
| 49 |
+
| `matches` | One row per `(match_id, map_name)` with team/event/date metadata | Index / filtering |
|
| 50 |
+
| `rounds` | One row per `(match_id, map_name, round)` with tick boundaries | Index / filtering |
|
| 51 |
+
|
| 52 |
+
### Filesystem layout
|
| 53 |
+
|
| 54 |
+
```text
|
| 55 |
+
index/
|
| 56 |
+
manifest-<machine>-<uuid>.parquet # matches index
|
| 57 |
+
rounds-<machine>-<uuid>.parquet # rounds index
|
| 58 |
+
data/
|
| 59 |
+
match_id=<id>/map_name=<map>/player=<0-9>/
|
| 60 |
+
chunks-preview-<machine>-<uuid>.parquet
|
| 61 |
+
chunks-full-<machine>-<uuid>.parquet
|
| 62 |
+
chunks/chunk_<n>/{video.mp4,audio.wav}
|
| 63 |
+
previews/chunk_<n>/{preview.mp4,inputs.preview.json,world.preview.jsonl}
|
| 64 |
+
```
|
| 65 |
+
|
| 66 |
+
Hive-style `key=value` partitioning lets you prune at the path level. Recording starts at `freeze_end_tick` and stops at the player's death tick (or round end for survivors), so player streams have different durations within the same round.
|
| 67 |
+
|
| 68 |
+
### Quick query
|
| 69 |
+
|
| 70 |
+
```python
|
| 71 |
+
from datasets import load_dataset
|
| 72 |
+
|
| 73 |
+
# Default lightweight preview rows
|
| 74 |
+
previews = load_dataset("blanchon/cs2_dataset_render", split="train", streaming=True)
|
| 75 |
+
|
| 76 |
+
# Full training rows, columnar load
|
| 77 |
+
chunks = load_dataset(
|
| 78 |
+
"blanchon/cs2_dataset_render", "chunks",
|
| 79 |
+
split="train", streaming=True,
|
| 80 |
+
columns=["video", "audio", "inputs", "worlds", "match_id", "round", "player"],
|
| 81 |
+
filters=[("player", "==", 0)],
|
| 82 |
+
)
|
| 83 |
+
```
|
| 84 |
+
|
| 85 |
+
```sql
|
| 86 |
+
-- Match index via DuckDB
|
| 87 |
+
SELECT match_id, map_name, team1, team2, event, match_date
|
| 88 |
+
FROM 'hf://datasets/blanchon/cs2_dataset_render/index/manifest-*.parquet'
|
| 89 |
+
LIMIT 20;
|
| 90 |
+
```
|
| 91 |
|
| 92 |
## Develop
|
| 93 |
|
| 94 |
```sh
|
| 95 |
+
bun install
|
| 96 |
+
bun run dev # vite dev server
|
| 97 |
+
bun run build # static build → dist/
|
| 98 |
+
bun run preview # serve the build
|
| 99 |
+
bun run check # svelte-check
|
| 100 |
```
|
| 101 |
|
| 102 |
+
The repo ships a `Dockerfile` and `serve.ts` that mirror the Hugging Face Space deployment.
|
| 103 |
|
| 104 |
+
## Viewer internals
|
| 105 |
+
|
| 106 |
+
- **`hyparquet` + `hyparquet-compressors`** read the match and round parquet shards directly from `hf://` URLs. No server, no DuckDB, no WASM bundle larger than necessary.
|
| 107 |
+
- **`mediabunny`** powers the 10 chunked POV players. One round's worth of `preview.mp4` chunks per player is concatenated into a single virtual timeline; players who died early have shorter timelines and gracefully fall out.
|
| 108 |
+
- **`world.preview.jsonl`** drives the minimap (player positions, team, alive/dead, weapon) and the per-tick state overlay.
|
| 109 |
+
- **`inputs.preview.json`** drives the input-overlay HUD (movement keys, mouse, fire/jump).
|
| 110 |
+
|
| 111 |
+
The whole viewer is a static SvelteKit build — there is no backend.
|
| 112 |
+
|
| 113 |
+
## Citation
|
| 114 |
+
|
| 115 |
+
```bibtex
|
| 116 |
+
@misc{blanchon2026cs2dataset,
|
| 117 |
+
author = {Julien Blanchon},
|
| 118 |
+
title = {Counter Strike 2 Dataset},
|
| 119 |
+
year = {2026},
|
| 120 |
+
publisher = {Hugging Face},
|
| 121 |
+
howpublished = {\url{https://github.com/julien-blanchon/counter-strike-2-dataset}},
|
| 122 |
+
}
|
| 123 |
```
|
| 124 |
|
| 125 |
+
## License
|
|
|
|
|
|
|
| 126 |
|
| 127 |
+
Code: MIT. Dataset: CC-BY-4.0.
|
bun.lock
CHANGED
|
@@ -12,7 +12,6 @@
|
|
| 12 |
"devDependencies": {
|
| 13 |
"@fontsource-variable/oxanium": "^5.2.8",
|
| 14 |
"@fontsource-variable/roboto-slab": "^5.2.8",
|
| 15 |
-
"@internationalized/date": "^3.12.1",
|
| 16 |
"@sveltejs/adapter-static": "latest",
|
| 17 |
"@sveltejs/kit": "latest",
|
| 18 |
"@sveltejs/vite-plugin-svelte": "^7.0.0",
|
|
@@ -20,45 +19,31 @@
|
|
| 20 |
"@tanstack/table-core": "^8.21.3",
|
| 21 |
"bits-ui": "^2.18.0",
|
| 22 |
"clsx": "^2.1.1",
|
| 23 |
-
"formsnap": "^2.0.1",
|
| 24 |
-
"layerchart": "2.0.0-next.48",
|
| 25 |
"mode-watcher": "^1.1.0",
|
| 26 |
-
"paneforge": "^1.0.2",
|
| 27 |
"phosphor-svelte": "^3.1.0",
|
|
|
|
|
|
|
|
|
|
| 28 |
"shadcn-svelte": "^1.2.7",
|
| 29 |
"svelte": "^5.55.2",
|
| 30 |
"svelte-check": "^4.4.6",
|
| 31 |
"svelte-sonner": "^1.1.1",
|
| 32 |
-
"sveltekit-superforms": "^2.30.1",
|
| 33 |
"tailwind-merge": "^3.5.0",
|
| 34 |
"tailwind-variants": "^3.2.2",
|
| 35 |
"tailwindcss": "^4.2.2",
|
| 36 |
"tw-animate-css": "^1.4.0",
|
| 37 |
"typescript": "^6.0.2",
|
| 38 |
-
"vaul-svelte": "1.0.0-next.7",
|
| 39 |
"vite": "^8.0.7",
|
| 40 |
},
|
| 41 |
},
|
| 42 |
},
|
| 43 |
"packages": {
|
| 44 |
-
"@ark/schema": ["@ark/schema@0.56.0", "", { "dependencies": { "@ark/util": "0.56.0" } }, "sha512-ECg3hox/6Z/nLajxXqNhgPtNdHWC9zNsDyskwO28WinoFEnWow4IsERNz9AnXRhTZJnYIlAJ4uGn3nlLk65vZA=="],
|
| 45 |
-
|
| 46 |
-
"@ark/util": ["@ark/util@0.56.0", "", {}, "sha512-BghfRC8b9pNs3vBoDJhcta0/c1J1rsoS1+HgVUreMFPdhz/CRAKReAu57YEllNaSy98rWAdY1gE+gFup7OXpgA=="],
|
| 47 |
-
|
| 48 |
-
"@babel/runtime": ["@babel/runtime@7.29.2", "", {}, "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g=="],
|
| 49 |
-
|
| 50 |
-
"@dagrejs/dagre": ["@dagrejs/dagre@2.0.4", "", { "dependencies": { "@dagrejs/graphlib": "3.0.4" } }, "sha512-J6vCWTNpicHF4zFlZG1cS5DkGzMr9941gddYkakjrg3ZNev4bbqEgLHFTWiFrcJm7UCRu7olO3K6IRDd9gSGhA=="],
|
| 51 |
-
|
| 52 |
-
"@dagrejs/graphlib": ["@dagrejs/graphlib@3.0.4", "", {}, "sha512-HxZ7fCvAwTLCWCO0WjDkzAFQze8LdC6iOpKbetDKHIuDfIgMlIzYzqZ4nxwLlclQX+3ZVeZ1K2OuaOE2WWcyOg=="],
|
| 53 |
-
|
| 54 |
"@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "2.8.1" } }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="],
|
| 55 |
|
| 56 |
"@emnapi/runtime": ["@emnapi/runtime@1.10.0", "", { "dependencies": { "tslib": "2.8.1" } }, "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA=="],
|
| 57 |
|
| 58 |
"@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.1", "", { "dependencies": { "tslib": "2.8.1" } }, "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w=="],
|
| 59 |
|
| 60 |
-
"@exodus/schemasafe": ["@exodus/schemasafe@1.3.0", "", {}, "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw=="],
|
| 61 |
-
|
| 62 |
"@floating-ui/core": ["@floating-ui/core@1.7.5", "", { "dependencies": { "@floating-ui/utils": "0.2.11" } }, "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ=="],
|
| 63 |
|
| 64 |
"@floating-ui/dom": ["@floating-ui/dom@1.7.6", "", { "dependencies": { "@floating-ui/core": "1.7.5", "@floating-ui/utils": "0.2.11" } }, "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ=="],
|
|
@@ -69,10 +54,6 @@
|
|
| 69 |
|
| 70 |
"@fontsource-variable/roboto-slab": ["@fontsource-variable/roboto-slab@5.2.8", "", {}, "sha512-cdvOSwocP50xS01gXqnGxw7uFcCZQgn1IDlqiAmNuZP4uEVScYAKMDC+aWsbP1grn9QdMJ2frhcuVBNXniBVGA=="],
|
| 71 |
|
| 72 |
-
"@hapi/hoek": ["@hapi/hoek@9.3.0", "", {}, "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="],
|
| 73 |
-
|
| 74 |
-
"@hapi/topo": ["@hapi/topo@5.1.0", "", { "dependencies": { "@hapi/hoek": "9.3.0" } }, "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg=="],
|
| 75 |
-
|
| 76 |
"@internationalized/date": ["@internationalized/date@3.12.1", "", { "dependencies": { "@swc/helpers": "0.5.21" } }, "sha512-6IedsVWXyq4P9Tj+TxuU8WGWM70hYLl12nbYU8jkikVpa6WXapFazPUcHUMDMoWftIDE2ILDkFFte6W2nFCkRQ=="],
|
| 77 |
|
| 78 |
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "1.5.5", "@jridgewell/trace-mapping": "0.3.31" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
|
|
@@ -85,22 +66,12 @@
|
|
| 85 |
|
| 86 |
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "3.1.2", "@jridgewell/sourcemap-codec": "1.5.5" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
|
| 87 |
|
| 88 |
-
"@layerstack/svelte-actions": ["@layerstack/svelte-actions@1.0.1-next.18", "", { "dependencies": { "@floating-ui/dom": "1.7.6", "@layerstack/utils": "2.0.0-next.18", "d3-scale": "4.0.2" } }, "sha512-gxPzCnJ1c9LTfWtRqLUzefCx+k59ZpxDUQ2XB+LokveZQPe7IDSOwHaBOEMlaGoGrtwc3Ft8dSZq+2WT2o9u/g=="],
|
| 89 |
-
|
| 90 |
-
"@layerstack/svelte-state": ["@layerstack/svelte-state@0.1.0-next.23", "", { "dependencies": { "@layerstack/utils": "2.0.0-next.18" } }, "sha512-7O4umv+gXwFfs3/vjzFWYHNXGwYnnjBapWJ5Y+9u99F4eVk6rh4ocNwqkqQNkpMZ5tUJBlRTWjPE1So6+hEzIg=="],
|
| 91 |
-
|
| 92 |
-
"@layerstack/tailwind": ["@layerstack/tailwind@2.0.0-next.21", "", { "dependencies": { "@layerstack/utils": "2.0.0-next.18", "clsx": "2.1.1", "d3-array": "3.2.4", "tailwind-merge": "3.5.0" } }, "sha512-Qgp2EpmEHmjtura8MQzWicR6ztBRSsRvddakFtx9ShrLMz6jWzd6bCMVVRu44Q3ZOrtXmSu4QxjCZWu1ytvuPg=="],
|
| 93 |
-
|
| 94 |
-
"@layerstack/utils": ["@layerstack/utils@2.0.0-next.18", "", { "dependencies": { "d3-array": "3.2.4", "d3-time": "3.1.0", "d3-time-format": "4.1.0" } }, "sha512-EYILHpfBRYMMEahajInu9C2AXQom5IcAEdtCeucD3QIl/fdDgRbtzn6/8QW9ewumfyNZetdUvitOksmI1+gZYQ=="],
|
| 95 |
-
|
| 96 |
"@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.4", "", { "dependencies": { "@tybys/wasm-util": "0.10.1" }, "peerDependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0" } }, "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow=="],
|
| 97 |
|
| 98 |
"@oxc-project/types": ["@oxc-project/types@0.127.0", "", {}, "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ=="],
|
| 99 |
|
| 100 |
"@polka/url": ["@polka/url@1.0.0-next.29", "", {}, "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww=="],
|
| 101 |
|
| 102 |
-
"@poppinss/macroable": ["@poppinss/macroable@1.1.2", "", {}, "sha512-FAVBRzzWhYP5mA3lCwLH1A0fKBqq5anyjGet90Z81aRK5c/+LTGUE1zJhZrErjaenBSOOI9BVUs3WVmotneFQA=="],
|
| 103 |
-
|
| 104 |
"@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-rc.17", "", { "os": "android", "cpu": "arm64" }, "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ=="],
|
| 105 |
|
| 106 |
"@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.0-rc.17", "", { "os": "darwin", "cpu": "arm64" }, "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw=="],
|
|
@@ -133,12 +104,6 @@
|
|
| 133 |
|
| 134 |
"@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-rc.17", "", {}, "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg=="],
|
| 135 |
|
| 136 |
-
"@sideway/address": ["@sideway/address@4.1.5", "", { "dependencies": { "@hapi/hoek": "9.3.0" } }, "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q=="],
|
| 137 |
-
|
| 138 |
-
"@sideway/formula": ["@sideway/formula@3.0.1", "", {}, "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg=="],
|
| 139 |
-
|
| 140 |
-
"@sideway/pinpoint": ["@sideway/pinpoint@2.0.0", "", {}, "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="],
|
| 141 |
-
|
| 142 |
"@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="],
|
| 143 |
|
| 144 |
"@sveltejs/acorn-typescript": ["@sveltejs/acorn-typescript@1.0.9", "", { "peerDependencies": { "acorn": "8.16.0" } }, "sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA=="],
|
|
@@ -187,126 +152,40 @@
|
|
| 187 |
|
| 188 |
"@types/cookie": ["@types/cookie@0.6.0", "", {}, "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="],
|
| 189 |
|
| 190 |
-
"@types/d3-array": ["@types/d3-array@3.2.2", "", {}, "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw=="],
|
| 191 |
-
|
| 192 |
-
"@types/d3-contour": ["@types/d3-contour@3.0.6", "", { "dependencies": { "@types/d3-array": "3.2.2", "@types/geojson": "7946.0.16" } }, "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg=="],
|
| 193 |
-
|
| 194 |
"@types/dom-mediacapture-transform": ["@types/dom-mediacapture-transform@0.1.11", "", { "dependencies": { "@types/dom-webcodecs": "0.1.13" } }, "sha512-Y2p+nGf1bF2XMttBnsVPHUWzRRZzqUoJAKmiP10b5umnO6DDrWI0BrGDJy1pOHoOULVmGSfFNkQrAlC5dcj6nQ=="],
|
| 195 |
|
| 196 |
"@types/dom-webcodecs": ["@types/dom-webcodecs@0.1.13", "", {}, "sha512-O5hkiFIcjjszPIYyUSyvScyvrBoV3NOEEZx/pMlsu44TKzWNkLVBBxnxJz42in5n3QIolYOcBYFCPZZ0h8SkwQ=="],
|
| 197 |
|
| 198 |
"@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="],
|
| 199 |
|
| 200 |
-
"@types/geojson": ["@types/geojson@7946.0.16", "", {}, "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg=="],
|
| 201 |
-
|
| 202 |
"@types/node": ["@types/node@24.12.2", "", { "dependencies": { "undici-types": "7.16.0" } }, "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g=="],
|
| 203 |
|
| 204 |
"@types/trusted-types": ["@types/trusted-types@2.0.7", "", {}, "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="],
|
| 205 |
|
| 206 |
-
"@types/validator": ["@types/validator@13.15.10", "", {}, "sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA=="],
|
| 207 |
-
|
| 208 |
-
"@typeschema/class-validator": ["@typeschema/class-validator@0.3.0", "", { "dependencies": { "@typeschema/core": "0.14.0" }, "optionalDependencies": { "class-validator": "0.14.4" } }, "sha512-OJSFeZDIQ8EK1HTljKLT5CItM2wsbgczLN8tMEfz3I1Lmhc5TBfkZ0eikFzUC16tI3d1Nag7um6TfCgp2I2Bww=="],
|
| 209 |
-
|
| 210 |
-
"@typeschema/core": ["@typeschema/core@0.14.0", "", {}, "sha512-Ia6PtZHcL3KqsAWXjMi5xIyZ7XMH4aSnOQes8mfMLx+wGFGtGRNlwe6Y7cYvX+WfNK67OL0/HSe9t8QDygV0/w=="],
|
| 211 |
-
|
| 212 |
-
"@valibot/to-json-schema": ["@valibot/to-json-schema@1.6.0", "", { "peerDependencies": { "valibot": "1.3.1" } }, "sha512-d6rYyK5KVa2XdqamWgZ4/Nr+cXhxjy7lmpe6Iajw15J/jmU+gyxl2IEd1Otg1d7Rl3gOQL5reulnSypzBtYy1A=="],
|
| 213 |
-
|
| 214 |
-
"@vinejs/compiler": ["@vinejs/compiler@3.0.0", "", {}, "sha512-v9Lsv59nR56+bmy2p0+czjZxsLHwaibJ+SV5iK9JJfehlJMa501jUJQqqz4X/OqKXrxtE3uTQmSqjUqzF3B2mw=="],
|
| 215 |
-
|
| 216 |
-
"@vinejs/vine": ["@vinejs/vine@3.0.1", "", { "dependencies": { "@poppinss/macroable": "1.1.2", "@types/validator": "13.15.10", "@vinejs/compiler": "3.0.0", "camelcase": "8.0.0", "dayjs": "1.11.20", "dlv": "1.1.3", "normalize-url": "8.1.1", "validator": "13.15.35" } }, "sha512-ZtvYkYpZOYdvbws3uaOAvTFuvFXoQGAtmzeiXu+XSMGxi5GVsODpoI9Xu9TplEMuD/5fmAtBbKb9cQHkWkLXDQ=="],
|
| 217 |
-
|
| 218 |
"acorn": ["acorn@8.16.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw=="],
|
| 219 |
|
| 220 |
"aria-query": ["aria-query@5.3.1", "", {}, "sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g=="],
|
| 221 |
|
| 222 |
-
"arkregex": ["arkregex@0.0.5", "", { "dependencies": { "@ark/util": "0.56.0" } }, "sha512-ncYjBdLlh5/QnVsAA8De16Tc9EqmYM7y/WU9j+236KcyYNUXogpz3sC4ATIZYzzLxwI+0sEOaQLEmLmRleaEXw=="],
|
| 223 |
-
|
| 224 |
-
"arktype": ["arktype@2.2.0", "", { "dependencies": { "@ark/schema": "0.56.0", "@ark/util": "0.56.0", "arkregex": "0.0.5" } }, "sha512-t54MZ7ti5BhOEvzEkgKnWvqj+UbDfWig+DHr5I34xatymPusKLS0lQpNJd8M6DzmIto2QGszHfNKoFIT8tMCZQ=="],
|
| 225 |
-
|
| 226 |
"axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="],
|
| 227 |
|
| 228 |
"bits-ui": ["bits-ui@2.18.0", "", { "dependencies": { "@floating-ui/core": "1.7.5", "@floating-ui/dom": "1.7.6", "esm-env": "1.2.2", "runed": "0.35.1", "svelte-toolbelt": "0.10.6", "tabbable": "6.4.0" }, "peerDependencies": { "@internationalized/date": "3.12.1", "svelte": "5.55.5" } }, "sha512-GLOBZRVy3hxNHIQ2MpD/+5aK9KcBFZRhUJtZ1UDABXdlVR4K6zFpgt4T+Rwuhf2sQzlc6yK1q/DprHPjwT4Pjw=="],
|
| 229 |
|
| 230 |
-
"camelcase": ["camelcase@8.0.0", "", {}, "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA=="],
|
| 231 |
-
|
| 232 |
"chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "4.1.2" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="],
|
| 233 |
|
| 234 |
-
"class-validator": ["class-validator@0.14.4", "", { "dependencies": { "@types/validator": "13.15.10", "libphonenumber-js": "1.12.42", "validator": "13.15.35" } }, "sha512-AwNusCCam51q703dW82x95tOqQp6oC9HNUl724KxJJOfnKscI8dOloXFgyez7LbTTKWuRBA37FScqVbJEoq8Yw=="],
|
| 235 |
-
|
| 236 |
"clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
|
| 237 |
|
| 238 |
"commander": ["commander@14.0.3", "", {}, "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw=="],
|
| 239 |
|
| 240 |
"cookie": ["cookie@0.6.0", "", {}, "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw=="],
|
| 241 |
|
| 242 |
-
"d3-array": ["d3-array@3.2.4", "", { "dependencies": { "internmap": "2.0.3" } }, "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg=="],
|
| 243 |
-
|
| 244 |
-
"d3-chord": ["d3-chord@3.0.1", "", { "dependencies": { "d3-path": "3.1.0" } }, "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g=="],
|
| 245 |
-
|
| 246 |
-
"d3-color": ["d3-color@3.1.0", "", {}, "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="],
|
| 247 |
-
|
| 248 |
-
"d3-contour": ["d3-contour@4.0.2", "", { "dependencies": { "d3-array": "3.2.4" } }, "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA=="],
|
| 249 |
-
|
| 250 |
-
"d3-delaunay": ["d3-delaunay@6.0.4", "", { "dependencies": { "delaunator": "5.1.0" } }, "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A=="],
|
| 251 |
-
|
| 252 |
-
"d3-dispatch": ["d3-dispatch@3.0.1", "", {}, "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg=="],
|
| 253 |
-
|
| 254 |
-
"d3-dsv": ["d3-dsv@3.0.1", "", { "dependencies": { "commander": "7.2.0", "iconv-lite": "0.6.3", "rw": "1.3.3" }, "bin": { "csv2json": "bin/dsv2json.js", "csv2tsv": "bin/dsv2dsv.js", "dsv2dsv": "bin/dsv2dsv.js", "dsv2json": "bin/dsv2json.js", "json2csv": "bin/json2dsv.js", "json2dsv": "bin/json2dsv.js", "json2tsv": "bin/json2dsv.js", "tsv2csv": "bin/dsv2dsv.js", "tsv2json": "bin/dsv2json.js" } }, "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q=="],
|
| 255 |
-
|
| 256 |
-
"d3-force": ["d3-force@3.0.0", "", { "dependencies": { "d3-dispatch": "3.0.1", "d3-quadtree": "3.0.1", "d3-timer": "3.0.1" } }, "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg=="],
|
| 257 |
-
|
| 258 |
-
"d3-format": ["d3-format@3.1.2", "", {}, "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg=="],
|
| 259 |
-
|
| 260 |
-
"d3-geo": ["d3-geo@3.1.1", "", { "dependencies": { "d3-array": "3.2.4" } }, "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q=="],
|
| 261 |
-
|
| 262 |
-
"d3-geo-voronoi": ["d3-geo-voronoi@2.1.0", "", { "dependencies": { "d3-array": "3.2.4", "d3-delaunay": "6.0.4", "d3-geo": "3.1.1", "d3-tricontour": "1.1.0" } }, "sha512-kqE4yYuOjPbKdBXG0xztCacPwkVSK2REF1opSNrnqqtXJmNcM++UbwQ8SxvwP6IQTj9RvIjjK4qeiVsEfj0Z2Q=="],
|
| 263 |
-
|
| 264 |
-
"d3-hierarchy": ["d3-hierarchy@3.1.2", "", {}, "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA=="],
|
| 265 |
-
|
| 266 |
-
"d3-interpolate": ["d3-interpolate@3.0.1", "", { "dependencies": { "d3-color": "3.1.0" } }, "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g=="],
|
| 267 |
-
|
| 268 |
-
"d3-interpolate-path": ["d3-interpolate-path@2.3.0", "", {}, "sha512-tZYtGXxBmbgHsIc9Wms6LS5u4w6KbP8C09a4/ZYc4KLMYYqub57rRBUgpUr2CIarIrJEpdAWWxWQvofgaMpbKQ=="],
|
| 269 |
-
|
| 270 |
-
"d3-path": ["d3-path@3.1.0", "", {}, "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ=="],
|
| 271 |
-
|
| 272 |
-
"d3-quadtree": ["d3-quadtree@3.0.1", "", {}, "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw=="],
|
| 273 |
-
|
| 274 |
-
"d3-random": ["d3-random@3.0.1", "", {}, "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ=="],
|
| 275 |
-
|
| 276 |
-
"d3-sankey": ["d3-sankey@0.12.3", "", { "dependencies": { "d3-array": "2.12.1", "d3-shape": "1.3.7" } }, "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ=="],
|
| 277 |
-
|
| 278 |
-
"d3-scale": ["d3-scale@4.0.2", "", { "dependencies": { "d3-array": "3.2.4", "d3-format": "3.1.2", "d3-interpolate": "3.0.1", "d3-time": "3.1.0", "d3-time-format": "4.1.0" } }, "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ=="],
|
| 279 |
-
|
| 280 |
-
"d3-scale-chromatic": ["d3-scale-chromatic@3.1.0", "", { "dependencies": { "d3-color": "3.1.0", "d3-interpolate": "3.0.1" } }, "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ=="],
|
| 281 |
-
|
| 282 |
-
"d3-shape": ["d3-shape@3.2.0", "", { "dependencies": { "d3-path": "3.1.0" } }, "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA=="],
|
| 283 |
-
|
| 284 |
-
"d3-tile": ["d3-tile@1.0.0", "", {}, "sha512-79fnTKpPMPDS5xQ0xuS9ir0165NEwwkFpe/DSOmc2Gl9ldYzKKRDWogmTTE8wAJ8NA7PMapNfEcyKhI9Lxdu5Q=="],
|
| 285 |
-
|
| 286 |
-
"d3-time": ["d3-time@3.1.0", "", { "dependencies": { "d3-array": "3.2.4" } }, "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q=="],
|
| 287 |
-
|
| 288 |
-
"d3-time-format": ["d3-time-format@4.1.0", "", { "dependencies": { "d3-time": "3.1.0" } }, "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg=="],
|
| 289 |
-
|
| 290 |
-
"d3-timer": ["d3-timer@3.0.1", "", {}, "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="],
|
| 291 |
-
|
| 292 |
-
"d3-tricontour": ["d3-tricontour@1.1.0", "", { "dependencies": { "d3-delaunay": "6.0.4", "d3-scale": "4.0.2" } }, "sha512-G7gHKj89n2owmkGb6WX6ixcnQ0Kf/0wpa9VIh9DGdbHu8wdrlaHU4ir3/bFNERl8N8nn4G7e7qbtBG8N9caihQ=="],
|
| 293 |
-
|
| 294 |
-
"dayjs": ["dayjs@1.11.20", "", {}, "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ=="],
|
| 295 |
-
|
| 296 |
"deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="],
|
| 297 |
|
| 298 |
-
"delaunator": ["delaunator@5.1.0", "", { "dependencies": { "robust-predicates": "3.0.3" } }, "sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ=="],
|
| 299 |
-
|
| 300 |
"dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="],
|
| 301 |
|
| 302 |
"detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="],
|
| 303 |
|
| 304 |
"devalue": ["devalue@5.7.1", "", {}, "sha512-MUbZ586EgQqdRnC4yDrlod3BEdyvE4TapGYHMW2CiaW+KkkFmWEFqBUaLltEZCGi0iFXCEjRF0OjF0DV2QHjOA=="],
|
| 305 |
|
| 306 |
-
"dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="],
|
| 307 |
-
|
| 308 |
-
"effect": ["effect@3.21.2", "", { "dependencies": { "@standard-schema/spec": "1.1.0", "fast-check": "3.23.2" } }, "sha512-rXd2FGDM8KdjSIrc+mqEELo7ScW7xTVxEf1iInmPSpIde9/nyGuFM710cjTo7/EreGXiUX2MOonPpprbz2XHCg=="],
|
| 309 |
-
|
| 310 |
"enhanced-resolve": ["enhanced-resolve@5.21.0", "", { "dependencies": { "graceful-fs": "4.2.11", "tapable": "2.3.3" } }, "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA=="],
|
| 311 |
|
| 312 |
"esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="],
|
|
@@ -315,12 +194,8 @@
|
|
| 315 |
|
| 316 |
"estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "1.0.8" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="],
|
| 317 |
|
| 318 |
-
"fast-check": ["fast-check@3.23.2", "", { "dependencies": { "pure-rand": "6.1.0" } }, "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A=="],
|
| 319 |
-
|
| 320 |
"fdir": ["fdir@6.5.0", "", { "optionalDependencies": { "picomatch": "4.0.4" } }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="],
|
| 321 |
|
| 322 |
-
"formsnap": ["formsnap@2.0.1", "", { "dependencies": { "svelte-toolbelt": "0.5.0" }, "peerDependencies": { "svelte": "5.55.5", "sveltekit-superforms": "2.30.1" } }, "sha512-iJSe4YKd/W6WhLwKDVJU9FQeaJRpEFuolhju7ZXlRpUVyDdqFdMP8AUBICgnVvQPyP41IPAlBa/v0Eo35iE6wQ=="],
|
| 323 |
-
|
| 324 |
"fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
|
| 325 |
|
| 326 |
"fzstd": ["fzstd@0.1.1", "", {}, "sha512-dkuVSOKKwh3eas5VkJy1AW1vFpet8TA/fGmVA5krThl8YcOVE/8ZIoEA1+U1vEn5ckxxhLirSdY837azmbaNHA=="],
|
|
@@ -333,26 +208,14 @@
|
|
| 333 |
|
| 334 |
"hysnappy": ["hysnappy@1.0.0", "", {}, "sha512-MNrC4NfwDGPb889O6gIfEtbvEZCSWUsSEhsz4Oq2FRcpGtXHfeVz3KciSPp5Pnnz1NjFMgDQNfxdJozymJEDDA=="],
|
| 335 |
|
| 336 |
-
"iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": "2.1.2" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="],
|
| 337 |
-
|
| 338 |
"inline-style-parser": ["inline-style-parser@0.2.7", "", {}, "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA=="],
|
| 339 |
|
| 340 |
-
"internmap": ["internmap@2.0.3", "", {}, "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="],
|
| 341 |
-
|
| 342 |
"is-reference": ["is-reference@3.0.3", "", { "dependencies": { "@types/estree": "1.0.8" } }, "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw=="],
|
| 343 |
|
| 344 |
"jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="],
|
| 345 |
|
| 346 |
-
"joi": ["joi@17.13.3", "", { "dependencies": { "@hapi/hoek": "9.3.0", "@hapi/topo": "5.1.0", "@sideway/address": "4.1.5", "@sideway/formula": "3.0.1", "@sideway/pinpoint": "2.0.0" } }, "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA=="],
|
| 347 |
-
|
| 348 |
-
"json-schema-to-ts": ["json-schema-to-ts@3.1.1", "", { "dependencies": { "@babel/runtime": "7.29.2", "ts-algebra": "2.0.0" } }, "sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g=="],
|
| 349 |
-
|
| 350 |
"kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="],
|
| 351 |
|
| 352 |
-
"layerchart": ["layerchart@2.0.0-next.48", "", { "dependencies": { "@dagrejs/dagre": "2.0.4", "@layerstack/svelte-actions": "1.0.1-next.18", "@layerstack/svelte-state": "0.1.0-next.23", "@layerstack/tailwind": "2.0.0-next.21", "@layerstack/utils": "2.0.0-next.18", "@types/d3-contour": "3.0.6", "d3-array": "3.2.4", "d3-chord": "3.0.1", "d3-color": "3.1.0", "d3-contour": "4.0.2", "d3-delaunay": "6.0.4", "d3-dsv": "3.0.1", "d3-force": "3.0.0", "d3-geo": "3.1.1", "d3-geo-voronoi": "2.1.0", "d3-hierarchy": "3.1.2", "d3-interpolate": "3.0.1", "d3-interpolate-path": "2.3.0", "d3-path": "3.1.0", "d3-quadtree": "3.0.1", "d3-random": "3.0.1", "d3-sankey": "0.12.3", "d3-scale": "4.0.2", "d3-scale-chromatic": "3.1.0", "d3-shape": "3.2.0", "d3-tile": "1.0.0", "d3-time": "3.1.0", "memoize": "10.2.0", "runed": "0.37.1" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-XoEYBztamA8lMxtF/Jz3aDX0HMk8dI+o4fK9fSl8ecT2Tdx3DQUjtKGtlQAOFdwC/AWifeLmKq5cMTQt9COZPQ=="],
|
| 353 |
-
|
| 354 |
-
"libphonenumber-js": ["libphonenumber-js@1.12.42", "", {}, "sha512-oKQFPTibqQwZZkChCDVMFVJXMZdyJNqDWZWYNn8BgyAaK/6yFJEowxCY0RVFirRyWP63hMRuKlkSEd9qlvbWXg=="],
|
| 355 |
-
|
| 356 |
"lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "2.1.2" }, "optionalDependencies": { "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" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="],
|
| 357 |
|
| 358 |
"lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "", { "os": "android", "cpu": "arm64" }, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="],
|
|
@@ -385,12 +248,6 @@
|
|
| 385 |
|
| 386 |
"mediabunny": ["mediabunny@1.42.0", "", { "dependencies": { "@types/dom-mediacapture-transform": "0.1.11", "@types/dom-webcodecs": "0.1.13" } }, "sha512-s9ypTqLi6kbh95gC+YaJlG0PkLvMxu37Q/wO/pFZx0fUCA5Ym5mp+2dWoa83mKQ3Uo18aNlgev5iJ5ESZqWwgQ=="],
|
| 387 |
|
| 388 |
-
"memoize": ["memoize@10.2.0", "", { "dependencies": { "mimic-function": "5.0.1" } }, "sha512-DeC6b7QBrZsRs3Y02A6A7lQyzFbsQbqgjI6UW0GigGWV+u1s25TycMr0XHZE4cJce7rY/vyw2ctMQqfDkIhUEA=="],
|
| 389 |
-
|
| 390 |
-
"memoize-weak": ["memoize-weak@1.0.2", "", {}, "sha512-gj39xkrjEw7nCn4nJ1M5ms6+MyMlyiGmttzsqAUsAKn6bYKwuTHh/AO3cKPF8IBrTIYTxb0wWXFs3E//Y8VoWQ=="],
|
| 391 |
-
|
| 392 |
-
"mimic-function": ["mimic-function@5.0.1", "", {}, "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA=="],
|
| 393 |
-
|
| 394 |
"mode-watcher": ["mode-watcher@1.1.0", "", { "dependencies": { "runed": "0.25.0", "svelte-toolbelt": "0.7.1" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-mUT9RRGPDYenk59qJauN1rhsIMKBmWA3xMF+uRwE8MW/tjhaDSCCARqkSuDTq8vr4/2KcAxIGVjACxTjdk5C3g=="],
|
| 395 |
|
| 396 |
"mri": ["mri@1.2.0", "", {}, "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="],
|
|
@@ -401,12 +258,8 @@
|
|
| 401 |
|
| 402 |
"node-fetch-native": ["node-fetch-native@1.6.7", "", {}, "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q=="],
|
| 403 |
|
| 404 |
-
"normalize-url": ["normalize-url@8.1.1", "", {}, "sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ=="],
|
| 405 |
-
|
| 406 |
"obug": ["obug@2.1.1", "", {}, "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ=="],
|
| 407 |
|
| 408 |
-
"paneforge": ["paneforge@1.0.2", "", { "dependencies": { "runed": "0.23.4", "svelte-toolbelt": "0.9.3" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-KzmIXQH1wCfwZ4RsMohD/IUtEjVhteR+c+ulb/CHYJHX8SuDXoJmChtsc/Xs5Wl8NHS4L5Q7cxL8MG40gSU1bA=="],
|
| 409 |
-
|
| 410 |
"phosphor-svelte": ["phosphor-svelte@3.1.0", "", { "dependencies": { "estree-walker": "3.0.3", "magic-string": "0.30.21" }, "optionalDependencies": { "vite": "8.0.10" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-nldtxx+XCgNREvrb7O5xgDsefytXpSkPTx8Rnu3f2qQCUZLDV1rLxYSd2Jcwckuo9lZB1qKMqGR17P4UDC0PrA=="],
|
| 411 |
|
| 412 |
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
|
|
@@ -415,24 +268,20 @@
|
|
| 415 |
|
| 416 |
"postcss": ["postcss@8.5.12", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA=="],
|
| 417 |
|
| 418 |
-
"
|
| 419 |
|
| 420 |
-
"
|
| 421 |
|
| 422 |
-
"
|
| 423 |
|
| 424 |
-
"
|
| 425 |
|
| 426 |
"rolldown": ["rolldown@1.0.0-rc.17", "", { "dependencies": { "@oxc-project/types": "0.127.0", "@rolldown/pluginutils": "1.0.0-rc.17" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.0-rc.17", "@rolldown/binding-darwin-arm64": "1.0.0-rc.17", "@rolldown/binding-darwin-x64": "1.0.0-rc.17", "@rolldown/binding-freebsd-x64": "1.0.0-rc.17", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17", "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17", "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17", "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17", "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17", "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17", "@rolldown/binding-linux-x64-musl": "1.0.0-rc.17", "@rolldown/binding-openharmony-arm64": "1.0.0-rc.17", "@rolldown/binding-wasm32-wasi": "1.0.0-rc.17", "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17", "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA=="],
|
| 427 |
|
| 428 |
"runed": ["runed@0.35.1", "", { "dependencies": { "dequal": "2.0.3", "esm-env": "1.2.2", "lz-string": "1.5.0" }, "optionalDependencies": { "@sveltejs/kit": "2.58.0" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-2F4Q/FZzbeJTFdIS/PuOoPRSm92sA2LhzTnv6FXhCoENb3huf5+fDuNOg1LNvGOouy3u/225qxmuJvcV3IZK5Q=="],
|
| 429 |
|
| 430 |
-
"rw": ["rw@1.3.3", "", {}, "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="],
|
| 431 |
-
|
| 432 |
"sade": ["sade@1.8.1", "", { "dependencies": { "mri": "1.2.0" } }, "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A=="],
|
| 433 |
|
| 434 |
-
"safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
|
| 435 |
-
|
| 436 |
"set-cookie-parser": ["set-cookie-parser@3.1.0", "", {}, "sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw=="],
|
| 437 |
|
| 438 |
"shadcn-svelte": ["shadcn-svelte@1.2.7", "", { "dependencies": { "commander": "14.0.3", "node-fetch-native": "1.6.7", "postcss": "8.5.12", "tailwind-merge": "3.5.0" }, "peerDependencies": { "svelte": "5.55.5" }, "bin": { "shadcn-svelte": "dist/index.mjs" } }, "sha512-mWuQk4H4gtV+J2wJQ7nEPKNnB/v86AALFryZU0SSM7ChHmJJMZ1kH+qIuxYKrXm9vOOOcSWHRsWzPDB71DnjYA=="],
|
|
@@ -443,8 +292,6 @@
|
|
| 443 |
|
| 444 |
"style-to-object": ["style-to-object@1.0.14", "", { "dependencies": { "inline-style-parser": "0.2.7" } }, "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw=="],
|
| 445 |
|
| 446 |
-
"superstruct": ["superstruct@2.0.2", "", {}, "sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A=="],
|
| 447 |
-
|
| 448 |
"svelte": ["svelte@5.55.5", "", { "dependencies": { "@jridgewell/remapping": "2.3.5", "@jridgewell/sourcemap-codec": "1.5.5", "@sveltejs/acorn-typescript": "1.0.9", "@types/estree": "1.0.8", "@types/trusted-types": "2.0.7", "acorn": "8.16.0", "aria-query": "5.3.1", "axobject-query": "4.1.0", "clsx": "2.1.1", "devalue": "5.7.1", "esm-env": "1.2.2", "esrap": "2.2.5", "is-reference": "3.0.3", "locate-character": "3.0.0", "magic-string": "0.30.21", "zimmerframe": "1.1.4" } }, "sha512-2uCs/LZ9us+AktdzYJM8OcxQ8qnPS1kpaO7syGT/MgO+6Qr1Ybl+TqPq+97u7PHqmmMlye5ZkoyXONy5mjjAbw=="],
|
| 449 |
|
| 450 |
"svelte-check": ["svelte-check@4.4.6", "", { "dependencies": { "@jridgewell/trace-mapping": "0.3.31", "chokidar": "4.0.3", "fdir": "6.5.0", "picocolors": "1.1.1", "sade": "1.8.1" }, "peerDependencies": { "svelte": "5.55.5", "typescript": "6.0.3" }, "bin": { "svelte-check": "bin/svelte-check" } }, "sha512-kP1zG81EWaFe9ZyTv4ZXv44Csi6Pkdpb7S3oj6m+K2ec/IcDg/a8LsFsnVLqm2nxtkSwsd5xPj/qFkTBgXHXjg=="],
|
|
@@ -453,8 +300,6 @@
|
|
| 453 |
|
| 454 |
"svelte-toolbelt": ["svelte-toolbelt@0.10.6", "", { "dependencies": { "clsx": "2.1.1", "runed": "0.35.1", "style-to-object": "1.0.14" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-YWuX+RE+CnWYx09yseAe4ZVMM7e7GRFZM6OYWpBKOb++s+SQ8RBIMMe+Bs/CznBMc0QPLjr+vDBxTAkozXsFXQ=="],
|
| 455 |
|
| 456 |
-
"sveltekit-superforms": ["sveltekit-superforms@2.30.1", "", { "dependencies": { "devalue": "5.7.1", "memoize-weak": "1.0.2", "ts-deepmerge": "7.0.3" }, "optionalDependencies": { "@exodus/schemasafe": "1.3.0", "@standard-schema/spec": "1.1.0", "@typeschema/class-validator": "0.3.0", "@valibot/to-json-schema": "1.6.0", "@vinejs/vine": "3.0.1", "arktype": "2.2.0", "class-validator": "0.14.4", "effect": "3.21.2", "joi": "17.13.3", "json-schema-to-ts": "3.1.1", "superstruct": "2.0.2", "typebox": "1.1.34", "valibot": "1.3.1", "yup": "1.7.1", "zod": "4.3.6", "zod-v3-to-json-schema": "4.0.0" }, "peerDependencies": { "@sveltejs/kit": "2.58.0", "svelte": "5.55.5" } }, "sha512-wBzyqsE0idvEJWuNJ+HCiAtdxa7Z55GZ8jmtlVHJfonrk9bRYC49MoPaloYyFoYuU3QPy6Omna/Qzn1kaIkgew=="],
|
| 457 |
-
|
| 458 |
"tabbable": ["tabbable@6.4.0", "", {}, "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg=="],
|
| 459 |
|
| 460 |
"tailwind-merge": ["tailwind-merge@3.5.0", "", {}, "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A=="],
|
|
@@ -465,78 +310,30 @@
|
|
| 465 |
|
| 466 |
"tapable": ["tapable@2.3.3", "", {}, "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A=="],
|
| 467 |
|
| 468 |
-
"tiny-case": ["tiny-case@1.0.3", "", {}, "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q=="],
|
| 469 |
-
|
| 470 |
"tinyglobby": ["tinyglobby@0.2.16", "", { "dependencies": { "fdir": "6.5.0", "picomatch": "4.0.4" } }, "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg=="],
|
| 471 |
|
| 472 |
-
"toposort": ["toposort@2.0.2", "", {}, "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg=="],
|
| 473 |
-
|
| 474 |
"totalist": ["totalist@3.0.1", "", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="],
|
| 475 |
|
| 476 |
-
"ts-algebra": ["ts-algebra@2.0.0", "", {}, "sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw=="],
|
| 477 |
-
|
| 478 |
-
"ts-deepmerge": ["ts-deepmerge@7.0.3", "", {}, "sha512-Du/ZW2RfwV/D4cmA5rXafYjBQVuvu4qGiEEla4EmEHVHgRdx68Gftx7i66jn2bzHPwSVZY36Ae6OuDn9el4ZKA=="],
|
| 479 |
-
|
| 480 |
"tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
|
| 481 |
|
| 482 |
"tw-animate-css": ["tw-animate-css@1.4.0", "", {}, "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ=="],
|
| 483 |
|
| 484 |
-
"type-fest": ["type-fest@2.19.0", "", {}, "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA=="],
|
| 485 |
-
|
| 486 |
-
"typebox": ["typebox@1.1.34", "", {}, "sha512-V0fM5W5DTXlEMDxqtX1dQ25HR1RQ11DPUVrIup4sJi1yQtIyI30SHfxBy/HjXKL1CtUqc5or2igA/wa/v4hMKQ=="],
|
| 487 |
-
|
| 488 |
"typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="],
|
| 489 |
|
| 490 |
"undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
|
| 491 |
|
| 492 |
-
"valibot": ["valibot@1.3.1", "", { "optionalDependencies": { "typescript": "6.0.3" } }, "sha512-sfdRir/QFM0JaF22hqTroPc5xy4DimuGQVKFrzF1YfGwaS1nJot3Y8VqMdLO2Lg27fMzat2yD3pY5PbAYO39Gg=="],
|
| 493 |
-
|
| 494 |
-
"validator": ["validator@13.15.35", "", {}, "sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw=="],
|
| 495 |
-
|
| 496 |
-
"vaul-svelte": ["vaul-svelte@1.0.0-next.7", "", { "dependencies": { "runed": "0.23.4", "svelte-toolbelt": "0.7.1" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-7zN7Bi3dFQixvvbUJY9uGDe7Ws/dGZeBQR2pXdXmzQiakjrxBvWo0QrmsX3HK+VH+SZOltz378cmgmCS9f9rSg=="],
|
| 497 |
-
|
| 498 |
"vite": ["vite@8.0.10", "", { "dependencies": { "lightningcss": "1.32.0", "picomatch": "4.0.4", "postcss": "8.5.12", "rolldown": "1.0.0-rc.17", "tinyglobby": "0.2.16" }, "optionalDependencies": { "@types/node": "24.12.2", "fsevents": "2.3.3", "jiti": "2.6.1" }, "bin": { "vite": "bin/vite.js" } }, "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw=="],
|
| 499 |
|
| 500 |
"vitefu": ["vitefu@1.1.3", "", { "optionalDependencies": { "vite": "8.0.10" } }, "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg=="],
|
| 501 |
|
| 502 |
-
"yup": ["yup@1.7.1", "", { "dependencies": { "property-expr": "2.0.6", "tiny-case": "1.0.3", "toposort": "2.0.2", "type-fest": "2.19.0" } }, "sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw=="],
|
| 503 |
-
|
| 504 |
"zimmerframe": ["zimmerframe@1.1.4", "", {}, "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ=="],
|
| 505 |
|
| 506 |
-
"zod": ["zod@4.3.6", "", {}, "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg=="],
|
| 507 |
-
|
| 508 |
-
"zod-v3-to-json-schema": ["zod-v3-to-json-schema@4.0.0", "", { "peerDependencies": { "zod": "4.3.6" } }, "sha512-KixLrhX/uPmRFnDgsZrzrk4x5SSJA+PmaE5adbfID9+3KPJcdxqRobaHU397EfWBqfQircrjKqvEqZ/mW5QH6w=="],
|
| 509 |
-
|
| 510 |
-
"d3-dsv/commander": ["commander@7.2.0", "", {}, "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="],
|
| 511 |
-
|
| 512 |
-
"d3-sankey/d3-array": ["d3-array@2.12.1", "", { "dependencies": { "internmap": "1.0.1" } }, "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ=="],
|
| 513 |
-
|
| 514 |
-
"d3-sankey/d3-shape": ["d3-shape@1.3.7", "", { "dependencies": { "d3-path": "1.0.9" } }, "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw=="],
|
| 515 |
-
|
| 516 |
-
"formsnap/svelte-toolbelt": ["svelte-toolbelt@0.5.0", "", { "dependencies": { "clsx": "2.1.1", "style-to-object": "1.0.14" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-t3tenZcnfQoIeRuQf/jBU7bvTeT3TGkcEE+1EUr5orp0lR7NEpprflpuie3x9Dn0W9nOKqs3HwKGJeeN5Ok1sQ=="],
|
| 517 |
-
|
| 518 |
-
"layerchart/runed": ["runed@0.37.1", "", { "dependencies": { "dequal": "2.0.3", "esm-env": "1.2.2", "lz-string": "1.5.0" }, "optionalDependencies": { "@sveltejs/kit": "2.58.0", "zod": "4.3.6" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-MeFY73xBW8IueWBm012nNFIGy19WUGPLtknavyUPMpnyt350M47PhGSGrGoSLbidwn+Zlt/O0cp8/OZE3LASWA=="],
|
| 519 |
-
|
| 520 |
"mode-watcher/runed": ["runed@0.25.0", "", { "dependencies": { "esm-env": "1.2.2" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-7+ma4AG9FT2sWQEA0Egf6mb7PBT2vHyuHail1ie8ropfSjvZGtEAx8YTmUjv/APCsdRRxEVvArNjALk9zFSOrg=="],
|
| 521 |
|
| 522 |
"mode-watcher/svelte-toolbelt": ["svelte-toolbelt@0.7.1", "", { "dependencies": { "clsx": "2.1.1", "runed": "0.23.4", "style-to-object": "1.0.14" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ=="],
|
| 523 |
|
| 524 |
-
"paneforge/runed": ["runed@0.23.4", "", { "dependencies": { "esm-env": "1.2.2" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA=="],
|
| 525 |
-
|
| 526 |
-
"paneforge/svelte-toolbelt": ["svelte-toolbelt@0.9.3", "", { "dependencies": { "clsx": "2.1.1", "runed": "0.29.2", "style-to-object": "1.0.14" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-HCSWxCtVmv+c6g1ACb8LTwHVbDqLKJvHpo6J8TaqwUme2hj9ATJCpjCPNISR1OCq2Q4U1KT41if9ON0isINQZw=="],
|
| 527 |
-
|
| 528 |
"svelte-sonner/runed": ["runed@0.28.0", "", { "dependencies": { "esm-env": "1.2.2" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-k2xx7RuO9hWcdd9f+8JoBeqWtYrm5CALfgpkg2YDB80ds/QE4w0qqu34A7fqiAwiBBSBQOid7TLxwxVC27ymWQ=="],
|
| 529 |
|
| 530 |
-
"vaul-svelte/runed": ["runed@0.23.4", "", { "dependencies": { "esm-env": "1.2.2" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA=="],
|
| 531 |
-
|
| 532 |
-
"vaul-svelte/svelte-toolbelt": ["svelte-toolbelt@0.7.1", "", { "dependencies": { "clsx": "2.1.1", "runed": "0.23.4", "style-to-object": "1.0.14" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ=="],
|
| 533 |
-
|
| 534 |
-
"d3-sankey/d3-array/internmap": ["internmap@1.0.1", "", {}, "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw=="],
|
| 535 |
-
|
| 536 |
-
"d3-sankey/d3-shape/d3-path": ["d3-path@1.0.9", "", {}, "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg=="],
|
| 537 |
-
|
| 538 |
"mode-watcher/svelte-toolbelt/runed": ["runed@0.23.4", "", { "dependencies": { "esm-env": "1.2.2" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA=="],
|
| 539 |
-
|
| 540 |
-
"paneforge/svelte-toolbelt/runed": ["runed@0.29.2", "", { "dependencies": { "esm-env": "1.2.2" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-0cq6cA6sYGZwl/FvVqjx9YN+1xEBu9sDDyuWdDW1yWX7JF2wmvmVKfH+hVCZs+csW+P3ARH92MjI3H9QTagOQA=="],
|
| 541 |
}
|
| 542 |
}
|
|
|
|
| 12 |
"devDependencies": {
|
| 13 |
"@fontsource-variable/oxanium": "^5.2.8",
|
| 14 |
"@fontsource-variable/roboto-slab": "^5.2.8",
|
|
|
|
| 15 |
"@sveltejs/adapter-static": "latest",
|
| 16 |
"@sveltejs/kit": "latest",
|
| 17 |
"@sveltejs/vite-plugin-svelte": "^7.0.0",
|
|
|
|
| 19 |
"@tanstack/table-core": "^8.21.3",
|
| 20 |
"bits-ui": "^2.18.0",
|
| 21 |
"clsx": "^2.1.1",
|
|
|
|
|
|
|
| 22 |
"mode-watcher": "^1.1.0",
|
|
|
|
| 23 |
"phosphor-svelte": "^3.1.0",
|
| 24 |
+
"prettier": "^3.8.3",
|
| 25 |
+
"prettier-plugin-svelte": "^3.5.1",
|
| 26 |
+
"prettier-plugin-tailwindcss": "^0.8.0",
|
| 27 |
"shadcn-svelte": "^1.2.7",
|
| 28 |
"svelte": "^5.55.2",
|
| 29 |
"svelte-check": "^4.4.6",
|
| 30 |
"svelte-sonner": "^1.1.1",
|
|
|
|
| 31 |
"tailwind-merge": "^3.5.0",
|
| 32 |
"tailwind-variants": "^3.2.2",
|
| 33 |
"tailwindcss": "^4.2.2",
|
| 34 |
"tw-animate-css": "^1.4.0",
|
| 35 |
"typescript": "^6.0.2",
|
|
|
|
| 36 |
"vite": "^8.0.7",
|
| 37 |
},
|
| 38 |
},
|
| 39 |
},
|
| 40 |
"packages": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
"@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "2.8.1" } }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="],
|
| 42 |
|
| 43 |
"@emnapi/runtime": ["@emnapi/runtime@1.10.0", "", { "dependencies": { "tslib": "2.8.1" } }, "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA=="],
|
| 44 |
|
| 45 |
"@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.1", "", { "dependencies": { "tslib": "2.8.1" } }, "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w=="],
|
| 46 |
|
|
|
|
|
|
|
| 47 |
"@floating-ui/core": ["@floating-ui/core@1.7.5", "", { "dependencies": { "@floating-ui/utils": "0.2.11" } }, "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ=="],
|
| 48 |
|
| 49 |
"@floating-ui/dom": ["@floating-ui/dom@1.7.6", "", { "dependencies": { "@floating-ui/core": "1.7.5", "@floating-ui/utils": "0.2.11" } }, "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ=="],
|
|
|
|
| 54 |
|
| 55 |
"@fontsource-variable/roboto-slab": ["@fontsource-variable/roboto-slab@5.2.8", "", {}, "sha512-cdvOSwocP50xS01gXqnGxw7uFcCZQgn1IDlqiAmNuZP4uEVScYAKMDC+aWsbP1grn9QdMJ2frhcuVBNXniBVGA=="],
|
| 56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
"@internationalized/date": ["@internationalized/date@3.12.1", "", { "dependencies": { "@swc/helpers": "0.5.21" } }, "sha512-6IedsVWXyq4P9Tj+TxuU8WGWM70hYLl12nbYU8jkikVpa6WXapFazPUcHUMDMoWftIDE2ILDkFFte6W2nFCkRQ=="],
|
| 58 |
|
| 59 |
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "1.5.5", "@jridgewell/trace-mapping": "0.3.31" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
|
|
|
|
| 66 |
|
| 67 |
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "3.1.2", "@jridgewell/sourcemap-codec": "1.5.5" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
|
| 68 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
"@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.4", "", { "dependencies": { "@tybys/wasm-util": "0.10.1" }, "peerDependencies": { "@emnapi/core": "1.10.0", "@emnapi/runtime": "1.10.0" } }, "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow=="],
|
| 70 |
|
| 71 |
"@oxc-project/types": ["@oxc-project/types@0.127.0", "", {}, "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ=="],
|
| 72 |
|
| 73 |
"@polka/url": ["@polka/url@1.0.0-next.29", "", {}, "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww=="],
|
| 74 |
|
|
|
|
|
|
|
| 75 |
"@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-rc.17", "", { "os": "android", "cpu": "arm64" }, "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ=="],
|
| 76 |
|
| 77 |
"@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.0-rc.17", "", { "os": "darwin", "cpu": "arm64" }, "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw=="],
|
|
|
|
| 104 |
|
| 105 |
"@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-rc.17", "", {}, "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg=="],
|
| 106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
"@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="],
|
| 108 |
|
| 109 |
"@sveltejs/acorn-typescript": ["@sveltejs/acorn-typescript@1.0.9", "", { "peerDependencies": { "acorn": "8.16.0" } }, "sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA=="],
|
|
|
|
| 152 |
|
| 153 |
"@types/cookie": ["@types/cookie@0.6.0", "", {}, "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA=="],
|
| 154 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 155 |
"@types/dom-mediacapture-transform": ["@types/dom-mediacapture-transform@0.1.11", "", { "dependencies": { "@types/dom-webcodecs": "0.1.13" } }, "sha512-Y2p+nGf1bF2XMttBnsVPHUWzRRZzqUoJAKmiP10b5umnO6DDrWI0BrGDJy1pOHoOULVmGSfFNkQrAlC5dcj6nQ=="],
|
| 156 |
|
| 157 |
"@types/dom-webcodecs": ["@types/dom-webcodecs@0.1.13", "", {}, "sha512-O5hkiFIcjjszPIYyUSyvScyvrBoV3NOEEZx/pMlsu44TKzWNkLVBBxnxJz42in5n3QIolYOcBYFCPZZ0h8SkwQ=="],
|
| 158 |
|
| 159 |
"@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="],
|
| 160 |
|
|
|
|
|
|
|
| 161 |
"@types/node": ["@types/node@24.12.2", "", { "dependencies": { "undici-types": "7.16.0" } }, "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g=="],
|
| 162 |
|
| 163 |
"@types/trusted-types": ["@types/trusted-types@2.0.7", "", {}, "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="],
|
| 164 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 165 |
"acorn": ["acorn@8.16.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw=="],
|
| 166 |
|
| 167 |
"aria-query": ["aria-query@5.3.1", "", {}, "sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g=="],
|
| 168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 169 |
"axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="],
|
| 170 |
|
| 171 |
"bits-ui": ["bits-ui@2.18.0", "", { "dependencies": { "@floating-ui/core": "1.7.5", "@floating-ui/dom": "1.7.6", "esm-env": "1.2.2", "runed": "0.35.1", "svelte-toolbelt": "0.10.6", "tabbable": "6.4.0" }, "peerDependencies": { "@internationalized/date": "3.12.1", "svelte": "5.55.5" } }, "sha512-GLOBZRVy3hxNHIQ2MpD/+5aK9KcBFZRhUJtZ1UDABXdlVR4K6zFpgt4T+Rwuhf2sQzlc6yK1q/DprHPjwT4Pjw=="],
|
| 172 |
|
|
|
|
|
|
|
| 173 |
"chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "4.1.2" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="],
|
| 174 |
|
|
|
|
|
|
|
| 175 |
"clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
|
| 176 |
|
| 177 |
"commander": ["commander@14.0.3", "", {}, "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw=="],
|
| 178 |
|
| 179 |
"cookie": ["cookie@0.6.0", "", {}, "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw=="],
|
| 180 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 181 |
"deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="],
|
| 182 |
|
|
|
|
|
|
|
| 183 |
"dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="],
|
| 184 |
|
| 185 |
"detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="],
|
| 186 |
|
| 187 |
"devalue": ["devalue@5.7.1", "", {}, "sha512-MUbZ586EgQqdRnC4yDrlod3BEdyvE4TapGYHMW2CiaW+KkkFmWEFqBUaLltEZCGi0iFXCEjRF0OjF0DV2QHjOA=="],
|
| 188 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 189 |
"enhanced-resolve": ["enhanced-resolve@5.21.0", "", { "dependencies": { "graceful-fs": "4.2.11", "tapable": "2.3.3" } }, "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA=="],
|
| 190 |
|
| 191 |
"esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="],
|
|
|
|
| 194 |
|
| 195 |
"estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "1.0.8" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="],
|
| 196 |
|
|
|
|
|
|
|
| 197 |
"fdir": ["fdir@6.5.0", "", { "optionalDependencies": { "picomatch": "4.0.4" } }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="],
|
| 198 |
|
|
|
|
|
|
|
| 199 |
"fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
|
| 200 |
|
| 201 |
"fzstd": ["fzstd@0.1.1", "", {}, "sha512-dkuVSOKKwh3eas5VkJy1AW1vFpet8TA/fGmVA5krThl8YcOVE/8ZIoEA1+U1vEn5ckxxhLirSdY837azmbaNHA=="],
|
|
|
|
| 208 |
|
| 209 |
"hysnappy": ["hysnappy@1.0.0", "", {}, "sha512-MNrC4NfwDGPb889O6gIfEtbvEZCSWUsSEhsz4Oq2FRcpGtXHfeVz3KciSPp5Pnnz1NjFMgDQNfxdJozymJEDDA=="],
|
| 210 |
|
|
|
|
|
|
|
| 211 |
"inline-style-parser": ["inline-style-parser@0.2.7", "", {}, "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA=="],
|
| 212 |
|
|
|
|
|
|
|
| 213 |
"is-reference": ["is-reference@3.0.3", "", { "dependencies": { "@types/estree": "1.0.8" } }, "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw=="],
|
| 214 |
|
| 215 |
"jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="],
|
| 216 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 217 |
"kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="],
|
| 218 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 219 |
"lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "2.1.2" }, "optionalDependencies": { "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" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="],
|
| 220 |
|
| 221 |
"lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "", { "os": "android", "cpu": "arm64" }, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="],
|
|
|
|
| 248 |
|
| 249 |
"mediabunny": ["mediabunny@1.42.0", "", { "dependencies": { "@types/dom-mediacapture-transform": "0.1.11", "@types/dom-webcodecs": "0.1.13" } }, "sha512-s9ypTqLi6kbh95gC+YaJlG0PkLvMxu37Q/wO/pFZx0fUCA5Ym5mp+2dWoa83mKQ3Uo18aNlgev5iJ5ESZqWwgQ=="],
|
| 250 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 251 |
"mode-watcher": ["mode-watcher@1.1.0", "", { "dependencies": { "runed": "0.25.0", "svelte-toolbelt": "0.7.1" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-mUT9RRGPDYenk59qJauN1rhsIMKBmWA3xMF+uRwE8MW/tjhaDSCCARqkSuDTq8vr4/2KcAxIGVjACxTjdk5C3g=="],
|
| 252 |
|
| 253 |
"mri": ["mri@1.2.0", "", {}, "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="],
|
|
|
|
| 258 |
|
| 259 |
"node-fetch-native": ["node-fetch-native@1.6.7", "", {}, "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q=="],
|
| 260 |
|
|
|
|
|
|
|
| 261 |
"obug": ["obug@2.1.1", "", {}, "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ=="],
|
| 262 |
|
|
|
|
|
|
|
| 263 |
"phosphor-svelte": ["phosphor-svelte@3.1.0", "", { "dependencies": { "estree-walker": "3.0.3", "magic-string": "0.30.21" }, "optionalDependencies": { "vite": "8.0.10" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-nldtxx+XCgNREvrb7O5xgDsefytXpSkPTx8Rnu3f2qQCUZLDV1rLxYSd2Jcwckuo9lZB1qKMqGR17P4UDC0PrA=="],
|
| 264 |
|
| 265 |
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
|
|
|
|
| 268 |
|
| 269 |
"postcss": ["postcss@8.5.12", "", { "dependencies": { "nanoid": "3.3.11", "picocolors": "1.1.1", "source-map-js": "1.2.1" } }, "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA=="],
|
| 270 |
|
| 271 |
+
"prettier": ["prettier@3.8.3", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw=="],
|
| 272 |
|
| 273 |
+
"prettier-plugin-svelte": ["prettier-plugin-svelte@3.5.1", "", { "peerDependencies": { "prettier": "^3.0.0", "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" } }, "sha512-65+fr5+cgIKWKiqM1Doum4uX6bY8iFCdztvvp2RcF+AJoieaw9kJOFMNcJo/bkmKYsxFaM9OsVZK/gWauG/5mg=="],
|
| 274 |
|
| 275 |
+
"prettier-plugin-tailwindcss": ["prettier-plugin-tailwindcss@0.8.0", "", { "peerDependencies": { "@ianvs/prettier-plugin-sort-imports": "*", "@prettier/plugin-hermes": "*", "@prettier/plugin-oxc": "*", "@prettier/plugin-pug": "*", "@shopify/prettier-plugin-liquid": "*", "@trivago/prettier-plugin-sort-imports": "*", "@zackad/prettier-plugin-twig": "*", "prettier": "^3.0", "prettier-plugin-astro": "*", "prettier-plugin-css-order": "*", "prettier-plugin-jsdoc": "*", "prettier-plugin-marko": "*", "prettier-plugin-multiline-arrays": "*", "prettier-plugin-organize-attributes": "*", "prettier-plugin-organize-imports": "*", "prettier-plugin-sort-imports": "*", "prettier-plugin-svelte": "*" }, "optionalPeers": ["@ianvs/prettier-plugin-sort-imports", "@prettier/plugin-hermes", "@prettier/plugin-oxc", "@prettier/plugin-pug", "@shopify/prettier-plugin-liquid", "@trivago/prettier-plugin-sort-imports", "@zackad/prettier-plugin-twig", "prettier-plugin-astro", "prettier-plugin-css-order", "prettier-plugin-jsdoc", "prettier-plugin-marko", "prettier-plugin-multiline-arrays", "prettier-plugin-organize-attributes", "prettier-plugin-organize-imports", "prettier-plugin-sort-imports", "prettier-plugin-svelte"] }, "sha512-V8ITGH87yuBDF6JpEZTOVlUz/saAwqb8f3HRgUj8Lh+tGCcrmorhsLpYqzygwFwK0PE2Ib6Mv3M7T/uE2tZV1g=="],
|
| 276 |
|
| 277 |
+
"readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="],
|
| 278 |
|
| 279 |
"rolldown": ["rolldown@1.0.0-rc.17", "", { "dependencies": { "@oxc-project/types": "0.127.0", "@rolldown/pluginutils": "1.0.0-rc.17" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.0-rc.17", "@rolldown/binding-darwin-arm64": "1.0.0-rc.17", "@rolldown/binding-darwin-x64": "1.0.0-rc.17", "@rolldown/binding-freebsd-x64": "1.0.0-rc.17", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17", "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17", "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17", "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17", "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17", "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17", "@rolldown/binding-linux-x64-musl": "1.0.0-rc.17", "@rolldown/binding-openharmony-arm64": "1.0.0-rc.17", "@rolldown/binding-wasm32-wasi": "1.0.0-rc.17", "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17", "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA=="],
|
| 280 |
|
| 281 |
"runed": ["runed@0.35.1", "", { "dependencies": { "dequal": "2.0.3", "esm-env": "1.2.2", "lz-string": "1.5.0" }, "optionalDependencies": { "@sveltejs/kit": "2.58.0" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-2F4Q/FZzbeJTFdIS/PuOoPRSm92sA2LhzTnv6FXhCoENb3huf5+fDuNOg1LNvGOouy3u/225qxmuJvcV3IZK5Q=="],
|
| 282 |
|
|
|
|
|
|
|
| 283 |
"sade": ["sade@1.8.1", "", { "dependencies": { "mri": "1.2.0" } }, "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A=="],
|
| 284 |
|
|
|
|
|
|
|
| 285 |
"set-cookie-parser": ["set-cookie-parser@3.1.0", "", {}, "sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw=="],
|
| 286 |
|
| 287 |
"shadcn-svelte": ["shadcn-svelte@1.2.7", "", { "dependencies": { "commander": "14.0.3", "node-fetch-native": "1.6.7", "postcss": "8.5.12", "tailwind-merge": "3.5.0" }, "peerDependencies": { "svelte": "5.55.5" }, "bin": { "shadcn-svelte": "dist/index.mjs" } }, "sha512-mWuQk4H4gtV+J2wJQ7nEPKNnB/v86AALFryZU0SSM7ChHmJJMZ1kH+qIuxYKrXm9vOOOcSWHRsWzPDB71DnjYA=="],
|
|
|
|
| 292 |
|
| 293 |
"style-to-object": ["style-to-object@1.0.14", "", { "dependencies": { "inline-style-parser": "0.2.7" } }, "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw=="],
|
| 294 |
|
|
|
|
|
|
|
| 295 |
"svelte": ["svelte@5.55.5", "", { "dependencies": { "@jridgewell/remapping": "2.3.5", "@jridgewell/sourcemap-codec": "1.5.5", "@sveltejs/acorn-typescript": "1.0.9", "@types/estree": "1.0.8", "@types/trusted-types": "2.0.7", "acorn": "8.16.0", "aria-query": "5.3.1", "axobject-query": "4.1.0", "clsx": "2.1.1", "devalue": "5.7.1", "esm-env": "1.2.2", "esrap": "2.2.5", "is-reference": "3.0.3", "locate-character": "3.0.0", "magic-string": "0.30.21", "zimmerframe": "1.1.4" } }, "sha512-2uCs/LZ9us+AktdzYJM8OcxQ8qnPS1kpaO7syGT/MgO+6Qr1Ybl+TqPq+97u7PHqmmMlye5ZkoyXONy5mjjAbw=="],
|
| 296 |
|
| 297 |
"svelte-check": ["svelte-check@4.4.6", "", { "dependencies": { "@jridgewell/trace-mapping": "0.3.31", "chokidar": "4.0.3", "fdir": "6.5.0", "picocolors": "1.1.1", "sade": "1.8.1" }, "peerDependencies": { "svelte": "5.55.5", "typescript": "6.0.3" }, "bin": { "svelte-check": "bin/svelte-check" } }, "sha512-kP1zG81EWaFe9ZyTv4ZXv44Csi6Pkdpb7S3oj6m+K2ec/IcDg/a8LsFsnVLqm2nxtkSwsd5xPj/qFkTBgXHXjg=="],
|
|
|
|
| 300 |
|
| 301 |
"svelte-toolbelt": ["svelte-toolbelt@0.10.6", "", { "dependencies": { "clsx": "2.1.1", "runed": "0.35.1", "style-to-object": "1.0.14" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-YWuX+RE+CnWYx09yseAe4ZVMM7e7GRFZM6OYWpBKOb++s+SQ8RBIMMe+Bs/CznBMc0QPLjr+vDBxTAkozXsFXQ=="],
|
| 302 |
|
|
|
|
|
|
|
| 303 |
"tabbable": ["tabbable@6.4.0", "", {}, "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg=="],
|
| 304 |
|
| 305 |
"tailwind-merge": ["tailwind-merge@3.5.0", "", {}, "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A=="],
|
|
|
|
| 310 |
|
| 311 |
"tapable": ["tapable@2.3.3", "", {}, "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A=="],
|
| 312 |
|
|
|
|
|
|
|
| 313 |
"tinyglobby": ["tinyglobby@0.2.16", "", { "dependencies": { "fdir": "6.5.0", "picomatch": "4.0.4" } }, "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg=="],
|
| 314 |
|
|
|
|
|
|
|
| 315 |
"totalist": ["totalist@3.0.1", "", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="],
|
| 316 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 317 |
"tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
|
| 318 |
|
| 319 |
"tw-animate-css": ["tw-animate-css@1.4.0", "", {}, "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ=="],
|
| 320 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 321 |
"typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="],
|
| 322 |
|
| 323 |
"undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
|
| 324 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 325 |
"vite": ["vite@8.0.10", "", { "dependencies": { "lightningcss": "1.32.0", "picomatch": "4.0.4", "postcss": "8.5.12", "rolldown": "1.0.0-rc.17", "tinyglobby": "0.2.16" }, "optionalDependencies": { "@types/node": "24.12.2", "fsevents": "2.3.3", "jiti": "2.6.1" }, "bin": { "vite": "bin/vite.js" } }, "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw=="],
|
| 326 |
|
| 327 |
"vitefu": ["vitefu@1.1.3", "", { "optionalDependencies": { "vite": "8.0.10" } }, "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg=="],
|
| 328 |
|
|
|
|
|
|
|
| 329 |
"zimmerframe": ["zimmerframe@1.1.4", "", {}, "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ=="],
|
| 330 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 331 |
"mode-watcher/runed": ["runed@0.25.0", "", { "dependencies": { "esm-env": "1.2.2" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-7+ma4AG9FT2sWQEA0Egf6mb7PBT2vHyuHail1ie8ropfSjvZGtEAx8YTmUjv/APCsdRRxEVvArNjALk9zFSOrg=="],
|
| 332 |
|
| 333 |
"mode-watcher/svelte-toolbelt": ["svelte-toolbelt@0.7.1", "", { "dependencies": { "clsx": "2.1.1", "runed": "0.23.4", "style-to-object": "1.0.14" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ=="],
|
| 334 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 335 |
"svelte-sonner/runed": ["runed@0.28.0", "", { "dependencies": { "esm-env": "1.2.2" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-k2xx7RuO9hWcdd9f+8JoBeqWtYrm5CALfgpkg2YDB80ds/QE4w0qqu34A7fqiAwiBBSBQOid7TLxwxVC27ymWQ=="],
|
| 336 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 337 |
"mode-watcher/svelte-toolbelt/runed": ["runed@0.23.4", "", { "dependencies": { "esm-env": "1.2.2" }, "peerDependencies": { "svelte": "5.55.5" } }, "sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA=="],
|
|
|
|
|
|
|
| 338 |
}
|
| 339 |
}
|
package.json
CHANGED
|
@@ -3,18 +3,23 @@
|
|
| 3 |
"private": true,
|
| 4 |
"version": "0.0.1",
|
| 5 |
"type": "module",
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
"scripts": {
|
| 7 |
"dev": "vite dev",
|
| 8 |
"build": "vite build",
|
| 9 |
"preview": "vite preview",
|
| 10 |
"prepare": "svelte-kit sync || echo ''",
|
| 11 |
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
| 12 |
-
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
|
|
|
|
|
|
|
| 13 |
},
|
| 14 |
"devDependencies": {
|
| 15 |
"@fontsource-variable/oxanium": "^5.2.8",
|
| 16 |
"@fontsource-variable/roboto-slab": "^5.2.8",
|
| 17 |
-
"@internationalized/date": "^3.12.1",
|
| 18 |
"@sveltejs/adapter-static": "latest",
|
| 19 |
"@sveltejs/kit": "latest",
|
| 20 |
"@sveltejs/vite-plugin-svelte": "^7.0.0",
|
|
@@ -22,22 +27,20 @@
|
|
| 22 |
"@tanstack/table-core": "^8.21.3",
|
| 23 |
"bits-ui": "^2.18.0",
|
| 24 |
"clsx": "^2.1.1",
|
| 25 |
-
"formsnap": "^2.0.1",
|
| 26 |
-
"layerchart": "2.0.0-next.48",
|
| 27 |
"mode-watcher": "^1.1.0",
|
| 28 |
-
"paneforge": "^1.0.2",
|
| 29 |
"phosphor-svelte": "^3.1.0",
|
|
|
|
|
|
|
|
|
|
| 30 |
"shadcn-svelte": "^1.2.7",
|
| 31 |
"svelte": "^5.55.2",
|
| 32 |
"svelte-check": "^4.4.6",
|
| 33 |
"svelte-sonner": "^1.1.1",
|
| 34 |
-
"sveltekit-superforms": "^2.30.1",
|
| 35 |
"tailwind-merge": "^3.5.0",
|
| 36 |
"tailwind-variants": "^3.2.2",
|
| 37 |
"tailwindcss": "^4.2.2",
|
| 38 |
"tw-animate-css": "^1.4.0",
|
| 39 |
"typescript": "^6.0.2",
|
| 40 |
-
"vaul-svelte": "1.0.0-next.7",
|
| 41 |
"vite": "^8.0.7"
|
| 42 |
},
|
| 43 |
"dependencies": {
|
|
|
|
| 3 |
"private": true,
|
| 4 |
"version": "0.0.1",
|
| 5 |
"type": "module",
|
| 6 |
+
"packageManager": "bun@1.3.13",
|
| 7 |
+
"engines": {
|
| 8 |
+
"bun": ">=1.3.13"
|
| 9 |
+
},
|
| 10 |
"scripts": {
|
| 11 |
"dev": "vite dev",
|
| 12 |
"build": "vite build",
|
| 13 |
"preview": "vite preview",
|
| 14 |
"prepare": "svelte-kit sync || echo ''",
|
| 15 |
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
| 16 |
+
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
| 17 |
+
"format": "prettier --write .",
|
| 18 |
+
"lint": "prettier --check ."
|
| 19 |
},
|
| 20 |
"devDependencies": {
|
| 21 |
"@fontsource-variable/oxanium": "^5.2.8",
|
| 22 |
"@fontsource-variable/roboto-slab": "^5.2.8",
|
|
|
|
| 23 |
"@sveltejs/adapter-static": "latest",
|
| 24 |
"@sveltejs/kit": "latest",
|
| 25 |
"@sveltejs/vite-plugin-svelte": "^7.0.0",
|
|
|
|
| 27 |
"@tanstack/table-core": "^8.21.3",
|
| 28 |
"bits-ui": "^2.18.0",
|
| 29 |
"clsx": "^2.1.1",
|
|
|
|
|
|
|
| 30 |
"mode-watcher": "^1.1.0",
|
|
|
|
| 31 |
"phosphor-svelte": "^3.1.0",
|
| 32 |
+
"prettier": "^3.8.3",
|
| 33 |
+
"prettier-plugin-svelte": "^3.5.1",
|
| 34 |
+
"prettier-plugin-tailwindcss": "^0.8.0",
|
| 35 |
"shadcn-svelte": "^1.2.7",
|
| 36 |
"svelte": "^5.55.2",
|
| 37 |
"svelte-check": "^4.4.6",
|
| 38 |
"svelte-sonner": "^1.1.1",
|
|
|
|
| 39 |
"tailwind-merge": "^3.5.0",
|
| 40 |
"tailwind-variants": "^3.2.2",
|
| 41 |
"tailwindcss": "^4.2.2",
|
| 42 |
"tw-animate-css": "^1.4.0",
|
| 43 |
"typescript": "^6.0.2",
|
|
|
|
| 44 |
"vite": "^8.0.7"
|
| 45 |
},
|
| 46 |
"dependencies": {
|
pnpm-lock.yaml
DELETED
|
@@ -1,2444 +0,0 @@
|
|
| 1 |
-
lockfileVersion: '9.0'
|
| 2 |
-
|
| 3 |
-
settings:
|
| 4 |
-
autoInstallPeers: true
|
| 5 |
-
excludeLinksFromLockfile: false
|
| 6 |
-
|
| 7 |
-
importers:
|
| 8 |
-
|
| 9 |
-
.:
|
| 10 |
-
dependencies:
|
| 11 |
-
apache-arrow:
|
| 12 |
-
specifier: ^21.1.0
|
| 13 |
-
version: 21.1.0
|
| 14 |
-
mediabunny:
|
| 15 |
-
specifier: ^1.42.0
|
| 16 |
-
version: 1.42.0
|
| 17 |
-
parquet-wasm:
|
| 18 |
-
specifier: ^0.7.1
|
| 19 |
-
version: 0.7.1
|
| 20 |
-
devDependencies:
|
| 21 |
-
'@fontsource-variable/oxanium':
|
| 22 |
-
specifier: ^5.2.8
|
| 23 |
-
version: 5.2.8
|
| 24 |
-
'@fontsource-variable/roboto-slab':
|
| 25 |
-
specifier: ^5.2.8
|
| 26 |
-
version: 5.2.8
|
| 27 |
-
'@internationalized/date':
|
| 28 |
-
specifier: ^3.12.1
|
| 29 |
-
version: 3.12.1
|
| 30 |
-
'@sveltejs/adapter-static':
|
| 31 |
-
specifier: latest
|
| 32 |
-
version: 3.0.10(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))
|
| 33 |
-
'@sveltejs/kit':
|
| 34 |
-
specifier: latest
|
| 35 |
-
version: 2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))
|
| 36 |
-
'@sveltejs/vite-plugin-svelte':
|
| 37 |
-
specifier: ^7.0.0
|
| 38 |
-
version: 7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))
|
| 39 |
-
'@tailwindcss/vite':
|
| 40 |
-
specifier: ^4.2.2
|
| 41 |
-
version: 4.2.4(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))
|
| 42 |
-
'@tanstack/table-core':
|
| 43 |
-
specifier: ^8.21.3
|
| 44 |
-
version: 8.21.3
|
| 45 |
-
bits-ui:
|
| 46 |
-
specifier: ^2.18.0
|
| 47 |
-
version: 2.18.0(@internationalized/date@3.12.1)(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)
|
| 48 |
-
clsx:
|
| 49 |
-
specifier: ^2.1.1
|
| 50 |
-
version: 2.1.1
|
| 51 |
-
formsnap:
|
| 52 |
-
specifier: ^2.0.1
|
| 53 |
-
version: 2.0.1(svelte@5.55.5)(sveltekit-superforms@2.30.1(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3))
|
| 54 |
-
layerchart:
|
| 55 |
-
specifier: 2.0.0-next.48
|
| 56 |
-
version: 2.0.0-next.48(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(zod@4.3.6)
|
| 57 |
-
mode-watcher:
|
| 58 |
-
specifier: ^1.1.0
|
| 59 |
-
version: 1.1.0(svelte@5.55.5)
|
| 60 |
-
paneforge:
|
| 61 |
-
specifier: ^1.0.2
|
| 62 |
-
version: 1.0.2(svelte@5.55.5)
|
| 63 |
-
phosphor-svelte:
|
| 64 |
-
specifier: ^3.1.0
|
| 65 |
-
version: 3.1.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))
|
| 66 |
-
shadcn-svelte:
|
| 67 |
-
specifier: ^1.2.7
|
| 68 |
-
version: 1.2.7(svelte@5.55.5)
|
| 69 |
-
svelte:
|
| 70 |
-
specifier: ^5.55.2
|
| 71 |
-
version: 5.55.5
|
| 72 |
-
svelte-check:
|
| 73 |
-
specifier: ^4.4.6
|
| 74 |
-
version: 4.4.6(picomatch@4.0.4)(svelte@5.55.5)(typescript@6.0.3)
|
| 75 |
-
svelte-sonner:
|
| 76 |
-
specifier: ^1.1.1
|
| 77 |
-
version: 1.1.1(svelte@5.55.5)
|
| 78 |
-
sveltekit-superforms:
|
| 79 |
-
specifier: ^2.30.1
|
| 80 |
-
version: 2.30.1(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)
|
| 81 |
-
tailwind-merge:
|
| 82 |
-
specifier: ^3.5.0
|
| 83 |
-
version: 3.5.0
|
| 84 |
-
tailwind-variants:
|
| 85 |
-
specifier: ^3.2.2
|
| 86 |
-
version: 3.2.2(tailwind-merge@3.5.0)(tailwindcss@4.2.4)
|
| 87 |
-
tailwindcss:
|
| 88 |
-
specifier: ^4.2.2
|
| 89 |
-
version: 4.2.4
|
| 90 |
-
tw-animate-css:
|
| 91 |
-
specifier: ^1.4.0
|
| 92 |
-
version: 1.4.0
|
| 93 |
-
typescript:
|
| 94 |
-
specifier: ^6.0.2
|
| 95 |
-
version: 6.0.3
|
| 96 |
-
vaul-svelte:
|
| 97 |
-
specifier: 1.0.0-next.7
|
| 98 |
-
version: 1.0.0-next.7(svelte@5.55.5)
|
| 99 |
-
vite:
|
| 100 |
-
specifier: ^8.0.7
|
| 101 |
-
version: 8.0.10(@types/node@24.12.2)(jiti@2.6.1)
|
| 102 |
-
|
| 103 |
-
packages:
|
| 104 |
-
|
| 105 |
-
'@ark/schema@0.56.0':
|
| 106 |
-
resolution: {integrity: sha512-ECg3hox/6Z/nLajxXqNhgPtNdHWC9zNsDyskwO28WinoFEnWow4IsERNz9AnXRhTZJnYIlAJ4uGn3nlLk65vZA==}
|
| 107 |
-
|
| 108 |
-
'@ark/util@0.56.0':
|
| 109 |
-
resolution: {integrity: sha512-BghfRC8b9pNs3vBoDJhcta0/c1J1rsoS1+HgVUreMFPdhz/CRAKReAu57YEllNaSy98rWAdY1gE+gFup7OXpgA==}
|
| 110 |
-
|
| 111 |
-
'@babel/runtime@7.29.2':
|
| 112 |
-
resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==}
|
| 113 |
-
engines: {node: '>=6.9.0'}
|
| 114 |
-
|
| 115 |
-
'@dagrejs/dagre@2.0.4':
|
| 116 |
-
resolution: {integrity: sha512-J6vCWTNpicHF4zFlZG1cS5DkGzMr9941gddYkakjrg3ZNev4bbqEgLHFTWiFrcJm7UCRu7olO3K6IRDd9gSGhA==}
|
| 117 |
-
|
| 118 |
-
'@dagrejs/graphlib@3.0.4':
|
| 119 |
-
resolution: {integrity: sha512-HxZ7fCvAwTLCWCO0WjDkzAFQze8LdC6iOpKbetDKHIuDfIgMlIzYzqZ4nxwLlclQX+3ZVeZ1K2OuaOE2WWcyOg==}
|
| 120 |
-
|
| 121 |
-
'@emnapi/core@1.10.0':
|
| 122 |
-
resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==}
|
| 123 |
-
|
| 124 |
-
'@emnapi/runtime@1.10.0':
|
| 125 |
-
resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
|
| 126 |
-
|
| 127 |
-
'@emnapi/wasi-threads@1.2.1':
|
| 128 |
-
resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
|
| 129 |
-
|
| 130 |
-
'@exodus/schemasafe@1.3.0':
|
| 131 |
-
resolution: {integrity: sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==}
|
| 132 |
-
|
| 133 |
-
'@floating-ui/core@1.7.5':
|
| 134 |
-
resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==}
|
| 135 |
-
|
| 136 |
-
'@floating-ui/dom@1.7.6':
|
| 137 |
-
resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==}
|
| 138 |
-
|
| 139 |
-
'@floating-ui/utils@0.2.11':
|
| 140 |
-
resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}
|
| 141 |
-
|
| 142 |
-
'@fontsource-variable/oxanium@5.2.8':
|
| 143 |
-
resolution: {integrity: sha512-W3HWxRLXVB6yox3dgm1DIGOp98pz8KglwiM6/2BsMopvZrg98mXI9citFWz2pUX0FOOLwf8fmHxX+KrIn+6BoA==}
|
| 144 |
-
|
| 145 |
-
'@fontsource-variable/roboto-slab@5.2.8':
|
| 146 |
-
resolution: {integrity: sha512-cdvOSwocP50xS01gXqnGxw7uFcCZQgn1IDlqiAmNuZP4uEVScYAKMDC+aWsbP1grn9QdMJ2frhcuVBNXniBVGA==}
|
| 147 |
-
|
| 148 |
-
'@hapi/hoek@9.3.0':
|
| 149 |
-
resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
|
| 150 |
-
|
| 151 |
-
'@hapi/topo@5.1.0':
|
| 152 |
-
resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
|
| 153 |
-
|
| 154 |
-
'@internationalized/date@3.12.1':
|
| 155 |
-
resolution: {integrity: sha512-6IedsVWXyq4P9Tj+TxuU8WGWM70hYLl12nbYU8jkikVpa6WXapFazPUcHUMDMoWftIDE2ILDkFFte6W2nFCkRQ==}
|
| 156 |
-
|
| 157 |
-
'@jridgewell/gen-mapping@0.3.13':
|
| 158 |
-
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
|
| 159 |
-
|
| 160 |
-
'@jridgewell/remapping@2.3.5':
|
| 161 |
-
resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
|
| 162 |
-
|
| 163 |
-
'@jridgewell/resolve-uri@3.1.2':
|
| 164 |
-
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
|
| 165 |
-
engines: {node: '>=6.0.0'}
|
| 166 |
-
|
| 167 |
-
'@jridgewell/sourcemap-codec@1.5.5':
|
| 168 |
-
resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
|
| 169 |
-
|
| 170 |
-
'@jridgewell/trace-mapping@0.3.31':
|
| 171 |
-
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
|
| 172 |
-
|
| 173 |
-
'@layerstack/svelte-actions@1.0.1-next.18':
|
| 174 |
-
resolution: {integrity: sha512-gxPzCnJ1c9LTfWtRqLUzefCx+k59ZpxDUQ2XB+LokveZQPe7IDSOwHaBOEMlaGoGrtwc3Ft8dSZq+2WT2o9u/g==}
|
| 175 |
-
|
| 176 |
-
'@layerstack/svelte-state@0.1.0-next.23':
|
| 177 |
-
resolution: {integrity: sha512-7O4umv+gXwFfs3/vjzFWYHNXGwYnnjBapWJ5Y+9u99F4eVk6rh4ocNwqkqQNkpMZ5tUJBlRTWjPE1So6+hEzIg==}
|
| 178 |
-
|
| 179 |
-
'@layerstack/tailwind@2.0.0-next.21':
|
| 180 |
-
resolution: {integrity: sha512-Qgp2EpmEHmjtura8MQzWicR6ztBRSsRvddakFtx9ShrLMz6jWzd6bCMVVRu44Q3ZOrtXmSu4QxjCZWu1ytvuPg==}
|
| 181 |
-
|
| 182 |
-
'@layerstack/utils@2.0.0-next.18':
|
| 183 |
-
resolution: {integrity: sha512-EYILHpfBRYMMEahajInu9C2AXQom5IcAEdtCeucD3QIl/fdDgRbtzn6/8QW9ewumfyNZetdUvitOksmI1+gZYQ==}
|
| 184 |
-
|
| 185 |
-
'@napi-rs/wasm-runtime@1.1.4':
|
| 186 |
-
resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==}
|
| 187 |
-
peerDependencies:
|
| 188 |
-
'@emnapi/core': ^1.7.1
|
| 189 |
-
'@emnapi/runtime': ^1.7.1
|
| 190 |
-
|
| 191 |
-
'@oxc-project/types@0.127.0':
|
| 192 |
-
resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==}
|
| 193 |
-
|
| 194 |
-
'@polka/url@1.0.0-next.29':
|
| 195 |
-
resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
|
| 196 |
-
|
| 197 |
-
'@poppinss/macroable@1.1.2':
|
| 198 |
-
resolution: {integrity: sha512-FAVBRzzWhYP5mA3lCwLH1A0fKBqq5anyjGet90Z81aRK5c/+LTGUE1zJhZrErjaenBSOOI9BVUs3WVmotneFQA==}
|
| 199 |
-
|
| 200 |
-
'@rolldown/binding-android-arm64@1.0.0-rc.17':
|
| 201 |
-
resolution: {integrity: sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==}
|
| 202 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 203 |
-
cpu: [arm64]
|
| 204 |
-
os: [android]
|
| 205 |
-
|
| 206 |
-
'@rolldown/binding-darwin-arm64@1.0.0-rc.17':
|
| 207 |
-
resolution: {integrity: sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==}
|
| 208 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 209 |
-
cpu: [arm64]
|
| 210 |
-
os: [darwin]
|
| 211 |
-
|
| 212 |
-
'@rolldown/binding-darwin-x64@1.0.0-rc.17':
|
| 213 |
-
resolution: {integrity: sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==}
|
| 214 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 215 |
-
cpu: [x64]
|
| 216 |
-
os: [darwin]
|
| 217 |
-
|
| 218 |
-
'@rolldown/binding-freebsd-x64@1.0.0-rc.17':
|
| 219 |
-
resolution: {integrity: sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==}
|
| 220 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 221 |
-
cpu: [x64]
|
| 222 |
-
os: [freebsd]
|
| 223 |
-
|
| 224 |
-
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17':
|
| 225 |
-
resolution: {integrity: sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==}
|
| 226 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 227 |
-
cpu: [arm]
|
| 228 |
-
os: [linux]
|
| 229 |
-
|
| 230 |
-
'@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17':
|
| 231 |
-
resolution: {integrity: sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==}
|
| 232 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 233 |
-
cpu: [arm64]
|
| 234 |
-
os: [linux]
|
| 235 |
-
libc: [glibc]
|
| 236 |
-
|
| 237 |
-
'@rolldown/binding-linux-arm64-musl@1.0.0-rc.17':
|
| 238 |
-
resolution: {integrity: sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==}
|
| 239 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 240 |
-
cpu: [arm64]
|
| 241 |
-
os: [linux]
|
| 242 |
-
libc: [musl]
|
| 243 |
-
|
| 244 |
-
'@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17':
|
| 245 |
-
resolution: {integrity: sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==}
|
| 246 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 247 |
-
cpu: [ppc64]
|
| 248 |
-
os: [linux]
|
| 249 |
-
libc: [glibc]
|
| 250 |
-
|
| 251 |
-
'@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17':
|
| 252 |
-
resolution: {integrity: sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==}
|
| 253 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 254 |
-
cpu: [s390x]
|
| 255 |
-
os: [linux]
|
| 256 |
-
libc: [glibc]
|
| 257 |
-
|
| 258 |
-
'@rolldown/binding-linux-x64-gnu@1.0.0-rc.17':
|
| 259 |
-
resolution: {integrity: sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==}
|
| 260 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 261 |
-
cpu: [x64]
|
| 262 |
-
os: [linux]
|
| 263 |
-
libc: [glibc]
|
| 264 |
-
|
| 265 |
-
'@rolldown/binding-linux-x64-musl@1.0.0-rc.17':
|
| 266 |
-
resolution: {integrity: sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==}
|
| 267 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 268 |
-
cpu: [x64]
|
| 269 |
-
os: [linux]
|
| 270 |
-
libc: [musl]
|
| 271 |
-
|
| 272 |
-
'@rolldown/binding-openharmony-arm64@1.0.0-rc.17':
|
| 273 |
-
resolution: {integrity: sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==}
|
| 274 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 275 |
-
cpu: [arm64]
|
| 276 |
-
os: [openharmony]
|
| 277 |
-
|
| 278 |
-
'@rolldown/binding-wasm32-wasi@1.0.0-rc.17':
|
| 279 |
-
resolution: {integrity: sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==}
|
| 280 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 281 |
-
cpu: [wasm32]
|
| 282 |
-
|
| 283 |
-
'@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17':
|
| 284 |
-
resolution: {integrity: sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==}
|
| 285 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 286 |
-
cpu: [arm64]
|
| 287 |
-
os: [win32]
|
| 288 |
-
|
| 289 |
-
'@rolldown/binding-win32-x64-msvc@1.0.0-rc.17':
|
| 290 |
-
resolution: {integrity: sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==}
|
| 291 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 292 |
-
cpu: [x64]
|
| 293 |
-
os: [win32]
|
| 294 |
-
|
| 295 |
-
'@rolldown/pluginutils@1.0.0-rc.17':
|
| 296 |
-
resolution: {integrity: sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==}
|
| 297 |
-
|
| 298 |
-
'@sideway/address@4.1.5':
|
| 299 |
-
resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
|
| 300 |
-
|
| 301 |
-
'@sideway/formula@3.0.1':
|
| 302 |
-
resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
|
| 303 |
-
|
| 304 |
-
'@sideway/pinpoint@2.0.0':
|
| 305 |
-
resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
|
| 306 |
-
|
| 307 |
-
'@standard-schema/spec@1.1.0':
|
| 308 |
-
resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
|
| 309 |
-
|
| 310 |
-
'@sveltejs/acorn-typescript@1.0.9':
|
| 311 |
-
resolution: {integrity: sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA==}
|
| 312 |
-
peerDependencies:
|
| 313 |
-
acorn: ^8.9.0
|
| 314 |
-
|
| 315 |
-
'@sveltejs/adapter-static@3.0.10':
|
| 316 |
-
resolution: {integrity: sha512-7D9lYFWJmB7zxZyTE/qxjksvMqzMuYrrsyh1f4AlZqeZeACPRySjbC3aFiY55wb1tWUaKOQG9PVbm74JcN2Iew==}
|
| 317 |
-
peerDependencies:
|
| 318 |
-
'@sveltejs/kit': ^2.0.0
|
| 319 |
-
|
| 320 |
-
'@sveltejs/kit@2.58.0':
|
| 321 |
-
resolution: {integrity: sha512-kT9GCN8yJTkCK1W+Gi/bvGooWAM7y7WXP+yd+rf6QOIjyoK1ERPrMwSufXJUNu2pMWIqruhFvmz+LbOqsEmKmA==}
|
| 322 |
-
engines: {node: '>=18.13'}
|
| 323 |
-
hasBin: true
|
| 324 |
-
peerDependencies:
|
| 325 |
-
'@opentelemetry/api': ^1.0.0
|
| 326 |
-
'@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 || ^7.0.0
|
| 327 |
-
svelte: ^4.0.0 || ^5.0.0-next.0
|
| 328 |
-
typescript: ^5.3.3 || ^6.0.0
|
| 329 |
-
vite: ^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 || ^8.0.0
|
| 330 |
-
peerDependenciesMeta:
|
| 331 |
-
'@opentelemetry/api':
|
| 332 |
-
optional: true
|
| 333 |
-
typescript:
|
| 334 |
-
optional: true
|
| 335 |
-
|
| 336 |
-
'@sveltejs/vite-plugin-svelte@7.0.0':
|
| 337 |
-
resolution: {integrity: sha512-ILXmxC7HAsnkK2eslgPetrqqW1BKSL7LktsFgqzNj83MaivMGZzluWq32m25j2mDOjmSKX7GGWahePhuEs7P/g==}
|
| 338 |
-
engines: {node: ^20.19 || ^22.12 || >=24}
|
| 339 |
-
peerDependencies:
|
| 340 |
-
svelte: ^5.46.4
|
| 341 |
-
vite: ^8.0.0-beta.7 || ^8.0.0
|
| 342 |
-
|
| 343 |
-
'@swc/helpers@0.5.21':
|
| 344 |
-
resolution: {integrity: sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==}
|
| 345 |
-
|
| 346 |
-
'@tailwindcss/node@4.2.4':
|
| 347 |
-
resolution: {integrity: sha512-Ai7+yQPxz3ddrDQzFfBKdHEVBg0w3Zl83jnjuwxnZOsnH9pGn93QHQtpU0p/8rYWxvbFZHneni6p1BSLK4DkGA==}
|
| 348 |
-
|
| 349 |
-
'@tailwindcss/oxide-android-arm64@4.2.4':
|
| 350 |
-
resolution: {integrity: sha512-e7MOr1SAn9U8KlZzPi1ZXGZHeC5anY36qjNwmZv9pOJ8E4Q6jmD1vyEHkQFmNOIN7twGPEMXRHmitN4zCMN03g==}
|
| 351 |
-
engines: {node: '>= 20'}
|
| 352 |
-
cpu: [arm64]
|
| 353 |
-
os: [android]
|
| 354 |
-
|
| 355 |
-
'@tailwindcss/oxide-darwin-arm64@4.2.4':
|
| 356 |
-
resolution: {integrity: sha512-tSC/Kbqpz/5/o/C2sG7QvOxAKqyd10bq+ypZNf+9Fi2TvbVbv1zNpcEptcsU7DPROaSbVgUXmrzKhurFvo5eDg==}
|
| 357 |
-
engines: {node: '>= 20'}
|
| 358 |
-
cpu: [arm64]
|
| 359 |
-
os: [darwin]
|
| 360 |
-
|
| 361 |
-
'@tailwindcss/oxide-darwin-x64@4.2.4':
|
| 362 |
-
resolution: {integrity: sha512-yPyUXn3yO/ufR6+Kzv0t4fCg2qNr90jxXc5QqBpjlPNd0NqyDXcmQb/6weunH/MEDXW5dhyEi+agTDiqa3WsGg==}
|
| 363 |
-
engines: {node: '>= 20'}
|
| 364 |
-
cpu: [x64]
|
| 365 |
-
os: [darwin]
|
| 366 |
-
|
| 367 |
-
'@tailwindcss/oxide-freebsd-x64@4.2.4':
|
| 368 |
-
resolution: {integrity: sha512-BoMIB4vMQtZsXdGLVc2z+P9DbETkiopogfWZKbWwM8b/1Vinbs4YcUwo+kM/KeLkX3Ygrf4/PsRndKaYhS8Eiw==}
|
| 369 |
-
engines: {node: '>= 20'}
|
| 370 |
-
cpu: [x64]
|
| 371 |
-
os: [freebsd]
|
| 372 |
-
|
| 373 |
-
'@tailwindcss/oxide-linux-arm-gnueabihf@4.2.4':
|
| 374 |
-
resolution: {integrity: sha512-7pIHBLTHYRAlS7V22JNuTh33yLH4VElwKtB3bwchK/UaKUPpQ0lPQiOWcbm4V3WP2I6fNIJ23vABIvoy2izdwA==}
|
| 375 |
-
engines: {node: '>= 20'}
|
| 376 |
-
cpu: [arm]
|
| 377 |
-
os: [linux]
|
| 378 |
-
|
| 379 |
-
'@tailwindcss/oxide-linux-arm64-gnu@4.2.4':
|
| 380 |
-
resolution: {integrity: sha512-+E4wxJ0ZGOzSH325reXTWB48l42i93kQqMvDyz5gqfRzRZ7faNhnmvlV4EPGJU3QJM/3Ab5jhJ5pCRUsKn6OQw==}
|
| 381 |
-
engines: {node: '>= 20'}
|
| 382 |
-
cpu: [arm64]
|
| 383 |
-
os: [linux]
|
| 384 |
-
libc: [glibc]
|
| 385 |
-
|
| 386 |
-
'@tailwindcss/oxide-linux-arm64-musl@4.2.4':
|
| 387 |
-
resolution: {integrity: sha512-bBADEGAbo4ASnppIziaQJelekCxdMaxisrk+fB7Thit72IBnALp9K6ffA2G4ruj90G9XRS2VQ6q2bCKbfFV82g==}
|
| 388 |
-
engines: {node: '>= 20'}
|
| 389 |
-
cpu: [arm64]
|
| 390 |
-
os: [linux]
|
| 391 |
-
libc: [musl]
|
| 392 |
-
|
| 393 |
-
'@tailwindcss/oxide-linux-x64-gnu@4.2.4':
|
| 394 |
-
resolution: {integrity: sha512-7Mx25E4WTfnht0TVRTyC00j3i0M+EeFe7wguMDTlX4mRxafznw0CA8WJkFjWYH5BlgELd1kSjuU2JiPnNZbJDA==}
|
| 395 |
-
engines: {node: '>= 20'}
|
| 396 |
-
cpu: [x64]
|
| 397 |
-
os: [linux]
|
| 398 |
-
libc: [glibc]
|
| 399 |
-
|
| 400 |
-
'@tailwindcss/oxide-linux-x64-musl@4.2.4':
|
| 401 |
-
resolution: {integrity: sha512-2wwJRF7nyhOR0hhHoChc04xngV3iS+akccHTGtz965FwF0up4b2lOdo6kI1EbDaEXKgvcrFBYcYQQ/rrnWFVfA==}
|
| 402 |
-
engines: {node: '>= 20'}
|
| 403 |
-
cpu: [x64]
|
| 404 |
-
os: [linux]
|
| 405 |
-
libc: [musl]
|
| 406 |
-
|
| 407 |
-
'@tailwindcss/oxide-wasm32-wasi@4.2.4':
|
| 408 |
-
resolution: {integrity: sha512-FQsqApeor8Fo6gUEklzmaa9994orJZZDBAlQpK2Mq+DslRKFJeD6AjHpBQ0kZFQohVr8o85PPh8eOy86VlSCmw==}
|
| 409 |
-
engines: {node: '>=14.0.0'}
|
| 410 |
-
cpu: [wasm32]
|
| 411 |
-
bundledDependencies:
|
| 412 |
-
- '@napi-rs/wasm-runtime'
|
| 413 |
-
- '@emnapi/core'
|
| 414 |
-
- '@emnapi/runtime'
|
| 415 |
-
- '@tybys/wasm-util'
|
| 416 |
-
- '@emnapi/wasi-threads'
|
| 417 |
-
- tslib
|
| 418 |
-
|
| 419 |
-
'@tailwindcss/oxide-win32-arm64-msvc@4.2.4':
|
| 420 |
-
resolution: {integrity: sha512-L9BXqxC4ToVgwMFqj3pmZRqyHEztulpUJzCxUtLjobMCzTPsGt1Fa9enKbOpY2iIyVtaHNeNvAK8ERP/64sqGQ==}
|
| 421 |
-
engines: {node: '>= 20'}
|
| 422 |
-
cpu: [arm64]
|
| 423 |
-
os: [win32]
|
| 424 |
-
|
| 425 |
-
'@tailwindcss/oxide-win32-x64-msvc@4.2.4':
|
| 426 |
-
resolution: {integrity: sha512-ESlKG0EpVJQwRjXDDa9rLvhEAh0mhP1sF7sap9dNZT0yyl9SAG6T7gdP09EH0vIv0UNTlo6jPWyujD6559fZvw==}
|
| 427 |
-
engines: {node: '>= 20'}
|
| 428 |
-
cpu: [x64]
|
| 429 |
-
os: [win32]
|
| 430 |
-
|
| 431 |
-
'@tailwindcss/oxide@4.2.4':
|
| 432 |
-
resolution: {integrity: sha512-9El/iI069DKDSXwTvB9J4BwdO5JhRrOweGaK25taBAvBXyXqJAX+Jqdvs8r8gKpsI/1m0LeJLyQYTf/WLrBT1Q==}
|
| 433 |
-
engines: {node: '>= 20'}
|
| 434 |
-
|
| 435 |
-
'@tailwindcss/vite@4.2.4':
|
| 436 |
-
resolution: {integrity: sha512-pCvohwOCspk3ZFn6eJzrrX3g4n2JY73H6MmYC87XfGPyTty4YsCjYTMArRZm/zOI8dIt3+EcrLHAFPe5A4bgtw==}
|
| 437 |
-
peerDependencies:
|
| 438 |
-
vite: ^5.2.0 || ^6 || ^7 || ^8
|
| 439 |
-
|
| 440 |
-
'@tanstack/table-core@8.21.3':
|
| 441 |
-
resolution: {integrity: sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==}
|
| 442 |
-
engines: {node: '>=12'}
|
| 443 |
-
|
| 444 |
-
'@tybys/wasm-util@0.10.1':
|
| 445 |
-
resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
|
| 446 |
-
|
| 447 |
-
'@types/command-line-args@5.2.3':
|
| 448 |
-
resolution: {integrity: sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==}
|
| 449 |
-
|
| 450 |
-
'@types/command-line-usage@5.0.4':
|
| 451 |
-
resolution: {integrity: sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg==}
|
| 452 |
-
|
| 453 |
-
'@types/cookie@0.6.0':
|
| 454 |
-
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
|
| 455 |
-
|
| 456 |
-
'@types/d3-array@3.2.2':
|
| 457 |
-
resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==}
|
| 458 |
-
|
| 459 |
-
'@types/d3-contour@3.0.6':
|
| 460 |
-
resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
|
| 461 |
-
|
| 462 |
-
'@types/dom-mediacapture-transform@0.1.11':
|
| 463 |
-
resolution: {integrity: sha512-Y2p+nGf1bF2XMttBnsVPHUWzRRZzqUoJAKmiP10b5umnO6DDrWI0BrGDJy1pOHoOULVmGSfFNkQrAlC5dcj6nQ==}
|
| 464 |
-
|
| 465 |
-
'@types/dom-webcodecs@0.1.13':
|
| 466 |
-
resolution: {integrity: sha512-O5hkiFIcjjszPIYyUSyvScyvrBoV3NOEEZx/pMlsu44TKzWNkLVBBxnxJz42in5n3QIolYOcBYFCPZZ0h8SkwQ==}
|
| 467 |
-
|
| 468 |
-
'@types/estree@1.0.8':
|
| 469 |
-
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
|
| 470 |
-
|
| 471 |
-
'@types/geojson@7946.0.16':
|
| 472 |
-
resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
|
| 473 |
-
|
| 474 |
-
'@types/node@24.12.2':
|
| 475 |
-
resolution: {integrity: sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==}
|
| 476 |
-
|
| 477 |
-
'@types/trusted-types@2.0.7':
|
| 478 |
-
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
|
| 479 |
-
|
| 480 |
-
'@types/validator@13.15.10':
|
| 481 |
-
resolution: {integrity: sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==}
|
| 482 |
-
|
| 483 |
-
'@typeschema/class-validator@0.3.0':
|
| 484 |
-
resolution: {integrity: sha512-OJSFeZDIQ8EK1HTljKLT5CItM2wsbgczLN8tMEfz3I1Lmhc5TBfkZ0eikFzUC16tI3d1Nag7um6TfCgp2I2Bww==}
|
| 485 |
-
peerDependencies:
|
| 486 |
-
class-validator: ^0.14.1
|
| 487 |
-
peerDependenciesMeta:
|
| 488 |
-
class-validator:
|
| 489 |
-
optional: true
|
| 490 |
-
|
| 491 |
-
'@typeschema/core@0.14.0':
|
| 492 |
-
resolution: {integrity: sha512-Ia6PtZHcL3KqsAWXjMi5xIyZ7XMH4aSnOQes8mfMLx+wGFGtGRNlwe6Y7cYvX+WfNK67OL0/HSe9t8QDygV0/w==}
|
| 493 |
-
peerDependencies:
|
| 494 |
-
'@types/json-schema': ^7.0.15
|
| 495 |
-
peerDependenciesMeta:
|
| 496 |
-
'@types/json-schema':
|
| 497 |
-
optional: true
|
| 498 |
-
|
| 499 |
-
'@valibot/to-json-schema@1.6.0':
|
| 500 |
-
resolution: {integrity: sha512-d6rYyK5KVa2XdqamWgZ4/Nr+cXhxjy7lmpe6Iajw15J/jmU+gyxl2IEd1Otg1d7Rl3gOQL5reulnSypzBtYy1A==}
|
| 501 |
-
peerDependencies:
|
| 502 |
-
valibot: ^1.3.0
|
| 503 |
-
|
| 504 |
-
'@vinejs/compiler@3.0.0':
|
| 505 |
-
resolution: {integrity: sha512-v9Lsv59nR56+bmy2p0+czjZxsLHwaibJ+SV5iK9JJfehlJMa501jUJQqqz4X/OqKXrxtE3uTQmSqjUqzF3B2mw==}
|
| 506 |
-
engines: {node: '>=18.0.0'}
|
| 507 |
-
|
| 508 |
-
'@vinejs/vine@3.0.1':
|
| 509 |
-
resolution: {integrity: sha512-ZtvYkYpZOYdvbws3uaOAvTFuvFXoQGAtmzeiXu+XSMGxi5GVsODpoI9Xu9TplEMuD/5fmAtBbKb9cQHkWkLXDQ==}
|
| 510 |
-
engines: {node: '>=18.16.0'}
|
| 511 |
-
|
| 512 |
-
acorn@8.16.0:
|
| 513 |
-
resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==}
|
| 514 |
-
engines: {node: '>=0.4.0'}
|
| 515 |
-
hasBin: true
|
| 516 |
-
|
| 517 |
-
ansi-styles@4.3.0:
|
| 518 |
-
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
|
| 519 |
-
engines: {node: '>=8'}
|
| 520 |
-
|
| 521 |
-
apache-arrow@21.1.0:
|
| 522 |
-
resolution: {integrity: sha512-kQrYLxhC+NTVVZ4CCzGF6L/uPVOzJmD1T3XgbiUnP7oTeVFOFgEUu6IKNwCDkpFoBVqDKQivlX4RUFqqnWFlEA==}
|
| 523 |
-
hasBin: true
|
| 524 |
-
|
| 525 |
-
aria-query@5.3.1:
|
| 526 |
-
resolution: {integrity: sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==}
|
| 527 |
-
engines: {node: '>= 0.4'}
|
| 528 |
-
|
| 529 |
-
arkregex@0.0.5:
|
| 530 |
-
resolution: {integrity: sha512-ncYjBdLlh5/QnVsAA8De16Tc9EqmYM7y/WU9j+236KcyYNUXogpz3sC4ATIZYzzLxwI+0sEOaQLEmLmRleaEXw==}
|
| 531 |
-
|
| 532 |
-
arktype@2.2.0:
|
| 533 |
-
resolution: {integrity: sha512-t54MZ7ti5BhOEvzEkgKnWvqj+UbDfWig+DHr5I34xatymPusKLS0lQpNJd8M6DzmIto2QGszHfNKoFIT8tMCZQ==}
|
| 534 |
-
|
| 535 |
-
array-back@6.2.3:
|
| 536 |
-
resolution: {integrity: sha512-SGDvmg6QTYiTxCBkYVmThcoa67uLl35pyzRHdpCGBOcqFy6BtwnphoFPk7LhJshD+Yk1Kt35WGWeZPTgwR4Fhw==}
|
| 537 |
-
engines: {node: '>=12.17'}
|
| 538 |
-
|
| 539 |
-
axobject-query@4.1.0:
|
| 540 |
-
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
|
| 541 |
-
engines: {node: '>= 0.4'}
|
| 542 |
-
|
| 543 |
-
bits-ui@2.18.0:
|
| 544 |
-
resolution: {integrity: sha512-GLOBZRVy3hxNHIQ2MpD/+5aK9KcBFZRhUJtZ1UDABXdlVR4K6zFpgt4T+Rwuhf2sQzlc6yK1q/DprHPjwT4Pjw==}
|
| 545 |
-
engines: {node: '>=20'}
|
| 546 |
-
peerDependencies:
|
| 547 |
-
'@internationalized/date': ^3.8.1
|
| 548 |
-
svelte: ^5.33.0
|
| 549 |
-
|
| 550 |
-
camelcase@8.0.0:
|
| 551 |
-
resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==}
|
| 552 |
-
engines: {node: '>=16'}
|
| 553 |
-
|
| 554 |
-
chalk-template@0.4.0:
|
| 555 |
-
resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==}
|
| 556 |
-
engines: {node: '>=12'}
|
| 557 |
-
|
| 558 |
-
chalk@4.1.2:
|
| 559 |
-
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
| 560 |
-
engines: {node: '>=10'}
|
| 561 |
-
|
| 562 |
-
chokidar@4.0.3:
|
| 563 |
-
resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
|
| 564 |
-
engines: {node: '>= 14.16.0'}
|
| 565 |
-
|
| 566 |
-
class-validator@0.14.4:
|
| 567 |
-
resolution: {integrity: sha512-AwNusCCam51q703dW82x95tOqQp6oC9HNUl724KxJJOfnKscI8dOloXFgyez7LbTTKWuRBA37FScqVbJEoq8Yw==}
|
| 568 |
-
|
| 569 |
-
clsx@2.1.1:
|
| 570 |
-
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
|
| 571 |
-
engines: {node: '>=6'}
|
| 572 |
-
|
| 573 |
-
color-convert@2.0.1:
|
| 574 |
-
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
| 575 |
-
engines: {node: '>=7.0.0'}
|
| 576 |
-
|
| 577 |
-
color-name@1.1.4:
|
| 578 |
-
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
| 579 |
-
|
| 580 |
-
command-line-args@6.0.2:
|
| 581 |
-
resolution: {integrity: sha512-AIjYVxrV9X752LmPDLbVYv8aMCuHPSLZJXEo2qo/xJfv+NYhaZ4sMSF01rM+gHPaMgvPM0l5D/F+Qx+i2WfSmQ==}
|
| 582 |
-
engines: {node: '>=12.20'}
|
| 583 |
-
peerDependencies:
|
| 584 |
-
'@75lb/nature': latest
|
| 585 |
-
peerDependenciesMeta:
|
| 586 |
-
'@75lb/nature':
|
| 587 |
-
optional: true
|
| 588 |
-
|
| 589 |
-
command-line-usage@7.0.4:
|
| 590 |
-
resolution: {integrity: sha512-85UdvzTNx/+s5CkSgBm/0hzP80RFHAa7PsfeADE5ezZF3uHz3/Tqj9gIKGT9PTtpycc3Ua64T0oVulGfKxzfqg==}
|
| 591 |
-
engines: {node: '>=12.20.0'}
|
| 592 |
-
|
| 593 |
-
commander@14.0.3:
|
| 594 |
-
resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==}
|
| 595 |
-
engines: {node: '>=20'}
|
| 596 |
-
|
| 597 |
-
commander@7.2.0:
|
| 598 |
-
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
|
| 599 |
-
engines: {node: '>= 10'}
|
| 600 |
-
|
| 601 |
-
cookie@0.6.0:
|
| 602 |
-
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
|
| 603 |
-
engines: {node: '>= 0.6'}
|
| 604 |
-
|
| 605 |
-
d3-array@2.12.1:
|
| 606 |
-
resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
|
| 607 |
-
|
| 608 |
-
d3-array@3.2.4:
|
| 609 |
-
resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
|
| 610 |
-
engines: {node: '>=12'}
|
| 611 |
-
|
| 612 |
-
d3-chord@3.0.1:
|
| 613 |
-
resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
|
| 614 |
-
engines: {node: '>=12'}
|
| 615 |
-
|
| 616 |
-
d3-color@3.1.0:
|
| 617 |
-
resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
|
| 618 |
-
engines: {node: '>=12'}
|
| 619 |
-
|
| 620 |
-
d3-contour@4.0.2:
|
| 621 |
-
resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
|
| 622 |
-
engines: {node: '>=12'}
|
| 623 |
-
|
| 624 |
-
d3-delaunay@6.0.4:
|
| 625 |
-
resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
|
| 626 |
-
engines: {node: '>=12'}
|
| 627 |
-
|
| 628 |
-
d3-dispatch@3.0.1:
|
| 629 |
-
resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
|
| 630 |
-
engines: {node: '>=12'}
|
| 631 |
-
|
| 632 |
-
d3-dsv@3.0.1:
|
| 633 |
-
resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
|
| 634 |
-
engines: {node: '>=12'}
|
| 635 |
-
hasBin: true
|
| 636 |
-
|
| 637 |
-
d3-force@3.0.0:
|
| 638 |
-
resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
|
| 639 |
-
engines: {node: '>=12'}
|
| 640 |
-
|
| 641 |
-
d3-format@3.1.2:
|
| 642 |
-
resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==}
|
| 643 |
-
engines: {node: '>=12'}
|
| 644 |
-
|
| 645 |
-
d3-geo-voronoi@2.1.0:
|
| 646 |
-
resolution: {integrity: sha512-kqE4yYuOjPbKdBXG0xztCacPwkVSK2REF1opSNrnqqtXJmNcM++UbwQ8SxvwP6IQTj9RvIjjK4qeiVsEfj0Z2Q==}
|
| 647 |
-
engines: {node: '>=12'}
|
| 648 |
-
|
| 649 |
-
d3-geo@3.1.1:
|
| 650 |
-
resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==}
|
| 651 |
-
engines: {node: '>=12'}
|
| 652 |
-
|
| 653 |
-
d3-hierarchy@3.1.2:
|
| 654 |
-
resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
|
| 655 |
-
engines: {node: '>=12'}
|
| 656 |
-
|
| 657 |
-
d3-interpolate-path@2.3.0:
|
| 658 |
-
resolution: {integrity: sha512-tZYtGXxBmbgHsIc9Wms6LS5u4w6KbP8C09a4/ZYc4KLMYYqub57rRBUgpUr2CIarIrJEpdAWWxWQvofgaMpbKQ==}
|
| 659 |
-
|
| 660 |
-
d3-interpolate@3.0.1:
|
| 661 |
-
resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
|
| 662 |
-
engines: {node: '>=12'}
|
| 663 |
-
|
| 664 |
-
d3-path@1.0.9:
|
| 665 |
-
resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
|
| 666 |
-
|
| 667 |
-
d3-path@3.1.0:
|
| 668 |
-
resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
|
| 669 |
-
engines: {node: '>=12'}
|
| 670 |
-
|
| 671 |
-
d3-quadtree@3.0.1:
|
| 672 |
-
resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
|
| 673 |
-
engines: {node: '>=12'}
|
| 674 |
-
|
| 675 |
-
d3-random@3.0.1:
|
| 676 |
-
resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
|
| 677 |
-
engines: {node: '>=12'}
|
| 678 |
-
|
| 679 |
-
d3-sankey@0.12.3:
|
| 680 |
-
resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
|
| 681 |
-
|
| 682 |
-
d3-scale-chromatic@3.1.0:
|
| 683 |
-
resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==}
|
| 684 |
-
engines: {node: '>=12'}
|
| 685 |
-
|
| 686 |
-
d3-scale@4.0.2:
|
| 687 |
-
resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
|
| 688 |
-
engines: {node: '>=12'}
|
| 689 |
-
|
| 690 |
-
d3-shape@1.3.7:
|
| 691 |
-
resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
|
| 692 |
-
|
| 693 |
-
d3-shape@3.2.0:
|
| 694 |
-
resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
|
| 695 |
-
engines: {node: '>=12'}
|
| 696 |
-
|
| 697 |
-
d3-tile@1.0.0:
|
| 698 |
-
resolution: {integrity: sha512-79fnTKpPMPDS5xQ0xuS9ir0165NEwwkFpe/DSOmc2Gl9ldYzKKRDWogmTTE8wAJ8NA7PMapNfEcyKhI9Lxdu5Q==}
|
| 699 |
-
|
| 700 |
-
d3-time-format@4.1.0:
|
| 701 |
-
resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
|
| 702 |
-
engines: {node: '>=12'}
|
| 703 |
-
|
| 704 |
-
d3-time@3.1.0:
|
| 705 |
-
resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
|
| 706 |
-
engines: {node: '>=12'}
|
| 707 |
-
|
| 708 |
-
d3-timer@3.0.1:
|
| 709 |
-
resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
|
| 710 |
-
engines: {node: '>=12'}
|
| 711 |
-
|
| 712 |
-
d3-tricontour@1.1.0:
|
| 713 |
-
resolution: {integrity: sha512-G7gHKj89n2owmkGb6WX6ixcnQ0Kf/0wpa9VIh9DGdbHu8wdrlaHU4ir3/bFNERl8N8nn4G7e7qbtBG8N9caihQ==}
|
| 714 |
-
engines: {node: '>=12'}
|
| 715 |
-
|
| 716 |
-
dayjs@1.11.20:
|
| 717 |
-
resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==}
|
| 718 |
-
|
| 719 |
-
deepmerge@4.3.1:
|
| 720 |
-
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
|
| 721 |
-
engines: {node: '>=0.10.0'}
|
| 722 |
-
|
| 723 |
-
delaunator@5.1.0:
|
| 724 |
-
resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==}
|
| 725 |
-
|
| 726 |
-
dequal@2.0.3:
|
| 727 |
-
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
|
| 728 |
-
engines: {node: '>=6'}
|
| 729 |
-
|
| 730 |
-
detect-libc@2.1.2:
|
| 731 |
-
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
|
| 732 |
-
engines: {node: '>=8'}
|
| 733 |
-
|
| 734 |
-
devalue@5.7.1:
|
| 735 |
-
resolution: {integrity: sha512-MUbZ586EgQqdRnC4yDrlod3BEdyvE4TapGYHMW2CiaW+KkkFmWEFqBUaLltEZCGi0iFXCEjRF0OjF0DV2QHjOA==}
|
| 736 |
-
|
| 737 |
-
dlv@1.1.3:
|
| 738 |
-
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
|
| 739 |
-
|
| 740 |
-
effect@3.21.2:
|
| 741 |
-
resolution: {integrity: sha512-rXd2FGDM8KdjSIrc+mqEELo7ScW7xTVxEf1iInmPSpIde9/nyGuFM710cjTo7/EreGXiUX2MOonPpprbz2XHCg==}
|
| 742 |
-
|
| 743 |
-
enhanced-resolve@5.21.0:
|
| 744 |
-
resolution: {integrity: sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==}
|
| 745 |
-
engines: {node: '>=10.13.0'}
|
| 746 |
-
|
| 747 |
-
esm-env@1.2.2:
|
| 748 |
-
resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
|
| 749 |
-
|
| 750 |
-
esrap@2.2.5:
|
| 751 |
-
resolution: {integrity: sha512-/yLB1538mag+dn0wsePTe8C0rDIjUOaJpMs2McodSzmM2msWcZsBSdRtg6HOBt0A/r82BN+Md3pgwSc/uWt2Ig==}
|
| 752 |
-
peerDependencies:
|
| 753 |
-
'@typescript-eslint/types': ^8.2.0
|
| 754 |
-
peerDependenciesMeta:
|
| 755 |
-
'@typescript-eslint/types':
|
| 756 |
-
optional: true
|
| 757 |
-
|
| 758 |
-
estree-walker@3.0.3:
|
| 759 |
-
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
|
| 760 |
-
|
| 761 |
-
fast-check@3.23.2:
|
| 762 |
-
resolution: {integrity: sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==}
|
| 763 |
-
engines: {node: '>=8.0.0'}
|
| 764 |
-
|
| 765 |
-
fdir@6.5.0:
|
| 766 |
-
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
|
| 767 |
-
engines: {node: '>=12.0.0'}
|
| 768 |
-
peerDependencies:
|
| 769 |
-
picomatch: ^3 || ^4
|
| 770 |
-
peerDependenciesMeta:
|
| 771 |
-
picomatch:
|
| 772 |
-
optional: true
|
| 773 |
-
|
| 774 |
-
find-replace@5.0.2:
|
| 775 |
-
resolution: {integrity: sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==}
|
| 776 |
-
engines: {node: '>=14'}
|
| 777 |
-
peerDependencies:
|
| 778 |
-
'@75lb/nature': latest
|
| 779 |
-
peerDependenciesMeta:
|
| 780 |
-
'@75lb/nature':
|
| 781 |
-
optional: true
|
| 782 |
-
|
| 783 |
-
flatbuffers@25.9.23:
|
| 784 |
-
resolution: {integrity: sha512-MI1qs7Lo4Syw0EOzUl0xjs2lsoeqFku44KpngfIduHBYvzm8h2+7K8YMQh1JtVVVrUvhLpNwqVi4DERegUJhPQ==}
|
| 785 |
-
|
| 786 |
-
formsnap@2.0.1:
|
| 787 |
-
resolution: {integrity: sha512-iJSe4YKd/W6WhLwKDVJU9FQeaJRpEFuolhju7ZXlRpUVyDdqFdMP8AUBICgnVvQPyP41IPAlBa/v0Eo35iE6wQ==}
|
| 788 |
-
engines: {node: '>=18', pnpm: '>=8.7.0'}
|
| 789 |
-
peerDependencies:
|
| 790 |
-
svelte: ^5.0.0
|
| 791 |
-
sveltekit-superforms: ^2.19.0
|
| 792 |
-
|
| 793 |
-
fsevents@2.3.3:
|
| 794 |
-
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
|
| 795 |
-
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
| 796 |
-
os: [darwin]
|
| 797 |
-
|
| 798 |
-
graceful-fs@4.2.11:
|
| 799 |
-
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
|
| 800 |
-
|
| 801 |
-
has-flag@4.0.0:
|
| 802 |
-
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
| 803 |
-
engines: {node: '>=8'}
|
| 804 |
-
|
| 805 |
-
iconv-lite@0.6.3:
|
| 806 |
-
resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
|
| 807 |
-
engines: {node: '>=0.10.0'}
|
| 808 |
-
|
| 809 |
-
inline-style-parser@0.2.7:
|
| 810 |
-
resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
|
| 811 |
-
|
| 812 |
-
internmap@1.0.1:
|
| 813 |
-
resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
|
| 814 |
-
|
| 815 |
-
internmap@2.0.3:
|
| 816 |
-
resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
|
| 817 |
-
engines: {node: '>=12'}
|
| 818 |
-
|
| 819 |
-
is-reference@3.0.3:
|
| 820 |
-
resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==}
|
| 821 |
-
|
| 822 |
-
jiti@2.6.1:
|
| 823 |
-
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
|
| 824 |
-
hasBin: true
|
| 825 |
-
|
| 826 |
-
joi@17.13.3:
|
| 827 |
-
resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==}
|
| 828 |
-
|
| 829 |
-
json-bignum@0.0.3:
|
| 830 |
-
resolution: {integrity: sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg==}
|
| 831 |
-
engines: {node: '>=0.8'}
|
| 832 |
-
|
| 833 |
-
json-schema-to-ts@3.1.1:
|
| 834 |
-
resolution: {integrity: sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==}
|
| 835 |
-
engines: {node: '>=16'}
|
| 836 |
-
|
| 837 |
-
kleur@4.1.5:
|
| 838 |
-
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
|
| 839 |
-
engines: {node: '>=6'}
|
| 840 |
-
|
| 841 |
-
layerchart@2.0.0-next.48:
|
| 842 |
-
resolution: {integrity: sha512-XoEYBztamA8lMxtF/Jz3aDX0HMk8dI+o4fK9fSl8ecT2Tdx3DQUjtKGtlQAOFdwC/AWifeLmKq5cMTQt9COZPQ==}
|
| 843 |
-
peerDependencies:
|
| 844 |
-
svelte: ^5.0.0
|
| 845 |
-
|
| 846 |
-
libphonenumber-js@1.12.42:
|
| 847 |
-
resolution: {integrity: sha512-oKQFPTibqQwZZkChCDVMFVJXMZdyJNqDWZWYNn8BgyAaK/6yFJEowxCY0RVFirRyWP63hMRuKlkSEd9qlvbWXg==}
|
| 848 |
-
|
| 849 |
-
lightningcss-android-arm64@1.32.0:
|
| 850 |
-
resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
|
| 851 |
-
engines: {node: '>= 12.0.0'}
|
| 852 |
-
cpu: [arm64]
|
| 853 |
-
os: [android]
|
| 854 |
-
|
| 855 |
-
lightningcss-darwin-arm64@1.32.0:
|
| 856 |
-
resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
|
| 857 |
-
engines: {node: '>= 12.0.0'}
|
| 858 |
-
cpu: [arm64]
|
| 859 |
-
os: [darwin]
|
| 860 |
-
|
| 861 |
-
lightningcss-darwin-x64@1.32.0:
|
| 862 |
-
resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
|
| 863 |
-
engines: {node: '>= 12.0.0'}
|
| 864 |
-
cpu: [x64]
|
| 865 |
-
os: [darwin]
|
| 866 |
-
|
| 867 |
-
lightningcss-freebsd-x64@1.32.0:
|
| 868 |
-
resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
|
| 869 |
-
engines: {node: '>= 12.0.0'}
|
| 870 |
-
cpu: [x64]
|
| 871 |
-
os: [freebsd]
|
| 872 |
-
|
| 873 |
-
lightningcss-linux-arm-gnueabihf@1.32.0:
|
| 874 |
-
resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
|
| 875 |
-
engines: {node: '>= 12.0.0'}
|
| 876 |
-
cpu: [arm]
|
| 877 |
-
os: [linux]
|
| 878 |
-
|
| 879 |
-
lightningcss-linux-arm64-gnu@1.32.0:
|
| 880 |
-
resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
|
| 881 |
-
engines: {node: '>= 12.0.0'}
|
| 882 |
-
cpu: [arm64]
|
| 883 |
-
os: [linux]
|
| 884 |
-
libc: [glibc]
|
| 885 |
-
|
| 886 |
-
lightningcss-linux-arm64-musl@1.32.0:
|
| 887 |
-
resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
|
| 888 |
-
engines: {node: '>= 12.0.0'}
|
| 889 |
-
cpu: [arm64]
|
| 890 |
-
os: [linux]
|
| 891 |
-
libc: [musl]
|
| 892 |
-
|
| 893 |
-
lightningcss-linux-x64-gnu@1.32.0:
|
| 894 |
-
resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
|
| 895 |
-
engines: {node: '>= 12.0.0'}
|
| 896 |
-
cpu: [x64]
|
| 897 |
-
os: [linux]
|
| 898 |
-
libc: [glibc]
|
| 899 |
-
|
| 900 |
-
lightningcss-linux-x64-musl@1.32.0:
|
| 901 |
-
resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
|
| 902 |
-
engines: {node: '>= 12.0.0'}
|
| 903 |
-
cpu: [x64]
|
| 904 |
-
os: [linux]
|
| 905 |
-
libc: [musl]
|
| 906 |
-
|
| 907 |
-
lightningcss-win32-arm64-msvc@1.32.0:
|
| 908 |
-
resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
|
| 909 |
-
engines: {node: '>= 12.0.0'}
|
| 910 |
-
cpu: [arm64]
|
| 911 |
-
os: [win32]
|
| 912 |
-
|
| 913 |
-
lightningcss-win32-x64-msvc@1.32.0:
|
| 914 |
-
resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
|
| 915 |
-
engines: {node: '>= 12.0.0'}
|
| 916 |
-
cpu: [x64]
|
| 917 |
-
os: [win32]
|
| 918 |
-
|
| 919 |
-
lightningcss@1.32.0:
|
| 920 |
-
resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
|
| 921 |
-
engines: {node: '>= 12.0.0'}
|
| 922 |
-
|
| 923 |
-
locate-character@3.0.0:
|
| 924 |
-
resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
|
| 925 |
-
|
| 926 |
-
lodash.camelcase@4.3.0:
|
| 927 |
-
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
|
| 928 |
-
|
| 929 |
-
lz-string@1.5.0:
|
| 930 |
-
resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
|
| 931 |
-
hasBin: true
|
| 932 |
-
|
| 933 |
-
magic-string@0.30.21:
|
| 934 |
-
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
|
| 935 |
-
|
| 936 |
-
mediabunny@1.42.0:
|
| 937 |
-
resolution: {integrity: sha512-s9ypTqLi6kbh95gC+YaJlG0PkLvMxu37Q/wO/pFZx0fUCA5Ym5mp+2dWoa83mKQ3Uo18aNlgev5iJ5ESZqWwgQ==}
|
| 938 |
-
|
| 939 |
-
memoize-weak@1.0.2:
|
| 940 |
-
resolution: {integrity: sha512-gj39xkrjEw7nCn4nJ1M5ms6+MyMlyiGmttzsqAUsAKn6bYKwuTHh/AO3cKPF8IBrTIYTxb0wWXFs3E//Y8VoWQ==}
|
| 941 |
-
|
| 942 |
-
memoize@10.2.0:
|
| 943 |
-
resolution: {integrity: sha512-DeC6b7QBrZsRs3Y02A6A7lQyzFbsQbqgjI6UW0GigGWV+u1s25TycMr0XHZE4cJce7rY/vyw2ctMQqfDkIhUEA==}
|
| 944 |
-
engines: {node: '>=18'}
|
| 945 |
-
|
| 946 |
-
mimic-function@5.0.1:
|
| 947 |
-
resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==}
|
| 948 |
-
engines: {node: '>=18'}
|
| 949 |
-
|
| 950 |
-
mode-watcher@1.1.0:
|
| 951 |
-
resolution: {integrity: sha512-mUT9RRGPDYenk59qJauN1rhsIMKBmWA3xMF+uRwE8MW/tjhaDSCCARqkSuDTq8vr4/2KcAxIGVjACxTjdk5C3g==}
|
| 952 |
-
peerDependencies:
|
| 953 |
-
svelte: ^5.27.0
|
| 954 |
-
|
| 955 |
-
mri@1.2.0:
|
| 956 |
-
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
|
| 957 |
-
engines: {node: '>=4'}
|
| 958 |
-
|
| 959 |
-
mrmime@2.0.1:
|
| 960 |
-
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
|
| 961 |
-
engines: {node: '>=10'}
|
| 962 |
-
|
| 963 |
-
nanoid@3.3.11:
|
| 964 |
-
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
|
| 965 |
-
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
| 966 |
-
hasBin: true
|
| 967 |
-
|
| 968 |
-
node-fetch-native@1.6.7:
|
| 969 |
-
resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==}
|
| 970 |
-
|
| 971 |
-
normalize-url@8.1.1:
|
| 972 |
-
resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==}
|
| 973 |
-
engines: {node: '>=14.16'}
|
| 974 |
-
|
| 975 |
-
obug@2.1.1:
|
| 976 |
-
resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==}
|
| 977 |
-
|
| 978 |
-
paneforge@1.0.2:
|
| 979 |
-
resolution: {integrity: sha512-KzmIXQH1wCfwZ4RsMohD/IUtEjVhteR+c+ulb/CHYJHX8SuDXoJmChtsc/Xs5Wl8NHS4L5Q7cxL8MG40gSU1bA==}
|
| 980 |
-
peerDependencies:
|
| 981 |
-
svelte: ^5.29.0
|
| 982 |
-
|
| 983 |
-
parquet-wasm@0.7.1:
|
| 984 |
-
resolution: {integrity: sha512-fjEGpMApzt3mpI2pUxdRgQGu5G+s4nr0vm5xn43JO7jxdYzzu2fHrVrTHtfeEhtB6vfvTzJBz0WydDYzLWvszQ==}
|
| 985 |
-
|
| 986 |
-
phosphor-svelte@3.1.0:
|
| 987 |
-
resolution: {integrity: sha512-nldtxx+XCgNREvrb7O5xgDsefytXpSkPTx8Rnu3f2qQCUZLDV1rLxYSd2Jcwckuo9lZB1qKMqGR17P4UDC0PrA==}
|
| 988 |
-
peerDependencies:
|
| 989 |
-
svelte: ^5.0.0 || ^5.0.0-next.96
|
| 990 |
-
vite: '>=5'
|
| 991 |
-
peerDependenciesMeta:
|
| 992 |
-
vite:
|
| 993 |
-
optional: true
|
| 994 |
-
|
| 995 |
-
picocolors@1.1.1:
|
| 996 |
-
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
|
| 997 |
-
|
| 998 |
-
picomatch@4.0.4:
|
| 999 |
-
resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
|
| 1000 |
-
engines: {node: '>=12'}
|
| 1001 |
-
|
| 1002 |
-
postcss@8.5.12:
|
| 1003 |
-
resolution: {integrity: sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==}
|
| 1004 |
-
engines: {node: ^10 || ^12 || >=14}
|
| 1005 |
-
|
| 1006 |
-
property-expr@2.0.6:
|
| 1007 |
-
resolution: {integrity: sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==}
|
| 1008 |
-
|
| 1009 |
-
pure-rand@6.1.0:
|
| 1010 |
-
resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==}
|
| 1011 |
-
|
| 1012 |
-
readdirp@4.1.2:
|
| 1013 |
-
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
|
| 1014 |
-
engines: {node: '>= 14.18.0'}
|
| 1015 |
-
|
| 1016 |
-
robust-predicates@3.0.3:
|
| 1017 |
-
resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==}
|
| 1018 |
-
|
| 1019 |
-
rolldown@1.0.0-rc.17:
|
| 1020 |
-
resolution: {integrity: sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==}
|
| 1021 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 1022 |
-
hasBin: true
|
| 1023 |
-
|
| 1024 |
-
runed@0.23.4:
|
| 1025 |
-
resolution: {integrity: sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA==}
|
| 1026 |
-
peerDependencies:
|
| 1027 |
-
svelte: ^5.7.0
|
| 1028 |
-
|
| 1029 |
-
runed@0.25.0:
|
| 1030 |
-
resolution: {integrity: sha512-7+ma4AG9FT2sWQEA0Egf6mb7PBT2vHyuHail1ie8ropfSjvZGtEAx8YTmUjv/APCsdRRxEVvArNjALk9zFSOrg==}
|
| 1031 |
-
peerDependencies:
|
| 1032 |
-
svelte: ^5.7.0
|
| 1033 |
-
|
| 1034 |
-
runed@0.28.0:
|
| 1035 |
-
resolution: {integrity: sha512-k2xx7RuO9hWcdd9f+8JoBeqWtYrm5CALfgpkg2YDB80ds/QE4w0qqu34A7fqiAwiBBSBQOid7TLxwxVC27ymWQ==}
|
| 1036 |
-
peerDependencies:
|
| 1037 |
-
svelte: ^5.7.0
|
| 1038 |
-
|
| 1039 |
-
runed@0.29.2:
|
| 1040 |
-
resolution: {integrity: sha512-0cq6cA6sYGZwl/FvVqjx9YN+1xEBu9sDDyuWdDW1yWX7JF2wmvmVKfH+hVCZs+csW+P3ARH92MjI3H9QTagOQA==}
|
| 1041 |
-
peerDependencies:
|
| 1042 |
-
svelte: ^5.7.0
|
| 1043 |
-
|
| 1044 |
-
runed@0.35.1:
|
| 1045 |
-
resolution: {integrity: sha512-2F4Q/FZzbeJTFdIS/PuOoPRSm92sA2LhzTnv6FXhCoENb3huf5+fDuNOg1LNvGOouy3u/225qxmuJvcV3IZK5Q==}
|
| 1046 |
-
peerDependencies:
|
| 1047 |
-
'@sveltejs/kit': ^2.21.0
|
| 1048 |
-
svelte: ^5.7.0
|
| 1049 |
-
peerDependenciesMeta:
|
| 1050 |
-
'@sveltejs/kit':
|
| 1051 |
-
optional: true
|
| 1052 |
-
|
| 1053 |
-
runed@0.37.1:
|
| 1054 |
-
resolution: {integrity: sha512-MeFY73xBW8IueWBm012nNFIGy19WUGPLtknavyUPMpnyt350M47PhGSGrGoSLbidwn+Zlt/O0cp8/OZE3LASWA==}
|
| 1055 |
-
peerDependencies:
|
| 1056 |
-
'@sveltejs/kit': ^2.21.0
|
| 1057 |
-
svelte: ^5.7.0
|
| 1058 |
-
zod: ^4.1.0
|
| 1059 |
-
peerDependenciesMeta:
|
| 1060 |
-
'@sveltejs/kit':
|
| 1061 |
-
optional: true
|
| 1062 |
-
zod:
|
| 1063 |
-
optional: true
|
| 1064 |
-
|
| 1065 |
-
rw@1.3.3:
|
| 1066 |
-
resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
|
| 1067 |
-
|
| 1068 |
-
sade@1.8.1:
|
| 1069 |
-
resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
|
| 1070 |
-
engines: {node: '>=6'}
|
| 1071 |
-
|
| 1072 |
-
safer-buffer@2.1.2:
|
| 1073 |
-
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
| 1074 |
-
|
| 1075 |
-
set-cookie-parser@3.1.0:
|
| 1076 |
-
resolution: {integrity: sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw==}
|
| 1077 |
-
|
| 1078 |
-
shadcn-svelte@1.2.7:
|
| 1079 |
-
resolution: {integrity: sha512-mWuQk4H4gtV+J2wJQ7nEPKNnB/v86AALFryZU0SSM7ChHmJJMZ1kH+qIuxYKrXm9vOOOcSWHRsWzPDB71DnjYA==}
|
| 1080 |
-
hasBin: true
|
| 1081 |
-
peerDependencies:
|
| 1082 |
-
svelte: ^5.0.0
|
| 1083 |
-
|
| 1084 |
-
sirv@3.0.2:
|
| 1085 |
-
resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==}
|
| 1086 |
-
engines: {node: '>=18'}
|
| 1087 |
-
|
| 1088 |
-
source-map-js@1.2.1:
|
| 1089 |
-
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
|
| 1090 |
-
engines: {node: '>=0.10.0'}
|
| 1091 |
-
|
| 1092 |
-
style-to-object@1.0.14:
|
| 1093 |
-
resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==}
|
| 1094 |
-
|
| 1095 |
-
superstruct@2.0.2:
|
| 1096 |
-
resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==}
|
| 1097 |
-
engines: {node: '>=14.0.0'}
|
| 1098 |
-
|
| 1099 |
-
supports-color@7.2.0:
|
| 1100 |
-
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
| 1101 |
-
engines: {node: '>=8'}
|
| 1102 |
-
|
| 1103 |
-
svelte-check@4.4.6:
|
| 1104 |
-
resolution: {integrity: sha512-kP1zG81EWaFe9ZyTv4ZXv44Csi6Pkdpb7S3oj6m+K2ec/IcDg/a8LsFsnVLqm2nxtkSwsd5xPj/qFkTBgXHXjg==}
|
| 1105 |
-
engines: {node: '>= 18.0.0'}
|
| 1106 |
-
hasBin: true
|
| 1107 |
-
peerDependencies:
|
| 1108 |
-
svelte: ^4.0.0 || ^5.0.0-next.0
|
| 1109 |
-
typescript: '>=5.0.0'
|
| 1110 |
-
|
| 1111 |
-
svelte-sonner@1.1.1:
|
| 1112 |
-
resolution: {integrity: sha512-5cd3p7wa4cq0NsqslMwdlPb7x1JglEZ/GKrLePWNr5bCxR1nagAVrY01FRFrXfUGs41miLt3C327+8XJo5BzZw==}
|
| 1113 |
-
peerDependencies:
|
| 1114 |
-
svelte: ^5.0.0
|
| 1115 |
-
|
| 1116 |
-
svelte-toolbelt@0.10.6:
|
| 1117 |
-
resolution: {integrity: sha512-YWuX+RE+CnWYx09yseAe4ZVMM7e7GRFZM6OYWpBKOb++s+SQ8RBIMMe+Bs/CznBMc0QPLjr+vDBxTAkozXsFXQ==}
|
| 1118 |
-
engines: {node: '>=18', pnpm: '>=8.7.0'}
|
| 1119 |
-
peerDependencies:
|
| 1120 |
-
svelte: ^5.30.2
|
| 1121 |
-
|
| 1122 |
-
svelte-toolbelt@0.5.0:
|
| 1123 |
-
resolution: {integrity: sha512-t3tenZcnfQoIeRuQf/jBU7bvTeT3TGkcEE+1EUr5orp0lR7NEpprflpuie3x9Dn0W9nOKqs3HwKGJeeN5Ok1sQ==}
|
| 1124 |
-
engines: {node: '>=18', pnpm: '>=8.7.0'}
|
| 1125 |
-
peerDependencies:
|
| 1126 |
-
svelte: ^5.0.0-next.126
|
| 1127 |
-
|
| 1128 |
-
svelte-toolbelt@0.7.1:
|
| 1129 |
-
resolution: {integrity: sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ==}
|
| 1130 |
-
engines: {node: '>=18', pnpm: '>=8.7.0'}
|
| 1131 |
-
peerDependencies:
|
| 1132 |
-
svelte: ^5.0.0
|
| 1133 |
-
|
| 1134 |
-
svelte-toolbelt@0.9.3:
|
| 1135 |
-
resolution: {integrity: sha512-HCSWxCtVmv+c6g1ACb8LTwHVbDqLKJvHpo6J8TaqwUme2hj9ATJCpjCPNISR1OCq2Q4U1KT41if9ON0isINQZw==}
|
| 1136 |
-
engines: {node: '>=18', pnpm: '>=8.7.0'}
|
| 1137 |
-
peerDependencies:
|
| 1138 |
-
svelte: ^5.30.2
|
| 1139 |
-
|
| 1140 |
-
svelte@5.55.5:
|
| 1141 |
-
resolution: {integrity: sha512-2uCs/LZ9us+AktdzYJM8OcxQ8qnPS1kpaO7syGT/MgO+6Qr1Ybl+TqPq+97u7PHqmmMlye5ZkoyXONy5mjjAbw==}
|
| 1142 |
-
engines: {node: '>=18'}
|
| 1143 |
-
|
| 1144 |
-
sveltekit-superforms@2.30.1:
|
| 1145 |
-
resolution: {integrity: sha512-wBzyqsE0idvEJWuNJ+HCiAtdxa7Z55GZ8jmtlVHJfonrk9bRYC49MoPaloYyFoYuU3QPy6Omna/Qzn1kaIkgew==}
|
| 1146 |
-
peerDependencies:
|
| 1147 |
-
'@sveltejs/kit': 1.x || 2.x
|
| 1148 |
-
svelte: 3.x || 4.x || >=5.0.0-next.51
|
| 1149 |
-
|
| 1150 |
-
tabbable@6.4.0:
|
| 1151 |
-
resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==}
|
| 1152 |
-
|
| 1153 |
-
table-layout@4.1.1:
|
| 1154 |
-
resolution: {integrity: sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==}
|
| 1155 |
-
engines: {node: '>=12.17'}
|
| 1156 |
-
|
| 1157 |
-
tailwind-merge@3.5.0:
|
| 1158 |
-
resolution: {integrity: sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==}
|
| 1159 |
-
|
| 1160 |
-
tailwind-variants@3.2.2:
|
| 1161 |
-
resolution: {integrity: sha512-Mi4kHeMTLvKlM98XPnK+7HoBPmf4gygdFmqQPaDivc3DpYS6aIY6KiG/PgThrGvii5YZJqRsPz0aPyhoFzmZgg==}
|
| 1162 |
-
engines: {node: '>=16.x', pnpm: '>=7.x'}
|
| 1163 |
-
peerDependencies:
|
| 1164 |
-
tailwind-merge: '>=3.0.0'
|
| 1165 |
-
tailwindcss: '*'
|
| 1166 |
-
peerDependenciesMeta:
|
| 1167 |
-
tailwind-merge:
|
| 1168 |
-
optional: true
|
| 1169 |
-
|
| 1170 |
-
tailwindcss@4.2.4:
|
| 1171 |
-
resolution: {integrity: sha512-HhKppgO81FQof5m6TEnuBWCZGgfRAWbaeOaGT00KOy/Pf/j6oUihdvBpA7ltCeAvZpFhW3j0PTclkxsd4IXYDA==}
|
| 1172 |
-
|
| 1173 |
-
tapable@2.3.3:
|
| 1174 |
-
resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
|
| 1175 |
-
engines: {node: '>=6'}
|
| 1176 |
-
|
| 1177 |
-
tiny-case@1.0.3:
|
| 1178 |
-
resolution: {integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==}
|
| 1179 |
-
|
| 1180 |
-
tinyglobby@0.2.16:
|
| 1181 |
-
resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
|
| 1182 |
-
engines: {node: '>=12.0.0'}
|
| 1183 |
-
|
| 1184 |
-
toposort@2.0.2:
|
| 1185 |
-
resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==}
|
| 1186 |
-
|
| 1187 |
-
totalist@3.0.1:
|
| 1188 |
-
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
|
| 1189 |
-
engines: {node: '>=6'}
|
| 1190 |
-
|
| 1191 |
-
ts-algebra@2.0.0:
|
| 1192 |
-
resolution: {integrity: sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==}
|
| 1193 |
-
|
| 1194 |
-
ts-deepmerge@7.0.3:
|
| 1195 |
-
resolution: {integrity: sha512-Du/ZW2RfwV/D4cmA5rXafYjBQVuvu4qGiEEla4EmEHVHgRdx68Gftx7i66jn2bzHPwSVZY36Ae6OuDn9el4ZKA==}
|
| 1196 |
-
engines: {node: '>=14.13.1'}
|
| 1197 |
-
|
| 1198 |
-
tslib@2.8.1:
|
| 1199 |
-
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
|
| 1200 |
-
|
| 1201 |
-
tw-animate-css@1.4.0:
|
| 1202 |
-
resolution: {integrity: sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==}
|
| 1203 |
-
|
| 1204 |
-
type-fest@2.19.0:
|
| 1205 |
-
resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==}
|
| 1206 |
-
engines: {node: '>=12.20'}
|
| 1207 |
-
|
| 1208 |
-
typebox@1.1.34:
|
| 1209 |
-
resolution: {integrity: sha512-V0fM5W5DTXlEMDxqtX1dQ25HR1RQ11DPUVrIup4sJi1yQtIyI30SHfxBy/HjXKL1CtUqc5or2igA/wa/v4hMKQ==}
|
| 1210 |
-
|
| 1211 |
-
typescript@6.0.3:
|
| 1212 |
-
resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==}
|
| 1213 |
-
engines: {node: '>=14.17'}
|
| 1214 |
-
hasBin: true
|
| 1215 |
-
|
| 1216 |
-
typical@7.3.0:
|
| 1217 |
-
resolution: {integrity: sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==}
|
| 1218 |
-
engines: {node: '>=12.17'}
|
| 1219 |
-
|
| 1220 |
-
undici-types@7.16.0:
|
| 1221 |
-
resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
|
| 1222 |
-
|
| 1223 |
-
valibot@1.3.1:
|
| 1224 |
-
resolution: {integrity: sha512-sfdRir/QFM0JaF22hqTroPc5xy4DimuGQVKFrzF1YfGwaS1nJot3Y8VqMdLO2Lg27fMzat2yD3pY5PbAYO39Gg==}
|
| 1225 |
-
peerDependencies:
|
| 1226 |
-
typescript: '>=5'
|
| 1227 |
-
peerDependenciesMeta:
|
| 1228 |
-
typescript:
|
| 1229 |
-
optional: true
|
| 1230 |
-
|
| 1231 |
-
validator@13.15.35:
|
| 1232 |
-
resolution: {integrity: sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==}
|
| 1233 |
-
engines: {node: '>= 0.10'}
|
| 1234 |
-
|
| 1235 |
-
vaul-svelte@1.0.0-next.7:
|
| 1236 |
-
resolution: {integrity: sha512-7zN7Bi3dFQixvvbUJY9uGDe7Ws/dGZeBQR2pXdXmzQiakjrxBvWo0QrmsX3HK+VH+SZOltz378cmgmCS9f9rSg==}
|
| 1237 |
-
engines: {node: '>=18', pnpm: '>=8.7.0'}
|
| 1238 |
-
peerDependencies:
|
| 1239 |
-
svelte: ^5.0.0
|
| 1240 |
-
|
| 1241 |
-
vite@8.0.10:
|
| 1242 |
-
resolution: {integrity: sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==}
|
| 1243 |
-
engines: {node: ^20.19.0 || >=22.12.0}
|
| 1244 |
-
hasBin: true
|
| 1245 |
-
peerDependencies:
|
| 1246 |
-
'@types/node': ^20.19.0 || >=22.12.0
|
| 1247 |
-
'@vitejs/devtools': ^0.1.0
|
| 1248 |
-
esbuild: ^0.27.0 || ^0.28.0
|
| 1249 |
-
jiti: '>=1.21.0'
|
| 1250 |
-
less: ^4.0.0
|
| 1251 |
-
sass: ^1.70.0
|
| 1252 |
-
sass-embedded: ^1.70.0
|
| 1253 |
-
stylus: '>=0.54.8'
|
| 1254 |
-
sugarss: ^5.0.0
|
| 1255 |
-
terser: ^5.16.0
|
| 1256 |
-
tsx: ^4.8.1
|
| 1257 |
-
yaml: ^2.4.2
|
| 1258 |
-
peerDependenciesMeta:
|
| 1259 |
-
'@types/node':
|
| 1260 |
-
optional: true
|
| 1261 |
-
'@vitejs/devtools':
|
| 1262 |
-
optional: true
|
| 1263 |
-
esbuild:
|
| 1264 |
-
optional: true
|
| 1265 |
-
jiti:
|
| 1266 |
-
optional: true
|
| 1267 |
-
less:
|
| 1268 |
-
optional: true
|
| 1269 |
-
sass:
|
| 1270 |
-
optional: true
|
| 1271 |
-
sass-embedded:
|
| 1272 |
-
optional: true
|
| 1273 |
-
stylus:
|
| 1274 |
-
optional: true
|
| 1275 |
-
sugarss:
|
| 1276 |
-
optional: true
|
| 1277 |
-
terser:
|
| 1278 |
-
optional: true
|
| 1279 |
-
tsx:
|
| 1280 |
-
optional: true
|
| 1281 |
-
yaml:
|
| 1282 |
-
optional: true
|
| 1283 |
-
|
| 1284 |
-
vitefu@1.1.3:
|
| 1285 |
-
resolution: {integrity: sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==}
|
| 1286 |
-
peerDependencies:
|
| 1287 |
-
vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0
|
| 1288 |
-
peerDependenciesMeta:
|
| 1289 |
-
vite:
|
| 1290 |
-
optional: true
|
| 1291 |
-
|
| 1292 |
-
wordwrapjs@5.1.1:
|
| 1293 |
-
resolution: {integrity: sha512-0yweIbkINJodk27gX9LBGMzyQdBDan3s/dEAiwBOj+Mf0PPyWL6/rikalkv8EeD0E8jm4o5RXEOrFTP3NXbhJg==}
|
| 1294 |
-
engines: {node: '>=12.17'}
|
| 1295 |
-
|
| 1296 |
-
yup@1.7.1:
|
| 1297 |
-
resolution: {integrity: sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw==}
|
| 1298 |
-
|
| 1299 |
-
zimmerframe@1.1.4:
|
| 1300 |
-
resolution: {integrity: sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==}
|
| 1301 |
-
|
| 1302 |
-
zod-v3-to-json-schema@4.0.0:
|
| 1303 |
-
resolution: {integrity: sha512-KixLrhX/uPmRFnDgsZrzrk4x5SSJA+PmaE5adbfID9+3KPJcdxqRobaHU397EfWBqfQircrjKqvEqZ/mW5QH6w==}
|
| 1304 |
-
peerDependencies:
|
| 1305 |
-
zod: ^3.25 || ^4.0.14
|
| 1306 |
-
|
| 1307 |
-
zod@4.3.6:
|
| 1308 |
-
resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==}
|
| 1309 |
-
|
| 1310 |
-
snapshots:
|
| 1311 |
-
|
| 1312 |
-
'@ark/schema@0.56.0':
|
| 1313 |
-
dependencies:
|
| 1314 |
-
'@ark/util': 0.56.0
|
| 1315 |
-
optional: true
|
| 1316 |
-
|
| 1317 |
-
'@ark/util@0.56.0':
|
| 1318 |
-
optional: true
|
| 1319 |
-
|
| 1320 |
-
'@babel/runtime@7.29.2':
|
| 1321 |
-
optional: true
|
| 1322 |
-
|
| 1323 |
-
'@dagrejs/dagre@2.0.4':
|
| 1324 |
-
dependencies:
|
| 1325 |
-
'@dagrejs/graphlib': 3.0.4
|
| 1326 |
-
|
| 1327 |
-
'@dagrejs/graphlib@3.0.4': {}
|
| 1328 |
-
|
| 1329 |
-
'@emnapi/core@1.10.0':
|
| 1330 |
-
dependencies:
|
| 1331 |
-
'@emnapi/wasi-threads': 1.2.1
|
| 1332 |
-
tslib: 2.8.1
|
| 1333 |
-
optional: true
|
| 1334 |
-
|
| 1335 |
-
'@emnapi/runtime@1.10.0':
|
| 1336 |
-
dependencies:
|
| 1337 |
-
tslib: 2.8.1
|
| 1338 |
-
optional: true
|
| 1339 |
-
|
| 1340 |
-
'@emnapi/wasi-threads@1.2.1':
|
| 1341 |
-
dependencies:
|
| 1342 |
-
tslib: 2.8.1
|
| 1343 |
-
optional: true
|
| 1344 |
-
|
| 1345 |
-
'@exodus/schemasafe@1.3.0':
|
| 1346 |
-
optional: true
|
| 1347 |
-
|
| 1348 |
-
'@floating-ui/core@1.7.5':
|
| 1349 |
-
dependencies:
|
| 1350 |
-
'@floating-ui/utils': 0.2.11
|
| 1351 |
-
|
| 1352 |
-
'@floating-ui/dom@1.7.6':
|
| 1353 |
-
dependencies:
|
| 1354 |
-
'@floating-ui/core': 1.7.5
|
| 1355 |
-
'@floating-ui/utils': 0.2.11
|
| 1356 |
-
|
| 1357 |
-
'@floating-ui/utils@0.2.11': {}
|
| 1358 |
-
|
| 1359 |
-
'@fontsource-variable/oxanium@5.2.8': {}
|
| 1360 |
-
|
| 1361 |
-
'@fontsource-variable/roboto-slab@5.2.8': {}
|
| 1362 |
-
|
| 1363 |
-
'@hapi/hoek@9.3.0':
|
| 1364 |
-
optional: true
|
| 1365 |
-
|
| 1366 |
-
'@hapi/topo@5.1.0':
|
| 1367 |
-
dependencies:
|
| 1368 |
-
'@hapi/hoek': 9.3.0
|
| 1369 |
-
optional: true
|
| 1370 |
-
|
| 1371 |
-
'@internationalized/date@3.12.1':
|
| 1372 |
-
dependencies:
|
| 1373 |
-
'@swc/helpers': 0.5.21
|
| 1374 |
-
|
| 1375 |
-
'@jridgewell/gen-mapping@0.3.13':
|
| 1376 |
-
dependencies:
|
| 1377 |
-
'@jridgewell/sourcemap-codec': 1.5.5
|
| 1378 |
-
'@jridgewell/trace-mapping': 0.3.31
|
| 1379 |
-
|
| 1380 |
-
'@jridgewell/remapping@2.3.5':
|
| 1381 |
-
dependencies:
|
| 1382 |
-
'@jridgewell/gen-mapping': 0.3.13
|
| 1383 |
-
'@jridgewell/trace-mapping': 0.3.31
|
| 1384 |
-
|
| 1385 |
-
'@jridgewell/resolve-uri@3.1.2': {}
|
| 1386 |
-
|
| 1387 |
-
'@jridgewell/sourcemap-codec@1.5.5': {}
|
| 1388 |
-
|
| 1389 |
-
'@jridgewell/trace-mapping@0.3.31':
|
| 1390 |
-
dependencies:
|
| 1391 |
-
'@jridgewell/resolve-uri': 3.1.2
|
| 1392 |
-
'@jridgewell/sourcemap-codec': 1.5.5
|
| 1393 |
-
|
| 1394 |
-
'@layerstack/svelte-actions@1.0.1-next.18':
|
| 1395 |
-
dependencies:
|
| 1396 |
-
'@floating-ui/dom': 1.7.6
|
| 1397 |
-
'@layerstack/utils': 2.0.0-next.18
|
| 1398 |
-
d3-scale: 4.0.2
|
| 1399 |
-
|
| 1400 |
-
'@layerstack/svelte-state@0.1.0-next.23':
|
| 1401 |
-
dependencies:
|
| 1402 |
-
'@layerstack/utils': 2.0.0-next.18
|
| 1403 |
-
|
| 1404 |
-
'@layerstack/tailwind@2.0.0-next.21':
|
| 1405 |
-
dependencies:
|
| 1406 |
-
'@layerstack/utils': 2.0.0-next.18
|
| 1407 |
-
clsx: 2.1.1
|
| 1408 |
-
d3-array: 3.2.4
|
| 1409 |
-
tailwind-merge: 3.5.0
|
| 1410 |
-
|
| 1411 |
-
'@layerstack/utils@2.0.0-next.18':
|
| 1412 |
-
dependencies:
|
| 1413 |
-
d3-array: 3.2.4
|
| 1414 |
-
d3-time: 3.1.0
|
| 1415 |
-
d3-time-format: 4.1.0
|
| 1416 |
-
|
| 1417 |
-
'@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
|
| 1418 |
-
dependencies:
|
| 1419 |
-
'@emnapi/core': 1.10.0
|
| 1420 |
-
'@emnapi/runtime': 1.10.0
|
| 1421 |
-
'@tybys/wasm-util': 0.10.1
|
| 1422 |
-
optional: true
|
| 1423 |
-
|
| 1424 |
-
'@oxc-project/types@0.127.0': {}
|
| 1425 |
-
|
| 1426 |
-
'@polka/url@1.0.0-next.29': {}
|
| 1427 |
-
|
| 1428 |
-
'@poppinss/macroable@1.1.2':
|
| 1429 |
-
optional: true
|
| 1430 |
-
|
| 1431 |
-
'@rolldown/binding-android-arm64@1.0.0-rc.17':
|
| 1432 |
-
optional: true
|
| 1433 |
-
|
| 1434 |
-
'@rolldown/binding-darwin-arm64@1.0.0-rc.17':
|
| 1435 |
-
optional: true
|
| 1436 |
-
|
| 1437 |
-
'@rolldown/binding-darwin-x64@1.0.0-rc.17':
|
| 1438 |
-
optional: true
|
| 1439 |
-
|
| 1440 |
-
'@rolldown/binding-freebsd-x64@1.0.0-rc.17':
|
| 1441 |
-
optional: true
|
| 1442 |
-
|
| 1443 |
-
'@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17':
|
| 1444 |
-
optional: true
|
| 1445 |
-
|
| 1446 |
-
'@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17':
|
| 1447 |
-
optional: true
|
| 1448 |
-
|
| 1449 |
-
'@rolldown/binding-linux-arm64-musl@1.0.0-rc.17':
|
| 1450 |
-
optional: true
|
| 1451 |
-
|
| 1452 |
-
'@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17':
|
| 1453 |
-
optional: true
|
| 1454 |
-
|
| 1455 |
-
'@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17':
|
| 1456 |
-
optional: true
|
| 1457 |
-
|
| 1458 |
-
'@rolldown/binding-linux-x64-gnu@1.0.0-rc.17':
|
| 1459 |
-
optional: true
|
| 1460 |
-
|
| 1461 |
-
'@rolldown/binding-linux-x64-musl@1.0.0-rc.17':
|
| 1462 |
-
optional: true
|
| 1463 |
-
|
| 1464 |
-
'@rolldown/binding-openharmony-arm64@1.0.0-rc.17':
|
| 1465 |
-
optional: true
|
| 1466 |
-
|
| 1467 |
-
'@rolldown/binding-wasm32-wasi@1.0.0-rc.17':
|
| 1468 |
-
dependencies:
|
| 1469 |
-
'@emnapi/core': 1.10.0
|
| 1470 |
-
'@emnapi/runtime': 1.10.0
|
| 1471 |
-
'@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
|
| 1472 |
-
optional: true
|
| 1473 |
-
|
| 1474 |
-
'@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17':
|
| 1475 |
-
optional: true
|
| 1476 |
-
|
| 1477 |
-
'@rolldown/binding-win32-x64-msvc@1.0.0-rc.17':
|
| 1478 |
-
optional: true
|
| 1479 |
-
|
| 1480 |
-
'@rolldown/pluginutils@1.0.0-rc.17': {}
|
| 1481 |
-
|
| 1482 |
-
'@sideway/address@4.1.5':
|
| 1483 |
-
dependencies:
|
| 1484 |
-
'@hapi/hoek': 9.3.0
|
| 1485 |
-
optional: true
|
| 1486 |
-
|
| 1487 |
-
'@sideway/formula@3.0.1':
|
| 1488 |
-
optional: true
|
| 1489 |
-
|
| 1490 |
-
'@sideway/pinpoint@2.0.0':
|
| 1491 |
-
optional: true
|
| 1492 |
-
|
| 1493 |
-
'@standard-schema/spec@1.1.0': {}
|
| 1494 |
-
|
| 1495 |
-
'@sveltejs/acorn-typescript@1.0.9(acorn@8.16.0)':
|
| 1496 |
-
dependencies:
|
| 1497 |
-
acorn: 8.16.0
|
| 1498 |
-
|
| 1499 |
-
'@sveltejs/adapter-static@3.0.10(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))':
|
| 1500 |
-
dependencies:
|
| 1501 |
-
'@sveltejs/kit': 2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))
|
| 1502 |
-
|
| 1503 |
-
'@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))':
|
| 1504 |
-
dependencies:
|
| 1505 |
-
'@standard-schema/spec': 1.1.0
|
| 1506 |
-
'@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0)
|
| 1507 |
-
'@sveltejs/vite-plugin-svelte': 7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))
|
| 1508 |
-
'@types/cookie': 0.6.0
|
| 1509 |
-
acorn: 8.16.0
|
| 1510 |
-
cookie: 0.6.0
|
| 1511 |
-
devalue: 5.7.1
|
| 1512 |
-
esm-env: 1.2.2
|
| 1513 |
-
kleur: 4.1.5
|
| 1514 |
-
magic-string: 0.30.21
|
| 1515 |
-
mrmime: 2.0.1
|
| 1516 |
-
set-cookie-parser: 3.1.0
|
| 1517 |
-
sirv: 3.0.2
|
| 1518 |
-
svelte: 5.55.5
|
| 1519 |
-
vite: 8.0.10(@types/node@24.12.2)(jiti@2.6.1)
|
| 1520 |
-
optionalDependencies:
|
| 1521 |
-
typescript: 6.0.3
|
| 1522 |
-
|
| 1523 |
-
'@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))':
|
| 1524 |
-
dependencies:
|
| 1525 |
-
deepmerge: 4.3.1
|
| 1526 |
-
magic-string: 0.30.21
|
| 1527 |
-
obug: 2.1.1
|
| 1528 |
-
svelte: 5.55.5
|
| 1529 |
-
vite: 8.0.10(@types/node@24.12.2)(jiti@2.6.1)
|
| 1530 |
-
vitefu: 1.1.3(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))
|
| 1531 |
-
|
| 1532 |
-
'@swc/helpers@0.5.21':
|
| 1533 |
-
dependencies:
|
| 1534 |
-
tslib: 2.8.1
|
| 1535 |
-
|
| 1536 |
-
'@tailwindcss/node@4.2.4':
|
| 1537 |
-
dependencies:
|
| 1538 |
-
'@jridgewell/remapping': 2.3.5
|
| 1539 |
-
enhanced-resolve: 5.21.0
|
| 1540 |
-
jiti: 2.6.1
|
| 1541 |
-
lightningcss: 1.32.0
|
| 1542 |
-
magic-string: 0.30.21
|
| 1543 |
-
source-map-js: 1.2.1
|
| 1544 |
-
tailwindcss: 4.2.4
|
| 1545 |
-
|
| 1546 |
-
'@tailwindcss/oxide-android-arm64@4.2.4':
|
| 1547 |
-
optional: true
|
| 1548 |
-
|
| 1549 |
-
'@tailwindcss/oxide-darwin-arm64@4.2.4':
|
| 1550 |
-
optional: true
|
| 1551 |
-
|
| 1552 |
-
'@tailwindcss/oxide-darwin-x64@4.2.4':
|
| 1553 |
-
optional: true
|
| 1554 |
-
|
| 1555 |
-
'@tailwindcss/oxide-freebsd-x64@4.2.4':
|
| 1556 |
-
optional: true
|
| 1557 |
-
|
| 1558 |
-
'@tailwindcss/oxide-linux-arm-gnueabihf@4.2.4':
|
| 1559 |
-
optional: true
|
| 1560 |
-
|
| 1561 |
-
'@tailwindcss/oxide-linux-arm64-gnu@4.2.4':
|
| 1562 |
-
optional: true
|
| 1563 |
-
|
| 1564 |
-
'@tailwindcss/oxide-linux-arm64-musl@4.2.4':
|
| 1565 |
-
optional: true
|
| 1566 |
-
|
| 1567 |
-
'@tailwindcss/oxide-linux-x64-gnu@4.2.4':
|
| 1568 |
-
optional: true
|
| 1569 |
-
|
| 1570 |
-
'@tailwindcss/oxide-linux-x64-musl@4.2.4':
|
| 1571 |
-
optional: true
|
| 1572 |
-
|
| 1573 |
-
'@tailwindcss/oxide-wasm32-wasi@4.2.4':
|
| 1574 |
-
optional: true
|
| 1575 |
-
|
| 1576 |
-
'@tailwindcss/oxide-win32-arm64-msvc@4.2.4':
|
| 1577 |
-
optional: true
|
| 1578 |
-
|
| 1579 |
-
'@tailwindcss/oxide-win32-x64-msvc@4.2.4':
|
| 1580 |
-
optional: true
|
| 1581 |
-
|
| 1582 |
-
'@tailwindcss/oxide@4.2.4':
|
| 1583 |
-
optionalDependencies:
|
| 1584 |
-
'@tailwindcss/oxide-android-arm64': 4.2.4
|
| 1585 |
-
'@tailwindcss/oxide-darwin-arm64': 4.2.4
|
| 1586 |
-
'@tailwindcss/oxide-darwin-x64': 4.2.4
|
| 1587 |
-
'@tailwindcss/oxide-freebsd-x64': 4.2.4
|
| 1588 |
-
'@tailwindcss/oxide-linux-arm-gnueabihf': 4.2.4
|
| 1589 |
-
'@tailwindcss/oxide-linux-arm64-gnu': 4.2.4
|
| 1590 |
-
'@tailwindcss/oxide-linux-arm64-musl': 4.2.4
|
| 1591 |
-
'@tailwindcss/oxide-linux-x64-gnu': 4.2.4
|
| 1592 |
-
'@tailwindcss/oxide-linux-x64-musl': 4.2.4
|
| 1593 |
-
'@tailwindcss/oxide-wasm32-wasi': 4.2.4
|
| 1594 |
-
'@tailwindcss/oxide-win32-arm64-msvc': 4.2.4
|
| 1595 |
-
'@tailwindcss/oxide-win32-x64-msvc': 4.2.4
|
| 1596 |
-
|
| 1597 |
-
'@tailwindcss/vite@4.2.4(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))':
|
| 1598 |
-
dependencies:
|
| 1599 |
-
'@tailwindcss/node': 4.2.4
|
| 1600 |
-
'@tailwindcss/oxide': 4.2.4
|
| 1601 |
-
tailwindcss: 4.2.4
|
| 1602 |
-
vite: 8.0.10(@types/node@24.12.2)(jiti@2.6.1)
|
| 1603 |
-
|
| 1604 |
-
'@tanstack/table-core@8.21.3': {}
|
| 1605 |
-
|
| 1606 |
-
'@tybys/wasm-util@0.10.1':
|
| 1607 |
-
dependencies:
|
| 1608 |
-
tslib: 2.8.1
|
| 1609 |
-
optional: true
|
| 1610 |
-
|
| 1611 |
-
'@types/command-line-args@5.2.3': {}
|
| 1612 |
-
|
| 1613 |
-
'@types/command-line-usage@5.0.4': {}
|
| 1614 |
-
|
| 1615 |
-
'@types/cookie@0.6.0': {}
|
| 1616 |
-
|
| 1617 |
-
'@types/d3-array@3.2.2': {}
|
| 1618 |
-
|
| 1619 |
-
'@types/d3-contour@3.0.6':
|
| 1620 |
-
dependencies:
|
| 1621 |
-
'@types/d3-array': 3.2.2
|
| 1622 |
-
'@types/geojson': 7946.0.16
|
| 1623 |
-
|
| 1624 |
-
'@types/dom-mediacapture-transform@0.1.11':
|
| 1625 |
-
dependencies:
|
| 1626 |
-
'@types/dom-webcodecs': 0.1.13
|
| 1627 |
-
|
| 1628 |
-
'@types/dom-webcodecs@0.1.13': {}
|
| 1629 |
-
|
| 1630 |
-
'@types/estree@1.0.8': {}
|
| 1631 |
-
|
| 1632 |
-
'@types/geojson@7946.0.16': {}
|
| 1633 |
-
|
| 1634 |
-
'@types/node@24.12.2':
|
| 1635 |
-
dependencies:
|
| 1636 |
-
undici-types: 7.16.0
|
| 1637 |
-
|
| 1638 |
-
'@types/trusted-types@2.0.7': {}
|
| 1639 |
-
|
| 1640 |
-
'@types/validator@13.15.10':
|
| 1641 |
-
optional: true
|
| 1642 |
-
|
| 1643 |
-
'@typeschema/class-validator@0.3.0(class-validator@0.14.4)':
|
| 1644 |
-
dependencies:
|
| 1645 |
-
'@typeschema/core': 0.14.0
|
| 1646 |
-
optionalDependencies:
|
| 1647 |
-
class-validator: 0.14.4
|
| 1648 |
-
transitivePeerDependencies:
|
| 1649 |
-
- '@types/json-schema'
|
| 1650 |
-
optional: true
|
| 1651 |
-
|
| 1652 |
-
'@typeschema/core@0.14.0':
|
| 1653 |
-
optional: true
|
| 1654 |
-
|
| 1655 |
-
'@valibot/to-json-schema@1.6.0(valibot@1.3.1(typescript@6.0.3))':
|
| 1656 |
-
dependencies:
|
| 1657 |
-
valibot: 1.3.1(typescript@6.0.3)
|
| 1658 |
-
optional: true
|
| 1659 |
-
|
| 1660 |
-
'@vinejs/compiler@3.0.0':
|
| 1661 |
-
optional: true
|
| 1662 |
-
|
| 1663 |
-
'@vinejs/vine@3.0.1':
|
| 1664 |
-
dependencies:
|
| 1665 |
-
'@poppinss/macroable': 1.1.2
|
| 1666 |
-
'@types/validator': 13.15.10
|
| 1667 |
-
'@vinejs/compiler': 3.0.0
|
| 1668 |
-
camelcase: 8.0.0
|
| 1669 |
-
dayjs: 1.11.20
|
| 1670 |
-
dlv: 1.1.3
|
| 1671 |
-
normalize-url: 8.1.1
|
| 1672 |
-
validator: 13.15.35
|
| 1673 |
-
optional: true
|
| 1674 |
-
|
| 1675 |
-
acorn@8.16.0: {}
|
| 1676 |
-
|
| 1677 |
-
ansi-styles@4.3.0:
|
| 1678 |
-
dependencies:
|
| 1679 |
-
color-convert: 2.0.1
|
| 1680 |
-
|
| 1681 |
-
apache-arrow@21.1.0:
|
| 1682 |
-
dependencies:
|
| 1683 |
-
'@swc/helpers': 0.5.21
|
| 1684 |
-
'@types/command-line-args': 5.2.3
|
| 1685 |
-
'@types/command-line-usage': 5.0.4
|
| 1686 |
-
'@types/node': 24.12.2
|
| 1687 |
-
command-line-args: 6.0.2
|
| 1688 |
-
command-line-usage: 7.0.4
|
| 1689 |
-
flatbuffers: 25.9.23
|
| 1690 |
-
json-bignum: 0.0.3
|
| 1691 |
-
tslib: 2.8.1
|
| 1692 |
-
transitivePeerDependencies:
|
| 1693 |
-
- '@75lb/nature'
|
| 1694 |
-
|
| 1695 |
-
aria-query@5.3.1: {}
|
| 1696 |
-
|
| 1697 |
-
arkregex@0.0.5:
|
| 1698 |
-
dependencies:
|
| 1699 |
-
'@ark/util': 0.56.0
|
| 1700 |
-
optional: true
|
| 1701 |
-
|
| 1702 |
-
arktype@2.2.0:
|
| 1703 |
-
dependencies:
|
| 1704 |
-
'@ark/schema': 0.56.0
|
| 1705 |
-
'@ark/util': 0.56.0
|
| 1706 |
-
arkregex: 0.0.5
|
| 1707 |
-
optional: true
|
| 1708 |
-
|
| 1709 |
-
array-back@6.2.3: {}
|
| 1710 |
-
|
| 1711 |
-
axobject-query@4.1.0: {}
|
| 1712 |
-
|
| 1713 |
-
bits-ui@2.18.0(@internationalized/date@3.12.1)(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5):
|
| 1714 |
-
dependencies:
|
| 1715 |
-
'@floating-ui/core': 1.7.5
|
| 1716 |
-
'@floating-ui/dom': 1.7.6
|
| 1717 |
-
'@internationalized/date': 3.12.1
|
| 1718 |
-
esm-env: 1.2.2
|
| 1719 |
-
runed: 0.35.1(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)
|
| 1720 |
-
svelte: 5.55.5
|
| 1721 |
-
svelte-toolbelt: 0.10.6(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)
|
| 1722 |
-
tabbable: 6.4.0
|
| 1723 |
-
transitivePeerDependencies:
|
| 1724 |
-
- '@sveltejs/kit'
|
| 1725 |
-
|
| 1726 |
-
camelcase@8.0.0:
|
| 1727 |
-
optional: true
|
| 1728 |
-
|
| 1729 |
-
chalk-template@0.4.0:
|
| 1730 |
-
dependencies:
|
| 1731 |
-
chalk: 4.1.2
|
| 1732 |
-
|
| 1733 |
-
chalk@4.1.2:
|
| 1734 |
-
dependencies:
|
| 1735 |
-
ansi-styles: 4.3.0
|
| 1736 |
-
supports-color: 7.2.0
|
| 1737 |
-
|
| 1738 |
-
chokidar@4.0.3:
|
| 1739 |
-
dependencies:
|
| 1740 |
-
readdirp: 4.1.2
|
| 1741 |
-
|
| 1742 |
-
class-validator@0.14.4:
|
| 1743 |
-
dependencies:
|
| 1744 |
-
'@types/validator': 13.15.10
|
| 1745 |
-
libphonenumber-js: 1.12.42
|
| 1746 |
-
validator: 13.15.35
|
| 1747 |
-
optional: true
|
| 1748 |
-
|
| 1749 |
-
clsx@2.1.1: {}
|
| 1750 |
-
|
| 1751 |
-
color-convert@2.0.1:
|
| 1752 |
-
dependencies:
|
| 1753 |
-
color-name: 1.1.4
|
| 1754 |
-
|
| 1755 |
-
color-name@1.1.4: {}
|
| 1756 |
-
|
| 1757 |
-
command-line-args@6.0.2:
|
| 1758 |
-
dependencies:
|
| 1759 |
-
array-back: 6.2.3
|
| 1760 |
-
find-replace: 5.0.2
|
| 1761 |
-
lodash.camelcase: 4.3.0
|
| 1762 |
-
typical: 7.3.0
|
| 1763 |
-
|
| 1764 |
-
command-line-usage@7.0.4:
|
| 1765 |
-
dependencies:
|
| 1766 |
-
array-back: 6.2.3
|
| 1767 |
-
chalk-template: 0.4.0
|
| 1768 |
-
table-layout: 4.1.1
|
| 1769 |
-
typical: 7.3.0
|
| 1770 |
-
|
| 1771 |
-
commander@14.0.3: {}
|
| 1772 |
-
|
| 1773 |
-
commander@7.2.0: {}
|
| 1774 |
-
|
| 1775 |
-
cookie@0.6.0: {}
|
| 1776 |
-
|
| 1777 |
-
d3-array@2.12.1:
|
| 1778 |
-
dependencies:
|
| 1779 |
-
internmap: 1.0.1
|
| 1780 |
-
|
| 1781 |
-
d3-array@3.2.4:
|
| 1782 |
-
dependencies:
|
| 1783 |
-
internmap: 2.0.3
|
| 1784 |
-
|
| 1785 |
-
d3-chord@3.0.1:
|
| 1786 |
-
dependencies:
|
| 1787 |
-
d3-path: 3.1.0
|
| 1788 |
-
|
| 1789 |
-
d3-color@3.1.0: {}
|
| 1790 |
-
|
| 1791 |
-
d3-contour@4.0.2:
|
| 1792 |
-
dependencies:
|
| 1793 |
-
d3-array: 3.2.4
|
| 1794 |
-
|
| 1795 |
-
d3-delaunay@6.0.4:
|
| 1796 |
-
dependencies:
|
| 1797 |
-
delaunator: 5.1.0
|
| 1798 |
-
|
| 1799 |
-
d3-dispatch@3.0.1: {}
|
| 1800 |
-
|
| 1801 |
-
d3-dsv@3.0.1:
|
| 1802 |
-
dependencies:
|
| 1803 |
-
commander: 7.2.0
|
| 1804 |
-
iconv-lite: 0.6.3
|
| 1805 |
-
rw: 1.3.3
|
| 1806 |
-
|
| 1807 |
-
d3-force@3.0.0:
|
| 1808 |
-
dependencies:
|
| 1809 |
-
d3-dispatch: 3.0.1
|
| 1810 |
-
d3-quadtree: 3.0.1
|
| 1811 |
-
d3-timer: 3.0.1
|
| 1812 |
-
|
| 1813 |
-
d3-format@3.1.2: {}
|
| 1814 |
-
|
| 1815 |
-
d3-geo-voronoi@2.1.0:
|
| 1816 |
-
dependencies:
|
| 1817 |
-
d3-array: 3.2.4
|
| 1818 |
-
d3-delaunay: 6.0.4
|
| 1819 |
-
d3-geo: 3.1.1
|
| 1820 |
-
d3-tricontour: 1.1.0
|
| 1821 |
-
|
| 1822 |
-
d3-geo@3.1.1:
|
| 1823 |
-
dependencies:
|
| 1824 |
-
d3-array: 3.2.4
|
| 1825 |
-
|
| 1826 |
-
d3-hierarchy@3.1.2: {}
|
| 1827 |
-
|
| 1828 |
-
d3-interpolate-path@2.3.0: {}
|
| 1829 |
-
|
| 1830 |
-
d3-interpolate@3.0.1:
|
| 1831 |
-
dependencies:
|
| 1832 |
-
d3-color: 3.1.0
|
| 1833 |
-
|
| 1834 |
-
d3-path@1.0.9: {}
|
| 1835 |
-
|
| 1836 |
-
d3-path@3.1.0: {}
|
| 1837 |
-
|
| 1838 |
-
d3-quadtree@3.0.1: {}
|
| 1839 |
-
|
| 1840 |
-
d3-random@3.0.1: {}
|
| 1841 |
-
|
| 1842 |
-
d3-sankey@0.12.3:
|
| 1843 |
-
dependencies:
|
| 1844 |
-
d3-array: 2.12.1
|
| 1845 |
-
d3-shape: 1.3.7
|
| 1846 |
-
|
| 1847 |
-
d3-scale-chromatic@3.1.0:
|
| 1848 |
-
dependencies:
|
| 1849 |
-
d3-color: 3.1.0
|
| 1850 |
-
d3-interpolate: 3.0.1
|
| 1851 |
-
|
| 1852 |
-
d3-scale@4.0.2:
|
| 1853 |
-
dependencies:
|
| 1854 |
-
d3-array: 3.2.4
|
| 1855 |
-
d3-format: 3.1.2
|
| 1856 |
-
d3-interpolate: 3.0.1
|
| 1857 |
-
d3-time: 3.1.0
|
| 1858 |
-
d3-time-format: 4.1.0
|
| 1859 |
-
|
| 1860 |
-
d3-shape@1.3.7:
|
| 1861 |
-
dependencies:
|
| 1862 |
-
d3-path: 1.0.9
|
| 1863 |
-
|
| 1864 |
-
d3-shape@3.2.0:
|
| 1865 |
-
dependencies:
|
| 1866 |
-
d3-path: 3.1.0
|
| 1867 |
-
|
| 1868 |
-
d3-tile@1.0.0: {}
|
| 1869 |
-
|
| 1870 |
-
d3-time-format@4.1.0:
|
| 1871 |
-
dependencies:
|
| 1872 |
-
d3-time: 3.1.0
|
| 1873 |
-
|
| 1874 |
-
d3-time@3.1.0:
|
| 1875 |
-
dependencies:
|
| 1876 |
-
d3-array: 3.2.4
|
| 1877 |
-
|
| 1878 |
-
d3-timer@3.0.1: {}
|
| 1879 |
-
|
| 1880 |
-
d3-tricontour@1.1.0:
|
| 1881 |
-
dependencies:
|
| 1882 |
-
d3-delaunay: 6.0.4
|
| 1883 |
-
d3-scale: 4.0.2
|
| 1884 |
-
|
| 1885 |
-
dayjs@1.11.20:
|
| 1886 |
-
optional: true
|
| 1887 |
-
|
| 1888 |
-
deepmerge@4.3.1: {}
|
| 1889 |
-
|
| 1890 |
-
delaunator@5.1.0:
|
| 1891 |
-
dependencies:
|
| 1892 |
-
robust-predicates: 3.0.3
|
| 1893 |
-
|
| 1894 |
-
dequal@2.0.3: {}
|
| 1895 |
-
|
| 1896 |
-
detect-libc@2.1.2: {}
|
| 1897 |
-
|
| 1898 |
-
devalue@5.7.1: {}
|
| 1899 |
-
|
| 1900 |
-
dlv@1.1.3:
|
| 1901 |
-
optional: true
|
| 1902 |
-
|
| 1903 |
-
effect@3.21.2:
|
| 1904 |
-
dependencies:
|
| 1905 |
-
'@standard-schema/spec': 1.1.0
|
| 1906 |
-
fast-check: 3.23.2
|
| 1907 |
-
optional: true
|
| 1908 |
-
|
| 1909 |
-
enhanced-resolve@5.21.0:
|
| 1910 |
-
dependencies:
|
| 1911 |
-
graceful-fs: 4.2.11
|
| 1912 |
-
tapable: 2.3.3
|
| 1913 |
-
|
| 1914 |
-
esm-env@1.2.2: {}
|
| 1915 |
-
|
| 1916 |
-
esrap@2.2.5:
|
| 1917 |
-
dependencies:
|
| 1918 |
-
'@jridgewell/sourcemap-codec': 1.5.5
|
| 1919 |
-
|
| 1920 |
-
estree-walker@3.0.3:
|
| 1921 |
-
dependencies:
|
| 1922 |
-
'@types/estree': 1.0.8
|
| 1923 |
-
|
| 1924 |
-
fast-check@3.23.2:
|
| 1925 |
-
dependencies:
|
| 1926 |
-
pure-rand: 6.1.0
|
| 1927 |
-
optional: true
|
| 1928 |
-
|
| 1929 |
-
fdir@6.5.0(picomatch@4.0.4):
|
| 1930 |
-
optionalDependencies:
|
| 1931 |
-
picomatch: 4.0.4
|
| 1932 |
-
|
| 1933 |
-
find-replace@5.0.2: {}
|
| 1934 |
-
|
| 1935 |
-
flatbuffers@25.9.23: {}
|
| 1936 |
-
|
| 1937 |
-
formsnap@2.0.1(svelte@5.55.5)(sveltekit-superforms@2.30.1(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)):
|
| 1938 |
-
dependencies:
|
| 1939 |
-
svelte: 5.55.5
|
| 1940 |
-
svelte-toolbelt: 0.5.0(svelte@5.55.5)
|
| 1941 |
-
sveltekit-superforms: 2.30.1(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)
|
| 1942 |
-
|
| 1943 |
-
fsevents@2.3.3:
|
| 1944 |
-
optional: true
|
| 1945 |
-
|
| 1946 |
-
graceful-fs@4.2.11: {}
|
| 1947 |
-
|
| 1948 |
-
has-flag@4.0.0: {}
|
| 1949 |
-
|
| 1950 |
-
iconv-lite@0.6.3:
|
| 1951 |
-
dependencies:
|
| 1952 |
-
safer-buffer: 2.1.2
|
| 1953 |
-
|
| 1954 |
-
inline-style-parser@0.2.7: {}
|
| 1955 |
-
|
| 1956 |
-
internmap@1.0.1: {}
|
| 1957 |
-
|
| 1958 |
-
internmap@2.0.3: {}
|
| 1959 |
-
|
| 1960 |
-
is-reference@3.0.3:
|
| 1961 |
-
dependencies:
|
| 1962 |
-
'@types/estree': 1.0.8
|
| 1963 |
-
|
| 1964 |
-
jiti@2.6.1: {}
|
| 1965 |
-
|
| 1966 |
-
joi@17.13.3:
|
| 1967 |
-
dependencies:
|
| 1968 |
-
'@hapi/hoek': 9.3.0
|
| 1969 |
-
'@hapi/topo': 5.1.0
|
| 1970 |
-
'@sideway/address': 4.1.5
|
| 1971 |
-
'@sideway/formula': 3.0.1
|
| 1972 |
-
'@sideway/pinpoint': 2.0.0
|
| 1973 |
-
optional: true
|
| 1974 |
-
|
| 1975 |
-
json-bignum@0.0.3: {}
|
| 1976 |
-
|
| 1977 |
-
json-schema-to-ts@3.1.1:
|
| 1978 |
-
dependencies:
|
| 1979 |
-
'@babel/runtime': 7.29.2
|
| 1980 |
-
ts-algebra: 2.0.0
|
| 1981 |
-
optional: true
|
| 1982 |
-
|
| 1983 |
-
kleur@4.1.5: {}
|
| 1984 |
-
|
| 1985 |
-
layerchart@2.0.0-next.48(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(zod@4.3.6):
|
| 1986 |
-
dependencies:
|
| 1987 |
-
'@dagrejs/dagre': 2.0.4
|
| 1988 |
-
'@layerstack/svelte-actions': 1.0.1-next.18
|
| 1989 |
-
'@layerstack/svelte-state': 0.1.0-next.23
|
| 1990 |
-
'@layerstack/tailwind': 2.0.0-next.21
|
| 1991 |
-
'@layerstack/utils': 2.0.0-next.18
|
| 1992 |
-
'@types/d3-contour': 3.0.6
|
| 1993 |
-
d3-array: 3.2.4
|
| 1994 |
-
d3-chord: 3.0.1
|
| 1995 |
-
d3-color: 3.1.0
|
| 1996 |
-
d3-contour: 4.0.2
|
| 1997 |
-
d3-delaunay: 6.0.4
|
| 1998 |
-
d3-dsv: 3.0.1
|
| 1999 |
-
d3-force: 3.0.0
|
| 2000 |
-
d3-geo: 3.1.1
|
| 2001 |
-
d3-geo-voronoi: 2.1.0
|
| 2002 |
-
d3-hierarchy: 3.1.2
|
| 2003 |
-
d3-interpolate: 3.0.1
|
| 2004 |
-
d3-interpolate-path: 2.3.0
|
| 2005 |
-
d3-path: 3.1.0
|
| 2006 |
-
d3-quadtree: 3.0.1
|
| 2007 |
-
d3-random: 3.0.1
|
| 2008 |
-
d3-sankey: 0.12.3
|
| 2009 |
-
d3-scale: 4.0.2
|
| 2010 |
-
d3-scale-chromatic: 3.1.0
|
| 2011 |
-
d3-shape: 3.2.0
|
| 2012 |
-
d3-tile: 1.0.0
|
| 2013 |
-
d3-time: 3.1.0
|
| 2014 |
-
memoize: 10.2.0
|
| 2015 |
-
runed: 0.37.1(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(zod@4.3.6)
|
| 2016 |
-
svelte: 5.55.5
|
| 2017 |
-
transitivePeerDependencies:
|
| 2018 |
-
- '@sveltejs/kit'
|
| 2019 |
-
- zod
|
| 2020 |
-
|
| 2021 |
-
libphonenumber-js@1.12.42:
|
| 2022 |
-
optional: true
|
| 2023 |
-
|
| 2024 |
-
lightningcss-android-arm64@1.32.0:
|
| 2025 |
-
optional: true
|
| 2026 |
-
|
| 2027 |
-
lightningcss-darwin-arm64@1.32.0:
|
| 2028 |
-
optional: true
|
| 2029 |
-
|
| 2030 |
-
lightningcss-darwin-x64@1.32.0:
|
| 2031 |
-
optional: true
|
| 2032 |
-
|
| 2033 |
-
lightningcss-freebsd-x64@1.32.0:
|
| 2034 |
-
optional: true
|
| 2035 |
-
|
| 2036 |
-
lightningcss-linux-arm-gnueabihf@1.32.0:
|
| 2037 |
-
optional: true
|
| 2038 |
-
|
| 2039 |
-
lightningcss-linux-arm64-gnu@1.32.0:
|
| 2040 |
-
optional: true
|
| 2041 |
-
|
| 2042 |
-
lightningcss-linux-arm64-musl@1.32.0:
|
| 2043 |
-
optional: true
|
| 2044 |
-
|
| 2045 |
-
lightningcss-linux-x64-gnu@1.32.0:
|
| 2046 |
-
optional: true
|
| 2047 |
-
|
| 2048 |
-
lightningcss-linux-x64-musl@1.32.0:
|
| 2049 |
-
optional: true
|
| 2050 |
-
|
| 2051 |
-
lightningcss-win32-arm64-msvc@1.32.0:
|
| 2052 |
-
optional: true
|
| 2053 |
-
|
| 2054 |
-
lightningcss-win32-x64-msvc@1.32.0:
|
| 2055 |
-
optional: true
|
| 2056 |
-
|
| 2057 |
-
lightningcss@1.32.0:
|
| 2058 |
-
dependencies:
|
| 2059 |
-
detect-libc: 2.1.2
|
| 2060 |
-
optionalDependencies:
|
| 2061 |
-
lightningcss-android-arm64: 1.32.0
|
| 2062 |
-
lightningcss-darwin-arm64: 1.32.0
|
| 2063 |
-
lightningcss-darwin-x64: 1.32.0
|
| 2064 |
-
lightningcss-freebsd-x64: 1.32.0
|
| 2065 |
-
lightningcss-linux-arm-gnueabihf: 1.32.0
|
| 2066 |
-
lightningcss-linux-arm64-gnu: 1.32.0
|
| 2067 |
-
lightningcss-linux-arm64-musl: 1.32.0
|
| 2068 |
-
lightningcss-linux-x64-gnu: 1.32.0
|
| 2069 |
-
lightningcss-linux-x64-musl: 1.32.0
|
| 2070 |
-
lightningcss-win32-arm64-msvc: 1.32.0
|
| 2071 |
-
lightningcss-win32-x64-msvc: 1.32.0
|
| 2072 |
-
|
| 2073 |
-
locate-character@3.0.0: {}
|
| 2074 |
-
|
| 2075 |
-
lodash.camelcase@4.3.0: {}
|
| 2076 |
-
|
| 2077 |
-
lz-string@1.5.0: {}
|
| 2078 |
-
|
| 2079 |
-
magic-string@0.30.21:
|
| 2080 |
-
dependencies:
|
| 2081 |
-
'@jridgewell/sourcemap-codec': 1.5.5
|
| 2082 |
-
|
| 2083 |
-
mediabunny@1.42.0:
|
| 2084 |
-
dependencies:
|
| 2085 |
-
'@types/dom-mediacapture-transform': 0.1.11
|
| 2086 |
-
'@types/dom-webcodecs': 0.1.13
|
| 2087 |
-
|
| 2088 |
-
memoize-weak@1.0.2: {}
|
| 2089 |
-
|
| 2090 |
-
memoize@10.2.0:
|
| 2091 |
-
dependencies:
|
| 2092 |
-
mimic-function: 5.0.1
|
| 2093 |
-
|
| 2094 |
-
mimic-function@5.0.1: {}
|
| 2095 |
-
|
| 2096 |
-
mode-watcher@1.1.0(svelte@5.55.5):
|
| 2097 |
-
dependencies:
|
| 2098 |
-
runed: 0.25.0(svelte@5.55.5)
|
| 2099 |
-
svelte: 5.55.5
|
| 2100 |
-
svelte-toolbelt: 0.7.1(svelte@5.55.5)
|
| 2101 |
-
|
| 2102 |
-
mri@1.2.0: {}
|
| 2103 |
-
|
| 2104 |
-
mrmime@2.0.1: {}
|
| 2105 |
-
|
| 2106 |
-
nanoid@3.3.11: {}
|
| 2107 |
-
|
| 2108 |
-
node-fetch-native@1.6.7: {}
|
| 2109 |
-
|
| 2110 |
-
normalize-url@8.1.1:
|
| 2111 |
-
optional: true
|
| 2112 |
-
|
| 2113 |
-
obug@2.1.1: {}
|
| 2114 |
-
|
| 2115 |
-
paneforge@1.0.2(svelte@5.55.5):
|
| 2116 |
-
dependencies:
|
| 2117 |
-
runed: 0.23.4(svelte@5.55.5)
|
| 2118 |
-
svelte: 5.55.5
|
| 2119 |
-
svelte-toolbelt: 0.9.3(svelte@5.55.5)
|
| 2120 |
-
|
| 2121 |
-
parquet-wasm@0.7.1: {}
|
| 2122 |
-
|
| 2123 |
-
phosphor-svelte@3.1.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)):
|
| 2124 |
-
dependencies:
|
| 2125 |
-
estree-walker: 3.0.3
|
| 2126 |
-
magic-string: 0.30.21
|
| 2127 |
-
svelte: 5.55.5
|
| 2128 |
-
optionalDependencies:
|
| 2129 |
-
vite: 8.0.10(@types/node@24.12.2)(jiti@2.6.1)
|
| 2130 |
-
|
| 2131 |
-
picocolors@1.1.1: {}
|
| 2132 |
-
|
| 2133 |
-
picomatch@4.0.4: {}
|
| 2134 |
-
|
| 2135 |
-
postcss@8.5.12:
|
| 2136 |
-
dependencies:
|
| 2137 |
-
nanoid: 3.3.11
|
| 2138 |
-
picocolors: 1.1.1
|
| 2139 |
-
source-map-js: 1.2.1
|
| 2140 |
-
|
| 2141 |
-
property-expr@2.0.6:
|
| 2142 |
-
optional: true
|
| 2143 |
-
|
| 2144 |
-
pure-rand@6.1.0:
|
| 2145 |
-
optional: true
|
| 2146 |
-
|
| 2147 |
-
readdirp@4.1.2: {}
|
| 2148 |
-
|
| 2149 |
-
robust-predicates@3.0.3: {}
|
| 2150 |
-
|
| 2151 |
-
rolldown@1.0.0-rc.17:
|
| 2152 |
-
dependencies:
|
| 2153 |
-
'@oxc-project/types': 0.127.0
|
| 2154 |
-
'@rolldown/pluginutils': 1.0.0-rc.17
|
| 2155 |
-
optionalDependencies:
|
| 2156 |
-
'@rolldown/binding-android-arm64': 1.0.0-rc.17
|
| 2157 |
-
'@rolldown/binding-darwin-arm64': 1.0.0-rc.17
|
| 2158 |
-
'@rolldown/binding-darwin-x64': 1.0.0-rc.17
|
| 2159 |
-
'@rolldown/binding-freebsd-x64': 1.0.0-rc.17
|
| 2160 |
-
'@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.17
|
| 2161 |
-
'@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.17
|
| 2162 |
-
'@rolldown/binding-linux-arm64-musl': 1.0.0-rc.17
|
| 2163 |
-
'@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.17
|
| 2164 |
-
'@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.17
|
| 2165 |
-
'@rolldown/binding-linux-x64-gnu': 1.0.0-rc.17
|
| 2166 |
-
'@rolldown/binding-linux-x64-musl': 1.0.0-rc.17
|
| 2167 |
-
'@rolldown/binding-openharmony-arm64': 1.0.0-rc.17
|
| 2168 |
-
'@rolldown/binding-wasm32-wasi': 1.0.0-rc.17
|
| 2169 |
-
'@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.17
|
| 2170 |
-
'@rolldown/binding-win32-x64-msvc': 1.0.0-rc.17
|
| 2171 |
-
|
| 2172 |
-
runed@0.23.4(svelte@5.55.5):
|
| 2173 |
-
dependencies:
|
| 2174 |
-
esm-env: 1.2.2
|
| 2175 |
-
svelte: 5.55.5
|
| 2176 |
-
|
| 2177 |
-
runed@0.25.0(svelte@5.55.5):
|
| 2178 |
-
dependencies:
|
| 2179 |
-
esm-env: 1.2.2
|
| 2180 |
-
svelte: 5.55.5
|
| 2181 |
-
|
| 2182 |
-
runed@0.28.0(svelte@5.55.5):
|
| 2183 |
-
dependencies:
|
| 2184 |
-
esm-env: 1.2.2
|
| 2185 |
-
svelte: 5.55.5
|
| 2186 |
-
|
| 2187 |
-
runed@0.29.2(svelte@5.55.5):
|
| 2188 |
-
dependencies:
|
| 2189 |
-
esm-env: 1.2.2
|
| 2190 |
-
svelte: 5.55.5
|
| 2191 |
-
|
| 2192 |
-
runed@0.35.1(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5):
|
| 2193 |
-
dependencies:
|
| 2194 |
-
dequal: 2.0.3
|
| 2195 |
-
esm-env: 1.2.2
|
| 2196 |
-
lz-string: 1.5.0
|
| 2197 |
-
svelte: 5.55.5
|
| 2198 |
-
optionalDependencies:
|
| 2199 |
-
'@sveltejs/kit': 2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))
|
| 2200 |
-
|
| 2201 |
-
runed@0.37.1(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(zod@4.3.6):
|
| 2202 |
-
dependencies:
|
| 2203 |
-
dequal: 2.0.3
|
| 2204 |
-
esm-env: 1.2.2
|
| 2205 |
-
lz-string: 1.5.0
|
| 2206 |
-
svelte: 5.55.5
|
| 2207 |
-
optionalDependencies:
|
| 2208 |
-
'@sveltejs/kit': 2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))
|
| 2209 |
-
zod: 4.3.6
|
| 2210 |
-
|
| 2211 |
-
rw@1.3.3: {}
|
| 2212 |
-
|
| 2213 |
-
sade@1.8.1:
|
| 2214 |
-
dependencies:
|
| 2215 |
-
mri: 1.2.0
|
| 2216 |
-
|
| 2217 |
-
safer-buffer@2.1.2: {}
|
| 2218 |
-
|
| 2219 |
-
set-cookie-parser@3.1.0: {}
|
| 2220 |
-
|
| 2221 |
-
shadcn-svelte@1.2.7(svelte@5.55.5):
|
| 2222 |
-
dependencies:
|
| 2223 |
-
commander: 14.0.3
|
| 2224 |
-
node-fetch-native: 1.6.7
|
| 2225 |
-
postcss: 8.5.12
|
| 2226 |
-
svelte: 5.55.5
|
| 2227 |
-
tailwind-merge: 3.5.0
|
| 2228 |
-
|
| 2229 |
-
sirv@3.0.2:
|
| 2230 |
-
dependencies:
|
| 2231 |
-
'@polka/url': 1.0.0-next.29
|
| 2232 |
-
mrmime: 2.0.1
|
| 2233 |
-
totalist: 3.0.1
|
| 2234 |
-
|
| 2235 |
-
source-map-js@1.2.1: {}
|
| 2236 |
-
|
| 2237 |
-
style-to-object@1.0.14:
|
| 2238 |
-
dependencies:
|
| 2239 |
-
inline-style-parser: 0.2.7
|
| 2240 |
-
|
| 2241 |
-
superstruct@2.0.2:
|
| 2242 |
-
optional: true
|
| 2243 |
-
|
| 2244 |
-
supports-color@7.2.0:
|
| 2245 |
-
dependencies:
|
| 2246 |
-
has-flag: 4.0.0
|
| 2247 |
-
|
| 2248 |
-
svelte-check@4.4.6(picomatch@4.0.4)(svelte@5.55.5)(typescript@6.0.3):
|
| 2249 |
-
dependencies:
|
| 2250 |
-
'@jridgewell/trace-mapping': 0.3.31
|
| 2251 |
-
chokidar: 4.0.3
|
| 2252 |
-
fdir: 6.5.0(picomatch@4.0.4)
|
| 2253 |
-
picocolors: 1.1.1
|
| 2254 |
-
sade: 1.8.1
|
| 2255 |
-
svelte: 5.55.5
|
| 2256 |
-
typescript: 6.0.3
|
| 2257 |
-
transitivePeerDependencies:
|
| 2258 |
-
- picomatch
|
| 2259 |
-
|
| 2260 |
-
svelte-sonner@1.1.1(svelte@5.55.5):
|
| 2261 |
-
dependencies:
|
| 2262 |
-
runed: 0.28.0(svelte@5.55.5)
|
| 2263 |
-
svelte: 5.55.5
|
| 2264 |
-
|
| 2265 |
-
svelte-toolbelt@0.10.6(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5):
|
| 2266 |
-
dependencies:
|
| 2267 |
-
clsx: 2.1.1
|
| 2268 |
-
runed: 0.35.1(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)
|
| 2269 |
-
style-to-object: 1.0.14
|
| 2270 |
-
svelte: 5.55.5
|
| 2271 |
-
transitivePeerDependencies:
|
| 2272 |
-
- '@sveltejs/kit'
|
| 2273 |
-
|
| 2274 |
-
svelte-toolbelt@0.5.0(svelte@5.55.5):
|
| 2275 |
-
dependencies:
|
| 2276 |
-
clsx: 2.1.1
|
| 2277 |
-
style-to-object: 1.0.14
|
| 2278 |
-
svelte: 5.55.5
|
| 2279 |
-
|
| 2280 |
-
svelte-toolbelt@0.7.1(svelte@5.55.5):
|
| 2281 |
-
dependencies:
|
| 2282 |
-
clsx: 2.1.1
|
| 2283 |
-
runed: 0.23.4(svelte@5.55.5)
|
| 2284 |
-
style-to-object: 1.0.14
|
| 2285 |
-
svelte: 5.55.5
|
| 2286 |
-
|
| 2287 |
-
svelte-toolbelt@0.9.3(svelte@5.55.5):
|
| 2288 |
-
dependencies:
|
| 2289 |
-
clsx: 2.1.1
|
| 2290 |
-
runed: 0.29.2(svelte@5.55.5)
|
| 2291 |
-
style-to-object: 1.0.14
|
| 2292 |
-
svelte: 5.55.5
|
| 2293 |
-
|
| 2294 |
-
svelte@5.55.5:
|
| 2295 |
-
dependencies:
|
| 2296 |
-
'@jridgewell/remapping': 2.3.5
|
| 2297 |
-
'@jridgewell/sourcemap-codec': 1.5.5
|
| 2298 |
-
'@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0)
|
| 2299 |
-
'@types/estree': 1.0.8
|
| 2300 |
-
'@types/trusted-types': 2.0.7
|
| 2301 |
-
acorn: 8.16.0
|
| 2302 |
-
aria-query: 5.3.1
|
| 2303 |
-
axobject-query: 4.1.0
|
| 2304 |
-
clsx: 2.1.1
|
| 2305 |
-
devalue: 5.7.1
|
| 2306 |
-
esm-env: 1.2.2
|
| 2307 |
-
esrap: 2.2.5
|
| 2308 |
-
is-reference: 3.0.3
|
| 2309 |
-
locate-character: 3.0.0
|
| 2310 |
-
magic-string: 0.30.21
|
| 2311 |
-
zimmerframe: 1.1.4
|
| 2312 |
-
transitivePeerDependencies:
|
| 2313 |
-
- '@typescript-eslint/types'
|
| 2314 |
-
|
| 2315 |
-
sveltekit-superforms@2.30.1(@sveltejs/kit@2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3):
|
| 2316 |
-
dependencies:
|
| 2317 |
-
'@sveltejs/kit': 2.58.0(@sveltejs/vite-plugin-svelte@7.0.0(svelte@5.55.5)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)))(svelte@5.55.5)(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1))
|
| 2318 |
-
devalue: 5.7.1
|
| 2319 |
-
memoize-weak: 1.0.2
|
| 2320 |
-
svelte: 5.55.5
|
| 2321 |
-
ts-deepmerge: 7.0.3
|
| 2322 |
-
optionalDependencies:
|
| 2323 |
-
'@exodus/schemasafe': 1.3.0
|
| 2324 |
-
'@standard-schema/spec': 1.1.0
|
| 2325 |
-
'@typeschema/class-validator': 0.3.0(class-validator@0.14.4)
|
| 2326 |
-
'@valibot/to-json-schema': 1.6.0(valibot@1.3.1(typescript@6.0.3))
|
| 2327 |
-
'@vinejs/vine': 3.0.1
|
| 2328 |
-
arktype: 2.2.0
|
| 2329 |
-
class-validator: 0.14.4
|
| 2330 |
-
effect: 3.21.2
|
| 2331 |
-
joi: 17.13.3
|
| 2332 |
-
json-schema-to-ts: 3.1.1
|
| 2333 |
-
superstruct: 2.0.2
|
| 2334 |
-
typebox: 1.1.34
|
| 2335 |
-
valibot: 1.3.1(typescript@6.0.3)
|
| 2336 |
-
yup: 1.7.1
|
| 2337 |
-
zod: 4.3.6
|
| 2338 |
-
zod-v3-to-json-schema: 4.0.0(zod@4.3.6)
|
| 2339 |
-
transitivePeerDependencies:
|
| 2340 |
-
- '@types/json-schema'
|
| 2341 |
-
- typescript
|
| 2342 |
-
|
| 2343 |
-
tabbable@6.4.0: {}
|
| 2344 |
-
|
| 2345 |
-
table-layout@4.1.1:
|
| 2346 |
-
dependencies:
|
| 2347 |
-
array-back: 6.2.3
|
| 2348 |
-
wordwrapjs: 5.1.1
|
| 2349 |
-
|
| 2350 |
-
tailwind-merge@3.5.0: {}
|
| 2351 |
-
|
| 2352 |
-
tailwind-variants@3.2.2(tailwind-merge@3.5.0)(tailwindcss@4.2.4):
|
| 2353 |
-
dependencies:
|
| 2354 |
-
tailwindcss: 4.2.4
|
| 2355 |
-
optionalDependencies:
|
| 2356 |
-
tailwind-merge: 3.5.0
|
| 2357 |
-
|
| 2358 |
-
tailwindcss@4.2.4: {}
|
| 2359 |
-
|
| 2360 |
-
tapable@2.3.3: {}
|
| 2361 |
-
|
| 2362 |
-
tiny-case@1.0.3:
|
| 2363 |
-
optional: true
|
| 2364 |
-
|
| 2365 |
-
tinyglobby@0.2.16:
|
| 2366 |
-
dependencies:
|
| 2367 |
-
fdir: 6.5.0(picomatch@4.0.4)
|
| 2368 |
-
picomatch: 4.0.4
|
| 2369 |
-
|
| 2370 |
-
toposort@2.0.2:
|
| 2371 |
-
optional: true
|
| 2372 |
-
|
| 2373 |
-
totalist@3.0.1: {}
|
| 2374 |
-
|
| 2375 |
-
ts-algebra@2.0.0:
|
| 2376 |
-
optional: true
|
| 2377 |
-
|
| 2378 |
-
ts-deepmerge@7.0.3: {}
|
| 2379 |
-
|
| 2380 |
-
tslib@2.8.1: {}
|
| 2381 |
-
|
| 2382 |
-
tw-animate-css@1.4.0: {}
|
| 2383 |
-
|
| 2384 |
-
type-fest@2.19.0:
|
| 2385 |
-
optional: true
|
| 2386 |
-
|
| 2387 |
-
typebox@1.1.34:
|
| 2388 |
-
optional: true
|
| 2389 |
-
|
| 2390 |
-
typescript@6.0.3: {}
|
| 2391 |
-
|
| 2392 |
-
typical@7.3.0: {}
|
| 2393 |
-
|
| 2394 |
-
undici-types@7.16.0: {}
|
| 2395 |
-
|
| 2396 |
-
valibot@1.3.1(typescript@6.0.3):
|
| 2397 |
-
optionalDependencies:
|
| 2398 |
-
typescript: 6.0.3
|
| 2399 |
-
optional: true
|
| 2400 |
-
|
| 2401 |
-
validator@13.15.35:
|
| 2402 |
-
optional: true
|
| 2403 |
-
|
| 2404 |
-
vaul-svelte@1.0.0-next.7(svelte@5.55.5):
|
| 2405 |
-
dependencies:
|
| 2406 |
-
runed: 0.23.4(svelte@5.55.5)
|
| 2407 |
-
svelte: 5.55.5
|
| 2408 |
-
svelte-toolbelt: 0.7.1(svelte@5.55.5)
|
| 2409 |
-
|
| 2410 |
-
vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1):
|
| 2411 |
-
dependencies:
|
| 2412 |
-
lightningcss: 1.32.0
|
| 2413 |
-
picomatch: 4.0.4
|
| 2414 |
-
postcss: 8.5.12
|
| 2415 |
-
rolldown: 1.0.0-rc.17
|
| 2416 |
-
tinyglobby: 0.2.16
|
| 2417 |
-
optionalDependencies:
|
| 2418 |
-
'@types/node': 24.12.2
|
| 2419 |
-
fsevents: 2.3.3
|
| 2420 |
-
jiti: 2.6.1
|
| 2421 |
-
|
| 2422 |
-
vitefu@1.1.3(vite@8.0.10(@types/node@24.12.2)(jiti@2.6.1)):
|
| 2423 |
-
optionalDependencies:
|
| 2424 |
-
vite: 8.0.10(@types/node@24.12.2)(jiti@2.6.1)
|
| 2425 |
-
|
| 2426 |
-
wordwrapjs@5.1.1: {}
|
| 2427 |
-
|
| 2428 |
-
yup@1.7.1:
|
| 2429 |
-
dependencies:
|
| 2430 |
-
property-expr: 2.0.6
|
| 2431 |
-
tiny-case: 1.0.3
|
| 2432 |
-
toposort: 2.0.2
|
| 2433 |
-
type-fest: 2.19.0
|
| 2434 |
-
optional: true
|
| 2435 |
-
|
| 2436 |
-
zimmerframe@1.1.4: {}
|
| 2437 |
-
|
| 2438 |
-
zod-v3-to-json-schema@4.0.0(zod@4.3.6):
|
| 2439 |
-
dependencies:
|
| 2440 |
-
zod: 4.3.6
|
| 2441 |
-
optional: true
|
| 2442 |
-
|
| 2443 |
-
zod@4.3.6:
|
| 2444 |
-
optional: true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pnpm-workspace.yaml
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
onlyBuiltDependencies:
|
| 2 |
-
- '@tailwindcss/oxide'
|
| 3 |
-
- esbuild
|
|
|
|
|
|
|
|
|
|
|
|
serve.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
|
|
| 1 |
// Tiny static file server with SPA fallback.
|
| 2 |
// Serves `dist/` (built by `vite build` via @sveltejs/adapter-static)
|
| 3 |
// on $PORT (defaults to 7860 — Hugging Face Spaces' default app_port).
|
|
|
|
| 1 |
+
// @ts-nocheck
|
| 2 |
// Tiny static file server with SPA fallback.
|
| 3 |
// Serves `dist/` (built by `vite build` via @sveltejs/adapter-static)
|
| 4 |
// on $PORT (defaults to 7860 — Hugging Face Spaces' default app_port).
|
src/app.html
CHANGED
|
@@ -2,8 +2,7 @@
|
|
| 2 |
<html lang="en">
|
| 3 |
<head>
|
| 4 |
<meta charset="utf-8" />
|
| 5 |
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 6 |
-
<meta name="text-scale" content="scale" />
|
| 7 |
%sveltekit.head%
|
| 8 |
</head>
|
| 9 |
<body data-sveltekit-preload-data="hover">
|
|
|
|
| 2 |
<html lang="en">
|
| 3 |
<head>
|
| 4 |
<meta charset="utf-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
|
|
|
| 6 |
%sveltekit.head%
|
| 7 |
</head>
|
| 8 |
<body data-sveltekit-preload-data="hover">
|
src/lib/api/hf.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
| 1 |
-
import
|
| 2 |
-
import {
|
| 3 |
-
import {
|
| 4 |
|
| 5 |
export type FetchOptions = FetchOpts;
|
| 6 |
|
| 7 |
-
const PLAYER_COUNT = 10;
|
| 8 |
-
|
| 9 |
let matchesPromise: Promise<Match[]> | null = null;
|
| 10 |
let roundsPromise: Promise<Round[]> | null = null;
|
| 11 |
const matchPreviewsCache = new Map<string, Promise<PreviewChunk[]>>();
|
|
@@ -35,9 +33,7 @@ async function loadShardedIndex<T extends IndexRow>(
|
|
| 35 |
): Promise<T[]> {
|
| 36 |
const paths = await listIndexShards(prefix, opts);
|
| 37 |
if (!paths.length) return [];
|
| 38 |
-
const shards = await Promise.all(
|
| 39 |
-
paths.map((p) => fetchParquetRows<T>(resolveUrl(p), opts))
|
| 40 |
-
);
|
| 41 |
// A re-rendered batch produces a second shard whose rows collide with the
|
| 42 |
// original on (match,map[,round]). Keep the freshest copy per key.
|
| 43 |
const keyOf =
|
|
|
|
| 1 |
+
import { PLAYER_COUNT, type Match, type PreviewChunk, type Round } from '$lib/types';
|
| 2 |
+
import { listTree, resolveUrl, type FetchOpts } from '$lib/api/hub';
|
| 3 |
+
import { fetchParquetRows } from '$lib/api/parquet';
|
| 4 |
|
| 5 |
export type FetchOptions = FetchOpts;
|
| 6 |
|
|
|
|
|
|
|
| 7 |
let matchesPromise: Promise<Match[]> | null = null;
|
| 8 |
let roundsPromise: Promise<Round[]> | null = null;
|
| 9 |
const matchPreviewsCache = new Map<string, Promise<PreviewChunk[]>>();
|
|
|
|
| 33 |
): Promise<T[]> {
|
| 34 |
const paths = await listIndexShards(prefix, opts);
|
| 35 |
if (!paths.length) return [];
|
| 36 |
+
const shards = await Promise.all(paths.map((p) => fetchParquetRows<T>(resolveUrl(p), opts)));
|
|
|
|
|
|
|
| 37 |
// A re-rendered batch produces a second shard whose rows collide with the
|
| 38 |
// original on (match,map[,round]). Keep the freshest copy per key.
|
| 39 |
const keyOf =
|
src/lib/api/hub.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
import { DATASET } from '
|
| 2 |
|
| 3 |
const REF = 'main';
|
| 4 |
|
|
|
|
| 1 |
+
import { DATASET } from '$lib/types';
|
| 2 |
|
| 3 |
const REF = 'main';
|
| 4 |
|
src/lib/api/world.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
-
import type { PreviewChunk } from '
|
| 2 |
-
import type { FetchOpts } from '
|
| 3 |
|
| 4 |
// One player's pose at one sampled tick. Round-relative `t` (seconds).
|
| 5 |
export type WorldFrame = {
|
|
@@ -169,7 +169,7 @@ function nearestLeq(frames: WorldFrame[], t: number): number {
|
|
| 169 |
// Shortest-arc lerp so a player turning across the ±180° boundary doesn't
|
| 170 |
// spin the long way around between sampled ticks.
|
| 171 |
function lerpAngle(a: number, b: number, alpha: number): number {
|
| 172 |
-
const d = ((
|
| 173 |
return a + d * alpha;
|
| 174 |
}
|
| 175 |
|
|
|
|
| 1 |
+
import type { PreviewChunk } from '$lib/types';
|
| 2 |
+
import type { FetchOpts } from '$lib/api/hub';
|
| 3 |
|
| 4 |
// One player's pose at one sampled tick. Round-relative `t` (seconds).
|
| 5 |
export type WorldFrame = {
|
|
|
|
| 169 |
// Shortest-arc lerp so a player turning across the ±180° boundary doesn't
|
| 170 |
// spin the long way around between sampled ticks.
|
| 171 |
function lerpAngle(a: number, b: number, alpha: number): number {
|
| 172 |
+
const d = ((b - a + 540) % 360) - 180 || 0;
|
| 173 |
return a + d * alpha;
|
| 174 |
}
|
| 175 |
|
src/lib/assets/favicon.svg
CHANGED
|
|
|
|
src/lib/components/grid-tile.svelte
CHANGED
|
@@ -1,6 +1,8 @@
|
|
| 1 |
<script lang="ts">
|
|
|
|
| 2 |
import { onDestroy } from 'svelte';
|
| 3 |
import { ChunkedMediaSource, type Chunk } from '$lib/components/video-player';
|
|
|
|
| 4 |
import SkullIcon from 'phosphor-svelte/lib/SkullIcon';
|
| 5 |
import SpeakerHighIcon from 'phosphor-svelte/lib/SpeakerHighIcon';
|
| 6 |
import { playerColor } from '$lib/utils/player-colors';
|
|
@@ -19,7 +21,7 @@
|
|
| 19 |
onSelect: () => void;
|
| 20 |
onLeaderTime?: (t: number) => void;
|
| 21 |
onLeaderEnded?: () => void;
|
| 22 |
-
onBufferedChange?: (player: number, ranges:
|
| 23 |
}
|
| 24 |
|
| 25 |
let {
|
|
@@ -109,13 +111,21 @@
|
|
| 109 |
function onProgress() {
|
| 110 |
if (!videoEl || !onBufferedChange) return;
|
| 111 |
const ranges = videoEl.buffered;
|
| 112 |
-
const out:
|
| 113 |
for (let i = 0; i < ranges.length; i++) {
|
| 114 |
out.push({ start: ranges.start(i), end: ranges.end(i) });
|
| 115 |
}
|
| 116 |
onBufferedChange(player, out);
|
| 117 |
}
|
| 118 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 119 |
onDestroy(() => {
|
| 120 |
mse?.destroy();
|
| 121 |
if (videoSrc) URL.revokeObjectURL(videoSrc);
|
|
@@ -128,14 +138,17 @@
|
|
| 128 |
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
| 129 |
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
| 130 |
<div
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
|
|
|
|
|
|
| 138 |
onclick={() => available && onSelect()}
|
|
|
|
| 139 |
role="button"
|
| 140 |
tabindex={available ? 0 : -1}
|
| 141 |
aria-label="Switch to player {player}"
|
|
@@ -160,7 +173,7 @@
|
|
| 160 |
|
| 161 |
<!-- top-left: player number, colored per slot -->
|
| 162 |
<div
|
| 163 |
-
class="absolute
|
| 164 |
style="background-color: {color};"
|
| 165 |
>
|
| 166 |
{player}
|
|
@@ -168,7 +181,7 @@
|
|
| 168 |
|
| 169 |
{#if isLeader}
|
| 170 |
<div
|
| 171 |
-
class="absolute
|
| 172 |
aria-label="Audio source"
|
| 173 |
title="Audio source"
|
| 174 |
>
|
|
|
|
| 1 |
<script lang="ts">
|
| 2 |
+
import type { BufferedRange } from '$lib/types';
|
| 3 |
import { onDestroy } from 'svelte';
|
| 4 |
import { ChunkedMediaSource, type Chunk } from '$lib/components/video-player';
|
| 5 |
+
import { cn } from '$lib/utils';
|
| 6 |
import SkullIcon from 'phosphor-svelte/lib/SkullIcon';
|
| 7 |
import SpeakerHighIcon from 'phosphor-svelte/lib/SpeakerHighIcon';
|
| 8 |
import { playerColor } from '$lib/utils/player-colors';
|
|
|
|
| 21 |
onSelect: () => void;
|
| 22 |
onLeaderTime?: (t: number) => void;
|
| 23 |
onLeaderEnded?: () => void;
|
| 24 |
+
onBufferedChange?: (player: number, ranges: BufferedRange[]) => void;
|
| 25 |
}
|
| 26 |
|
| 27 |
let {
|
|
|
|
| 111 |
function onProgress() {
|
| 112 |
if (!videoEl || !onBufferedChange) return;
|
| 113 |
const ranges = videoEl.buffered;
|
| 114 |
+
const out: BufferedRange[] = [];
|
| 115 |
for (let i = 0; i < ranges.length; i++) {
|
| 116 |
out.push({ start: ranges.start(i), end: ranges.end(i) });
|
| 117 |
}
|
| 118 |
onBufferedChange(player, out);
|
| 119 |
}
|
| 120 |
|
| 121 |
+
function onKeyDown(e: KeyboardEvent) {
|
| 122 |
+
if (!available) return;
|
| 123 |
+
if (e.key === 'Enter' || e.key === ' ') {
|
| 124 |
+
e.preventDefault();
|
| 125 |
+
onSelect();
|
| 126 |
+
}
|
| 127 |
+
}
|
| 128 |
+
|
| 129 |
onDestroy(() => {
|
| 130 |
mse?.destroy();
|
| 131 |
if (videoSrc) URL.revokeObjectURL(videoSrc);
|
|
|
|
| 138 |
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
| 139 |
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
| 140 |
<div
|
| 141 |
+
data-current={isCurrent}
|
| 142 |
+
data-side={side}
|
| 143 |
+
aria-disabled={!available}
|
| 144 |
+
class={cn(
|
| 145 |
+
'group relative aspect-video cursor-pointer overflow-hidden rounded-md border bg-black transition',
|
| 146 |
+
'data-[current=false]:border-border data-[current=false]:hover:border-foreground/40 aria-disabled:opacity-60',
|
| 147 |
+
'data-[current=true]:ring-2 data-[side=CT]:data-[current=true]:border-sky-500 data-[side=CT]:data-[current=true]:ring-sky-500/40',
|
| 148 |
+
'data-[side=T]:data-[current=true]:border-amber-500 data-[side=T]:data-[current=true]:ring-amber-500/40'
|
| 149 |
+
)}
|
| 150 |
onclick={() => available && onSelect()}
|
| 151 |
+
onkeydown={onKeyDown}
|
| 152 |
role="button"
|
| 153 |
tabindex={available ? 0 : -1}
|
| 154 |
aria-label="Switch to player {player}"
|
|
|
|
| 173 |
|
| 174 |
<!-- top-left: player number, colored per slot -->
|
| 175 |
<div
|
| 176 |
+
class="absolute top-1.5 left-1.5 flex h-6 w-6 items-center justify-center rounded-sm font-mono text-[11px] font-bold text-white/95 shadow-sm ring-1 ring-black/20"
|
| 177 |
style="background-color: {color};"
|
| 178 |
>
|
| 179 |
{player}
|
|
|
|
| 181 |
|
| 182 |
{#if isLeader}
|
| 183 |
<div
|
| 184 |
+
class="absolute top-1.5 right-1.5 grid h-5 w-5 place-items-center rounded bg-emerald-500/85 text-white shadow ring-1 ring-black/20"
|
| 185 |
aria-label="Audio source"
|
| 186 |
title="Audio source"
|
| 187 |
>
|
src/lib/components/header.svelte
CHANGED
|
@@ -1,82 +1,52 @@
|
|
| 1 |
<script lang="ts">
|
| 2 |
import { Button } from '$lib/components/ui/button';
|
| 3 |
-
import * as Breadcrumb from '$lib/components/ui/breadcrumb';
|
| 4 |
import * as Tooltip from '$lib/components/ui/tooltip';
|
| 5 |
import SunIcon from 'phosphor-svelte/lib/SunIcon';
|
| 6 |
import MoonIcon from 'phosphor-svelte/lib/MoonIcon';
|
| 7 |
-
import
|
| 8 |
import { mode, toggleMode } from 'mode-watcher';
|
| 9 |
import HfLogo from '$lib/components/hf-logo.svelte';
|
| 10 |
-
|
| 11 |
-
interface Props {
|
| 12 |
-
breadcrumb?: { label: string; href?: string }[];
|
| 13 |
-
}
|
| 14 |
-
let { breadcrumb = [] }: Props = $props();
|
| 15 |
</script>
|
| 16 |
|
| 17 |
-
<header
|
| 18 |
-
class="
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
|
|
|
|
|
|
|
|
|
| 24 |
</a>
|
| 25 |
|
| 26 |
-
{#if breadcrumb.length}
|
| 27 |
-
<Breadcrumb.Root class="hidden sm:flex">
|
| 28 |
-
<Breadcrumb.List>
|
| 29 |
-
{#each breadcrumb as crumb, i (i)}
|
| 30 |
-
<Breadcrumb.Item>
|
| 31 |
-
{#if crumb.href}
|
| 32 |
-
<Breadcrumb.Link href={crumb.href}>{crumb.label}</Breadcrumb.Link>
|
| 33 |
-
{:else}
|
| 34 |
-
<Breadcrumb.Page>{crumb.label}</Breadcrumb.Page>
|
| 35 |
-
{/if}
|
| 36 |
-
</Breadcrumb.Item>
|
| 37 |
-
{#if i < breadcrumb.length - 1}
|
| 38 |
-
<Breadcrumb.Separator />
|
| 39 |
-
{/if}
|
| 40 |
-
{/each}
|
| 41 |
-
</Breadcrumb.List>
|
| 42 |
-
</Breadcrumb.Root>
|
| 43 |
-
{/if}
|
| 44 |
-
|
| 45 |
<div class="ml-auto flex items-center gap-1">
|
| 46 |
<Tooltip.Root>
|
| 47 |
<Tooltip.Trigger>
|
| 48 |
{#snippet child({ props })}
|
| 49 |
<Button
|
| 50 |
{...props}
|
| 51 |
-
href=
|
| 52 |
target="_blank"
|
| 53 |
rel="noreferrer noopener"
|
| 54 |
variant="ghost"
|
| 55 |
-
size="icon"
|
| 56 |
aria-label="Dataset on Hugging Face"
|
| 57 |
>
|
| 58 |
-
<HfLogo class="size-
|
| 59 |
-
</Button>
|
| 60 |
-
{/snippet}
|
| 61 |
-
</Tooltip.Trigger>
|
| 62 |
-
<Tooltip.Content side="bottom">View dataset on Hugging Face</Tooltip.Content>
|
| 63 |
-
</Tooltip.Root>
|
| 64 |
-
<Tooltip.Root>
|
| 65 |
-
<Tooltip.Trigger>
|
| 66 |
-
{#snippet child({ props })}
|
| 67 |
-
<Button {...props} variant="ghost" size="icon" onclick={toggleMode} aria-label="Toggle theme">
|
| 68 |
-
{#if mode.current === 'dark'}
|
| 69 |
-
<SunIcon size={18} weight="duotone" />
|
| 70 |
-
{:else}
|
| 71 |
-
<MoonIcon size={18} weight="duotone" />
|
| 72 |
-
{/if}
|
| 73 |
</Button>
|
| 74 |
{/snippet}
|
| 75 |
</Tooltip.Trigger>
|
| 76 |
-
<Tooltip.Content side="bottom">
|
| 77 |
-
Switch to {mode.current === 'dark' ? 'light' : 'dark'} mode
|
| 78 |
-
</Tooltip.Content>
|
| 79 |
</Tooltip.Root>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
</div>
|
| 81 |
</div>
|
| 82 |
</header>
|
|
|
|
| 1 |
<script lang="ts">
|
| 2 |
import { Button } from '$lib/components/ui/button';
|
|
|
|
| 3 |
import * as Tooltip from '$lib/components/ui/tooltip';
|
| 4 |
import SunIcon from 'phosphor-svelte/lib/SunIcon';
|
| 5 |
import MoonIcon from 'phosphor-svelte/lib/MoonIcon';
|
| 6 |
+
import CaretLeftIcon from 'phosphor-svelte/lib/CaretLeftIcon';
|
| 7 |
import { mode, toggleMode } from 'mode-watcher';
|
| 8 |
import HfLogo from '$lib/components/hf-logo.svelte';
|
| 9 |
+
import { site } from '$lib/site';
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
</script>
|
| 11 |
|
| 12 |
+
<header class="border-border/60 border-b">
|
| 13 |
+
<div class="mx-auto flex h-12 w-full max-w-[1600px] items-center gap-3 px-4">
|
| 14 |
+
<a
|
| 15 |
+
href="/"
|
| 16 |
+
class="text-muted-foreground hover:text-foreground inline-flex items-center gap-1.5 text-xs font-medium transition"
|
| 17 |
+
aria-label="Back to dataset home"
|
| 18 |
+
>
|
| 19 |
+
<CaretLeftIcon size={12} weight="bold" />
|
| 20 |
+
<span aria-hidden="true">🎯</span>
|
| 21 |
+
<span>{site.name}</span>
|
| 22 |
</a>
|
| 23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
<div class="ml-auto flex items-center gap-1">
|
| 25 |
<Tooltip.Root>
|
| 26 |
<Tooltip.Trigger>
|
| 27 |
{#snippet child({ props })}
|
| 28 |
<Button
|
| 29 |
{...props}
|
| 30 |
+
href={site.datasetUrl}
|
| 31 |
target="_blank"
|
| 32 |
rel="noreferrer noopener"
|
| 33 |
variant="ghost"
|
| 34 |
+
size="icon-sm"
|
| 35 |
aria-label="Dataset on Hugging Face"
|
| 36 |
>
|
| 37 |
+
<HfLogo class="size-4" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
</Button>
|
| 39 |
{/snippet}
|
| 40 |
</Tooltip.Trigger>
|
| 41 |
+
<Tooltip.Content side="bottom">View on Hugging Face</Tooltip.Content>
|
|
|
|
|
|
|
| 42 |
</Tooltip.Root>
|
| 43 |
+
<Button variant="ghost" size="icon-sm" onclick={toggleMode} aria-label="Toggle theme">
|
| 44 |
+
{#if mode.current === 'dark'}
|
| 45 |
+
<SunIcon size={16} weight="duotone" />
|
| 46 |
+
{:else}
|
| 47 |
+
<MoonIcon size={16} weight="duotone" />
|
| 48 |
+
{/if}
|
| 49 |
+
</Button>
|
| 50 |
</div>
|
| 51 |
</div>
|
| 52 |
</header>
|
src/lib/components/map-preview.svelte
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
<script lang="ts">
|
| 2 |
import { Skeleton } from '$lib/components/ui/skeleton';
|
| 3 |
import * as ToggleGroup from '$lib/components/ui/toggle-group';
|
|
|
|
| 4 |
import {
|
| 5 |
loadMapData,
|
| 6 |
radarUrl,
|
|
@@ -87,7 +88,7 @@
|
|
| 87 |
</script>
|
| 88 |
|
| 89 |
<div
|
| 90 |
-
class=
|
| 91 |
style={size === undefined ? undefined : `width: ${size}px; height: ${size}px;`}
|
| 92 |
>
|
| 93 |
{#if !map}
|
|
@@ -96,7 +97,7 @@
|
|
| 96 |
<img
|
| 97 |
src={radarUrl(mapName, displayedFloor)}
|
| 98 |
alt="{mapName} radar"
|
| 99 |
-
class="absolute inset-0 h-full w-full
|
| 100 |
draggable="false"
|
| 101 |
/>
|
| 102 |
<svg
|
|
@@ -123,9 +124,9 @@
|
|
| 123 |
<!-- svelte-ignore a11y_no_noninteractive_tabindex -->
|
| 124 |
<g
|
| 125 |
class="mp-marker"
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
opacity={baseOpacity}
|
| 130 |
role={clickable ? 'button' : undefined}
|
| 131 |
tabindex={clickable ? 0 : undefined}
|
|
@@ -234,7 +235,7 @@
|
|
| 234 |
</svg>
|
| 235 |
|
| 236 |
{#if lowerAvailable}
|
| 237 |
-
<div class="absolute
|
| 238 |
<ToggleGroup.Root
|
| 239 |
type="single"
|
| 240 |
value={toggleValue}
|
|
@@ -260,23 +261,23 @@
|
|
| 260 |
</div>
|
| 261 |
|
| 262 |
<style>
|
| 263 |
-
.mp-marker-
|
| 264 |
cursor: pointer;
|
| 265 |
}
|
| 266 |
-
.mp-marker-
|
| 267 |
cursor: not-allowed;
|
| 268 |
}
|
| 269 |
/* Hover & focus on a clickable marker: light up the hit-ring and lift the
|
| 270 |
group with a subtle drop-shadow so it feels selectable. */
|
| 271 |
-
.mp-marker-
|
| 272 |
-
.mp-marker-
|
| 273 |
stroke-opacity: 0.9;
|
| 274 |
}
|
| 275 |
-
.mp-marker-
|
| 276 |
transition: filter 120ms ease-out;
|
| 277 |
}
|
| 278 |
-
.mp-marker-
|
| 279 |
-
.mp-marker-
|
| 280 |
filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.45));
|
| 281 |
}
|
| 282 |
.mp-marker:focus {
|
|
@@ -286,7 +287,7 @@
|
|
| 286 |
outline: none;
|
| 287 |
}
|
| 288 |
@media (prefers-reduced-motion: reduce) {
|
| 289 |
-
.mp-marker-
|
| 290 |
transition: none;
|
| 291 |
}
|
| 292 |
}
|
|
|
|
| 1 |
<script lang="ts">
|
| 2 |
import { Skeleton } from '$lib/components/ui/skeleton';
|
| 3 |
import * as ToggleGroup from '$lib/components/ui/toggle-group';
|
| 4 |
+
import { cn } from '$lib/utils';
|
| 5 |
import {
|
| 6 |
loadMapData,
|
| 7 |
radarUrl,
|
|
|
|
| 88 |
</script>
|
| 89 |
|
| 90 |
<div
|
| 91 |
+
class={cn('relative', size === undefined && 'aspect-square w-full', className)}
|
| 92 |
style={size === undefined ? undefined : `width: ${size}px; height: ${size}px;`}
|
| 93 |
>
|
| 94 |
{#if !map}
|
|
|
|
| 97 |
<img
|
| 98 |
src={radarUrl(mapName, displayedFloor)}
|
| 99 |
alt="{mapName} radar"
|
| 100 |
+
class="absolute inset-0 h-full w-full rounded-md opacity-70 select-none"
|
| 101 |
draggable="false"
|
| 102 |
/>
|
| 103 |
<svg
|
|
|
|
| 124 |
<!-- svelte-ignore a11y_no_noninteractive_tabindex -->
|
| 125 |
<g
|
| 126 |
class="mp-marker"
|
| 127 |
+
data-active={isActive || undefined}
|
| 128 |
+
data-clickable={clickable || undefined}
|
| 129 |
+
data-unavailable={!!onSelect && slotKnown && !available ? true : undefined}
|
| 130 |
opacity={baseOpacity}
|
| 131 |
role={clickable ? 'button' : undefined}
|
| 132 |
tabindex={clickable ? 0 : undefined}
|
|
|
|
| 235 |
</svg>
|
| 236 |
|
| 237 |
{#if lowerAvailable}
|
| 238 |
+
<div class="absolute top-2 right-2">
|
| 239 |
<ToggleGroup.Root
|
| 240 |
type="single"
|
| 241 |
value={toggleValue}
|
|
|
|
| 261 |
</div>
|
| 262 |
|
| 263 |
<style>
|
| 264 |
+
.mp-marker[data-clickable='true'] {
|
| 265 |
cursor: pointer;
|
| 266 |
}
|
| 267 |
+
.mp-marker[data-unavailable='true'] {
|
| 268 |
cursor: not-allowed;
|
| 269 |
}
|
| 270 |
/* Hover & focus on a clickable marker: light up the hit-ring and lift the
|
| 271 |
group with a subtle drop-shadow so it feels selectable. */
|
| 272 |
+
.mp-marker[data-clickable='true']:hover .mp-marker__hit,
|
| 273 |
+
.mp-marker[data-clickable='true']:focus-visible .mp-marker__hit {
|
| 274 |
stroke-opacity: 0.9;
|
| 275 |
}
|
| 276 |
+
.mp-marker[data-clickable='true'] {
|
| 277 |
transition: filter 120ms ease-out;
|
| 278 |
}
|
| 279 |
+
.mp-marker[data-clickable='true']:hover,
|
| 280 |
+
.mp-marker[data-clickable='true']:focus-visible {
|
| 281 |
filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.45));
|
| 282 |
}
|
| 283 |
.mp-marker:focus {
|
|
|
|
| 287 |
outline: none;
|
| 288 |
}
|
| 289 |
@media (prefers-reduced-motion: reduce) {
|
| 290 |
+
.mp-marker[data-clickable='true'] {
|
| 291 |
transition: none;
|
| 292 |
}
|
| 293 |
}
|
src/lib/components/match-card.svelte
DELETED
|
@@ -1,91 +0,0 @@
|
|
| 1 |
-
<script lang="ts">
|
| 2 |
-
import type { Match } from '$lib/types';
|
| 3 |
-
import * as Card from '$lib/components/ui/card';
|
| 4 |
-
import { Badge } from '$lib/components/ui/badge';
|
| 5 |
-
import CalendarIcon from 'phosphor-svelte/lib/CalendarIcon';
|
| 6 |
-
import MapPinIcon from 'phosphor-svelte/lib/MapPinIcon';
|
| 7 |
-
import FilmSlateIcon from 'phosphor-svelte/lib/FilmSlateIcon';
|
| 8 |
-
import ShieldIcon from 'phosphor-svelte/lib/ShieldIcon';
|
| 9 |
-
import SwordIcon from 'phosphor-svelte/lib/SwordIcon';
|
| 10 |
-
import { formatDate, prettyMap } from '$lib/utils/format';
|
| 11 |
-
import { mapColorClasses } from '$lib/utils/map-colors';
|
| 12 |
-
|
| 13 |
-
interface Props {
|
| 14 |
-
match: Match;
|
| 15 |
-
}
|
| 16 |
-
let { match }: Props = $props();
|
| 17 |
-
|
| 18 |
-
const team1Wins = $derived(match.winner === 'team1');
|
| 19 |
-
const team2Wins = $derived(match.winner === 'team2');
|
| 20 |
-
const href = $derived(
|
| 21 |
-
`/match/${encodeURIComponent(match.match_id)}/${encodeURIComponent(match.map_name)}`
|
| 22 |
-
);
|
| 23 |
-
const winnerSide = $derived((match.winner_side ?? '').toLowerCase());
|
| 24 |
-
</script>
|
| 25 |
-
|
| 26 |
-
<a {href} class="group block focus:outline-none">
|
| 27 |
-
<Card.Root
|
| 28 |
-
class="hover:border-primary/40 hover:shadow-md group-focus-visible:ring-ring h-full transition-all group-focus-visible:ring-2"
|
| 29 |
-
>
|
| 30 |
-
<Card.Header class="gap-1 pb-3">
|
| 31 |
-
<div class="text-muted-foreground flex items-center justify-between text-xs">
|
| 32 |
-
<span class="inline-flex items-center gap-1">
|
| 33 |
-
<CalendarIcon size={12} weight="duotone" />
|
| 34 |
-
{formatDate(match.match_date)}
|
| 35 |
-
</span>
|
| 36 |
-
<span class="inline-flex items-center gap-1 uppercase tracking-wide">
|
| 37 |
-
{match.format}
|
| 38 |
-
</span>
|
| 39 |
-
</div>
|
| 40 |
-
<Card.Title class="font-heading mt-1 truncate text-base font-semibold tracking-tight">
|
| 41 |
-
{match.event}
|
| 42 |
-
</Card.Title>
|
| 43 |
-
</Card.Header>
|
| 44 |
-
|
| 45 |
-
<Card.Content class="space-y-3">
|
| 46 |
-
<div class="grid grid-cols-[1fr_auto_1fr] items-center gap-2">
|
| 47 |
-
<div
|
| 48 |
-
class="truncate text-right text-sm font-medium {team1Wins
|
| 49 |
-
? 'text-foreground'
|
| 50 |
-
: 'text-muted-foreground'}"
|
| 51 |
-
>
|
| 52 |
-
{match.team1}
|
| 53 |
-
</div>
|
| 54 |
-
<div class="flex items-center gap-1 text-base font-bold tabular-nums">
|
| 55 |
-
<span class={team1Wins ? 'text-primary' : 'text-muted-foreground'}>{match.score1}</span>
|
| 56 |
-
<span class="text-muted-foreground/50 text-xs">:</span>
|
| 57 |
-
<span class={team2Wins ? 'text-primary' : 'text-muted-foreground'}>{match.score2}</span>
|
| 58 |
-
</div>
|
| 59 |
-
<div
|
| 60 |
-
class="truncate text-left text-sm font-medium {team2Wins
|
| 61 |
-
? 'text-foreground'
|
| 62 |
-
: 'text-muted-foreground'}"
|
| 63 |
-
>
|
| 64 |
-
{match.team2}
|
| 65 |
-
</div>
|
| 66 |
-
</div>
|
| 67 |
-
|
| 68 |
-
<div class="flex flex-wrap items-center gap-1.5">
|
| 69 |
-
<Badge class="gap-1 border capitalize {mapColorClasses(match.map_name)}">
|
| 70 |
-
<MapPinIcon size={11} weight="duotone" />{prettyMap(match.map_name)}
|
| 71 |
-
</Badge>
|
| 72 |
-
<Badge variant="outline" class="gap-1">
|
| 73 |
-
<FilmSlateIcon size={11} weight="duotone" />{match.rounds_played} rounds
|
| 74 |
-
</Badge>
|
| 75 |
-
{#if winnerSide === 'ct'}
|
| 76 |
-
<Badge
|
| 77 |
-
class="gap-1 border border-sky-500/40 bg-sky-500/15 text-sky-700 dark:text-sky-300"
|
| 78 |
-
>
|
| 79 |
-
<ShieldIcon size={11} weight="duotone" /> CT won
|
| 80 |
-
</Badge>
|
| 81 |
-
{:else if winnerSide === 't'}
|
| 82 |
-
<Badge
|
| 83 |
-
class="gap-1 border border-amber-500/40 bg-amber-500/15 text-amber-700 dark:text-amber-300"
|
| 84 |
-
>
|
| 85 |
-
<SwordIcon size={11} weight="duotone" /> T won
|
| 86 |
-
</Badge>
|
| 87 |
-
{/if}
|
| 88 |
-
</div>
|
| 89 |
-
</Card.Content>
|
| 90 |
-
</Card.Root>
|
| 91 |
-
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/lib/components/match-info.svelte
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
<script lang="ts">
|
| 2 |
import type { Match } from '$lib/types';
|
| 3 |
import { Badge } from '$lib/components/ui/badge';
|
|
|
|
| 4 |
import CalendarIcon from 'phosphor-svelte/lib/CalendarIcon';
|
| 5 |
import MapPinIcon from 'phosphor-svelte/lib/MapPinIcon';
|
| 6 |
import ShieldIcon from 'phosphor-svelte/lib/ShieldIcon';
|
|
@@ -22,24 +23,29 @@
|
|
| 22 |
|
| 23 |
<div class="space-y-3">
|
| 24 |
<div>
|
| 25 |
-
<div class="text-muted-foreground text-xs
|
| 26 |
<div class="font-heading mt-0.5 text-sm font-semibold">{match.event}</div>
|
| 27 |
</div>
|
| 28 |
|
| 29 |
<div class="border-y py-3">
|
| 30 |
<div class="grid grid-cols-[1fr_auto_1fr] items-center gap-3">
|
| 31 |
<div
|
| 32 |
-
|
|
|
|
| 33 |
>
|
| 34 |
{match.team1}
|
| 35 |
</div>
|
| 36 |
<div class="font-heading flex items-center gap-1 text-xl font-bold tabular-nums">
|
| 37 |
-
<span
|
|
|
|
| 38 |
<span class="text-muted-foreground/40">:</span>
|
| 39 |
-
<span
|
|
|
|
|
|
|
| 40 |
</div>
|
| 41 |
<div
|
| 42 |
-
|
|
|
|
| 43 |
>
|
| 44 |
{match.team2}
|
| 45 |
</div>
|
|
@@ -51,7 +57,7 @@
|
|
| 51 |
<MapPinIcon size={12} weight="duotone" /> Map
|
| 52 |
</dt>
|
| 53 |
<dd class="text-right">
|
| 54 |
-
<Badge class=
|
| 55 |
{prettyMap(match.map_name)}
|
| 56 |
</Badge>
|
| 57 |
</dd>
|
|
@@ -77,7 +83,9 @@
|
|
| 77 |
</dt>
|
| 78 |
<dd class="text-right">
|
| 79 |
{#if winnerSide === 'ct'}
|
| 80 |
-
<Badge
|
|
|
|
|
|
|
| 81 |
<ShieldIcon size={11} weight="duotone" /> CT won
|
| 82 |
</Badge>
|
| 83 |
{:else}
|
|
|
|
| 1 |
<script lang="ts">
|
| 2 |
import type { Match } from '$lib/types';
|
| 3 |
import { Badge } from '$lib/components/ui/badge';
|
| 4 |
+
import { cn } from '$lib/utils';
|
| 5 |
import CalendarIcon from 'phosphor-svelte/lib/CalendarIcon';
|
| 6 |
import MapPinIcon from 'phosphor-svelte/lib/MapPinIcon';
|
| 7 |
import ShieldIcon from 'phosphor-svelte/lib/ShieldIcon';
|
|
|
|
| 23 |
|
| 24 |
<div class="space-y-3">
|
| 25 |
<div>
|
| 26 |
+
<div class="text-muted-foreground text-xs tracking-wide uppercase">Event</div>
|
| 27 |
<div class="font-heading mt-0.5 text-sm font-semibold">{match.event}</div>
|
| 28 |
</div>
|
| 29 |
|
| 30 |
<div class="border-y py-3">
|
| 31 |
<div class="grid grid-cols-[1fr_auto_1fr] items-center gap-3">
|
| 32 |
<div
|
| 33 |
+
data-winning={team1Wins}
|
| 34 |
+
class="data-[winning=false]:text-muted-foreground text-right text-sm font-medium"
|
| 35 |
>
|
| 36 |
{match.team1}
|
| 37 |
</div>
|
| 38 |
<div class="font-heading flex items-center gap-1 text-xl font-bold tabular-nums">
|
| 39 |
+
<span data-winning={team1Wins} class="data-[winning=true]:text-primary">{match.score1}</span
|
| 40 |
+
>
|
| 41 |
<span class="text-muted-foreground/40">:</span>
|
| 42 |
+
<span data-winning={!team1Wins} class="data-[winning=true]:text-primary"
|
| 43 |
+
>{match.score2}</span
|
| 44 |
+
>
|
| 45 |
</div>
|
| 46 |
<div
|
| 47 |
+
data-winning={!team1Wins}
|
| 48 |
+
class="data-[winning=false]:text-muted-foreground text-left text-sm font-medium"
|
| 49 |
>
|
| 50 |
{match.team2}
|
| 51 |
</div>
|
|
|
|
| 57 |
<MapPinIcon size={12} weight="duotone" /> Map
|
| 58 |
</dt>
|
| 59 |
<dd class="text-right">
|
| 60 |
+
<Badge class={cn('gap-1 border capitalize', mapColorClasses(match.map_name))}>
|
| 61 |
{prettyMap(match.map_name)}
|
| 62 |
</Badge>
|
| 63 |
</dd>
|
|
|
|
| 83 |
</dt>
|
| 84 |
<dd class="text-right">
|
| 85 |
{#if winnerSide === 'ct'}
|
| 86 |
+
<Badge
|
| 87 |
+
class="gap-1 border border-sky-500/40 bg-sky-500/15 text-sky-700 dark:text-sky-300"
|
| 88 |
+
>
|
| 89 |
<ShieldIcon size={11} weight="duotone" /> CT won
|
| 90 |
</Badge>
|
| 91 |
{:else}
|
src/lib/components/match-table/cells/duration-cell.svelte
CHANGED
|
@@ -7,4 +7,6 @@
|
|
| 7 |
let { seconds }: Props = $props();
|
| 8 |
</script>
|
| 9 |
|
| 10 |
-
<span class="font-mono
|
|
|
|
|
|
|
|
|
| 7 |
let { seconds }: Props = $props();
|
| 8 |
</script>
|
| 9 |
|
| 10 |
+
<span class="text-muted-foreground font-mono text-xs tabular-nums"
|
| 11 |
+
>{formatLongDuration(seconds)}</span
|
| 12 |
+
>
|
src/lib/components/match-table/cells/event-cell.svelte
CHANGED
|
@@ -9,6 +9,6 @@
|
|
| 9 |
<div class="flex min-w-0 flex-col">
|
| 10 |
<span class="truncate text-sm font-medium" title={event}>{event}</span>
|
| 11 |
{#if format}
|
| 12 |
-
<span class="text-muted-foreground/70 text-[0.65rem]
|
| 13 |
{/if}
|
| 14 |
</div>
|
|
|
|
| 9 |
<div class="flex min-w-0 flex-col">
|
| 10 |
<span class="truncate text-sm font-medium" title={event}>{event}</span>
|
| 11 |
{#if format}
|
| 12 |
+
<span class="text-muted-foreground/70 text-[0.65rem] tracking-wide uppercase">{format}</span>
|
| 13 |
{/if}
|
| 14 |
</div>
|
src/lib/components/match-table/cells/map-cell.svelte
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
<script lang="ts">
|
| 2 |
import { Badge } from '$lib/components/ui/badge';
|
| 3 |
-
import
|
|
|
|
| 4 |
import { mapColorClasses } from '$lib/utils/map-colors';
|
| 5 |
import { prettyMap } from '$lib/utils/format';
|
| 6 |
|
|
@@ -10,6 +11,6 @@ import MapPinIcon from 'phosphor-svelte/lib/MapPinIcon';
|
|
| 10 |
let { map }: Props = $props();
|
| 11 |
</script>
|
| 12 |
|
| 13 |
-
<Badge class=
|
| 14 |
<MapPinIcon size={11} weight="duotone" />{prettyMap(map)}
|
| 15 |
</Badge>
|
|
|
|
| 1 |
<script lang="ts">
|
| 2 |
import { Badge } from '$lib/components/ui/badge';
|
| 3 |
+
import { cn } from '$lib/utils';
|
| 4 |
+
import MapPinIcon from 'phosphor-svelte/lib/MapPinIcon';
|
| 5 |
import { mapColorClasses } from '$lib/utils/map-colors';
|
| 6 |
import { prettyMap } from '$lib/utils/format';
|
| 7 |
|
|
|
|
| 11 |
let { map }: Props = $props();
|
| 12 |
</script>
|
| 13 |
|
| 14 |
+
<Badge class={cn('gap-1 border capitalize', mapColorClasses(map))}>
|
| 15 |
<MapPinIcon size={11} weight="duotone" />{prettyMap(map)}
|
| 16 |
</Badge>
|
src/lib/components/match-table/cells/maps-list-cell.svelte
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
<script lang="ts">
|
| 2 |
import { Badge } from '$lib/components/ui/badge';
|
| 3 |
-
import
|
|
|
|
| 4 |
import { mapColorClasses } from '$lib/utils/map-colors';
|
| 5 |
import { prettyMap } from '$lib/utils/format';
|
| 6 |
|
|
@@ -12,7 +13,7 @@ import MapPinIcon from 'phosphor-svelte/lib/MapPinIcon';
|
|
| 12 |
|
| 13 |
<div class="flex flex-wrap items-center gap-1">
|
| 14 |
{#each maps as map (map)}
|
| 15 |
-
<Badge class=
|
| 16 |
<MapPinIcon size={10} weight="duotone" />{prettyMap(map)}
|
| 17 |
</Badge>
|
| 18 |
{/each}
|
|
|
|
| 1 |
<script lang="ts">
|
| 2 |
import { Badge } from '$lib/components/ui/badge';
|
| 3 |
+
import { cn } from '$lib/utils';
|
| 4 |
+
import MapPinIcon from 'phosphor-svelte/lib/MapPinIcon';
|
| 5 |
import { mapColorClasses } from '$lib/utils/map-colors';
|
| 6 |
import { prettyMap } from '$lib/utils/format';
|
| 7 |
|
|
|
|
| 13 |
|
| 14 |
<div class="flex flex-wrap items-center gap-1">
|
| 15 |
{#each maps as map (map)}
|
| 16 |
+
<Badge class={cn('gap-1 border text-[0.65rem] capitalize', mapColorClasses(map))}>
|
| 17 |
<MapPinIcon size={10} weight="duotone" />{prettyMap(map)}
|
| 18 |
</Badge>
|
| 19 |
{/each}
|
src/lib/components/match-table/cells/rounds-played-cell.svelte
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
<script lang="ts">
|
| 2 |
-
import FilmSlateIcon from 'phosphor-svelte/lib/FilmSlateIcon';
|
| 3 |
|
| 4 |
interface Props {
|
| 5 |
rounds: number;
|
|
|
|
| 1 |
<script lang="ts">
|
| 2 |
+
import FilmSlateIcon from 'phosphor-svelte/lib/FilmSlateIcon';
|
| 3 |
|
| 4 |
interface Props {
|
| 5 |
rounds: number;
|
src/lib/components/match-table/cells/score-cell.svelte
CHANGED
|
@@ -2,16 +2,23 @@
|
|
| 2 |
interface Props {
|
| 3 |
score1: number;
|
| 4 |
score2: number;
|
| 5 |
-
winner:
|
| 6 |
}
|
| 7 |
let { score1, score2, winner }: Props = $props();
|
| 8 |
-
|
| 9 |
-
const team1Wins = $derived(winner === 'team1');
|
| 10 |
-
const team2Wins = $derived(winner === 'team2');
|
| 11 |
</script>
|
| 12 |
|
| 13 |
<div class="flex items-center justify-center gap-1 font-mono text-sm tabular-nums">
|
| 14 |
-
<span
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
<span class="text-muted-foreground/40 text-xs">:</span>
|
| 16 |
-
<span
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
</div>
|
|
|
|
| 2 |
interface Props {
|
| 3 |
score1: number;
|
| 4 |
score2: number;
|
| 5 |
+
winner: 'team1' | 'team2' | '';
|
| 6 |
}
|
| 7 |
let { score1, score2, winner }: Props = $props();
|
|
|
|
|
|
|
|
|
|
| 8 |
</script>
|
| 9 |
|
| 10 |
<div class="flex items-center justify-center gap-1 font-mono text-sm tabular-nums">
|
| 11 |
+
<span
|
| 12 |
+
data-winner={winner === 'team1'}
|
| 13 |
+
class="text-muted-foreground data-[winner=true]:text-primary data-[winner=true]:font-semibold"
|
| 14 |
+
>
|
| 15 |
+
{score1}
|
| 16 |
+
</span>
|
| 17 |
<span class="text-muted-foreground/40 text-xs">:</span>
|
| 18 |
+
<span
|
| 19 |
+
data-winner={winner === 'team2'}
|
| 20 |
+
class="text-muted-foreground data-[winner=true]:text-primary data-[winner=true]:font-semibold"
|
| 21 |
+
>
|
| 22 |
+
{score2}
|
| 23 |
+
</span>
|
| 24 |
</div>
|
src/lib/components/match-table/cells/teams-cell.svelte
CHANGED
|
@@ -1,8 +1,10 @@
|
|
| 1 |
<script lang="ts">
|
|
|
|
|
|
|
| 2 |
interface Props {
|
| 3 |
team1: string;
|
| 4 |
team2: string;
|
| 5 |
-
winner:
|
| 6 |
}
|
| 7 |
let { team1, team2, winner }: Props = $props();
|
| 8 |
|
|
@@ -12,18 +14,16 @@
|
|
| 12 |
|
| 13 |
<div class="flex min-w-0 items-center gap-1.5 text-xs">
|
| 14 |
<span
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
: 'text-muted-foreground'}"
|
| 18 |
title={team1}
|
| 19 |
>
|
| 20 |
{team1}
|
| 21 |
</span>
|
| 22 |
<span class="text-muted-foreground/40 shrink-0">vs</span>
|
| 23 |
<span
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
: 'text-muted-foreground'}"
|
| 27 |
title={team2}
|
| 28 |
>
|
| 29 |
{team2}
|
|
|
|
| 1 |
<script lang="ts">
|
| 2 |
+
import { cn } from '$lib/utils';
|
| 3 |
+
|
| 4 |
interface Props {
|
| 5 |
team1: string;
|
| 6 |
team2: string;
|
| 7 |
+
winner: 'team1' | 'team2' | '';
|
| 8 |
}
|
| 9 |
let { team1, team2, winner }: Props = $props();
|
| 10 |
|
|
|
|
| 14 |
|
| 15 |
<div class="flex min-w-0 items-center gap-1.5 text-xs">
|
| 16 |
<span
|
| 17 |
+
data-winning={team1Wins}
|
| 18 |
+
class={cn('truncate font-medium', 'data-[winning=false]:text-muted-foreground')}
|
|
|
|
| 19 |
title={team1}
|
| 20 |
>
|
| 21 |
{team1}
|
| 22 |
</span>
|
| 23 |
<span class="text-muted-foreground/40 shrink-0">vs</span>
|
| 24 |
<span
|
| 25 |
+
data-winning={team2Wins}
|
| 26 |
+
class={cn('truncate font-medium', 'data-[winning=false]:text-muted-foreground')}
|
|
|
|
| 27 |
title={team2}
|
| 28 |
>
|
| 29 |
{team2}
|
src/lib/components/match-table/cells/winner-side-cell.svelte
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
<script lang="ts">
|
| 2 |
import { Badge } from '$lib/components/ui/badge';
|
| 3 |
-
import ShieldIcon from 'phosphor-svelte/lib/ShieldIcon';
|
| 4 |
-
import SwordIcon from 'phosphor-svelte/lib/SwordIcon';
|
| 5 |
|
| 6 |
interface Props {
|
| 7 |
side: string | null | undefined;
|
|
|
|
| 1 |
<script lang="ts">
|
| 2 |
import { Badge } from '$lib/components/ui/badge';
|
| 3 |
+
import ShieldIcon from 'phosphor-svelte/lib/ShieldIcon';
|
| 4 |
+
import SwordIcon from 'phosphor-svelte/lib/SwordIcon';
|
| 5 |
|
| 6 |
interface Props {
|
| 7 |
side: string | null | undefined;
|
src/lib/components/match-table/columns.ts
CHANGED
|
@@ -65,8 +65,7 @@ export const roundColumns: ColumnDef<RoundRow>[] = [
|
|
| 65 |
{
|
| 66 |
id: 'round',
|
| 67 |
accessorKey: 'round',
|
| 68 |
-
header: ({ column }) =>
|
| 69 |
-
renderComponent(SortHeader, { column, label: 'Round' }),
|
| 70 |
cell: ({ row }) =>
|
| 71 |
renderComponent(RoundCell, { round: row.original.round, total: row.original.rounds_played }),
|
| 72 |
enableGlobalFilter: false,
|
|
@@ -75,8 +74,7 @@ export const roundColumns: ColumnDef<RoundRow>[] = [
|
|
| 75 |
{
|
| 76 |
id: 'duration_s',
|
| 77 |
accessorKey: 'duration_s',
|
| 78 |
-
header: ({ column }) =>
|
| 79 |
-
renderComponent(SortHeader, { column, label: 'Duration' }),
|
| 80 |
cell: ({ row }) => renderComponent(DurationCell, { seconds: row.original.duration_s }),
|
| 81 |
enableGlobalFilter: false,
|
| 82 |
meta: { label: 'Duration' }
|
|
@@ -85,8 +83,7 @@ export const roundColumns: ColumnDef<RoundRow>[] = [
|
|
| 85 |
id: 'match_date',
|
| 86 |
accessorFn: (r) => new Date(r.match_date).getTime(),
|
| 87 |
sortingFn: (a, b) => dateSort(a.original, b.original),
|
| 88 |
-
header: ({ column }) =>
|
| 89 |
-
renderComponent(SortHeader, { column, label: 'Date' }),
|
| 90 |
cell: ({ row }) => renderComponent(DateCell, { iso: row.original.match_date }),
|
| 91 |
enableGlobalFilter: false,
|
| 92 |
meta: { label: 'Date' }
|
|
@@ -130,8 +127,7 @@ export const mapColumns: ColumnDef<MapRow>[] = [
|
|
| 130 |
{
|
| 131 |
id: 'score',
|
| 132 |
accessorFn: (r) => r.score1 + r.score2,
|
| 133 |
-
header: ({ column }) =>
|
| 134 |
-
renderComponent(SortHeader, { column, label: 'Score', align: 'start' }),
|
| 135 |
cell: ({ row }) =>
|
| 136 |
renderComponent(ScoreCell, {
|
| 137 |
score1: row.original.score1,
|
|
@@ -157,8 +153,7 @@ export const mapColumns: ColumnDef<MapRow>[] = [
|
|
| 157 |
{
|
| 158 |
id: 'rounds_played',
|
| 159 |
accessorKey: 'rounds_played',
|
| 160 |
-
header: ({ column }) =>
|
| 161 |
-
renderComponent(SortHeader, { column, label: 'Rounds' }),
|
| 162 |
cell: ({ row }) => renderComponent(RoundsPlayedCell, { rounds: row.original.rounds_played }),
|
| 163 |
enableGlobalFilter: false,
|
| 164 |
meta: { label: 'Rounds' }
|
|
@@ -166,8 +161,7 @@ export const mapColumns: ColumnDef<MapRow>[] = [
|
|
| 166 |
{
|
| 167 |
id: 'duration_s',
|
| 168 |
accessorKey: 'duration_s',
|
| 169 |
-
header: ({ column }) =>
|
| 170 |
-
renderComponent(SortHeader, { column, label: 'Duration' }),
|
| 171 |
cell: ({ row }) => renderComponent(DurationCell, { seconds: row.original.duration_s }),
|
| 172 |
enableGlobalFilter: false,
|
| 173 |
meta: { label: 'Duration' }
|
|
@@ -187,8 +181,7 @@ export const matchColumns: ColumnDef<MatchRow>[] = [
|
|
| 187 |
{
|
| 188 |
id: 'event',
|
| 189 |
accessorKey: 'event',
|
| 190 |
-
header: ({ column }) =>
|
| 191 |
-
renderComponent(SortHeader, { column, label: 'Event' }),
|
| 192 |
cell: ({ row }) =>
|
| 193 |
renderComponent(EventCell, { event: row.original.event, format: row.original.format }),
|
| 194 |
meta: { label: 'Event' }
|
|
@@ -209,8 +202,7 @@ export const matchColumns: ColumnDef<MatchRow>[] = [
|
|
| 209 |
{
|
| 210 |
id: 'score',
|
| 211 |
accessorFn: (r) => r.score1 + r.score2,
|
| 212 |
-
header: ({ column }) =>
|
| 213 |
-
renderComponent(SortHeader, { column, label: 'Maps' }),
|
| 214 |
cell: ({ row }) =>
|
| 215 |
renderComponent(ScoreCell, {
|
| 216 |
score1: row.original.score1,
|
|
@@ -231,8 +223,7 @@ export const matchColumns: ColumnDef<MatchRow>[] = [
|
|
| 231 |
{
|
| 232 |
id: 'rounds_played',
|
| 233 |
accessorKey: 'rounds_played',
|
| 234 |
-
header: ({ column }) =>
|
| 235 |
-
renderComponent(SortHeader, { column, label: 'Rounds' }),
|
| 236 |
cell: ({ row }) => renderComponent(RoundsPlayedCell, { rounds: row.original.rounds_played }),
|
| 237 |
enableGlobalFilter: false,
|
| 238 |
meta: { label: 'Rounds' }
|
|
@@ -240,8 +231,7 @@ export const matchColumns: ColumnDef<MatchRow>[] = [
|
|
| 240 |
{
|
| 241 |
id: 'duration_s',
|
| 242 |
accessorKey: 'duration_s',
|
| 243 |
-
header: ({ column }) =>
|
| 244 |
-
renderComponent(SortHeader, { column, label: 'Duration' }),
|
| 245 |
cell: ({ row }) => renderComponent(DurationCell, { seconds: row.original.duration_s }),
|
| 246 |
enableGlobalFilter: false,
|
| 247 |
meta: { label: 'Duration' }
|
|
@@ -250,8 +240,7 @@ export const matchColumns: ColumnDef<MatchRow>[] = [
|
|
| 250 |
id: 'match_date',
|
| 251 |
accessorFn: (r) => new Date(r.match_date).getTime(),
|
| 252 |
sortingFn: (a, b) => dateSort(a.original, b.original),
|
| 253 |
-
header: ({ column }) =>
|
| 254 |
-
renderComponent(SortHeader, { column, label: 'Date' }),
|
| 255 |
cell: ({ row }) => renderComponent(DateCell, { iso: row.original.match_date }),
|
| 256 |
enableGlobalFilter: false,
|
| 257 |
meta: { label: 'Date' }
|
|
|
|
| 65 |
{
|
| 66 |
id: 'round',
|
| 67 |
accessorKey: 'round',
|
| 68 |
+
header: ({ column }) => renderComponent(SortHeader, { column, label: 'Round' }),
|
|
|
|
| 69 |
cell: ({ row }) =>
|
| 70 |
renderComponent(RoundCell, { round: row.original.round, total: row.original.rounds_played }),
|
| 71 |
enableGlobalFilter: false,
|
|
|
|
| 74 |
{
|
| 75 |
id: 'duration_s',
|
| 76 |
accessorKey: 'duration_s',
|
| 77 |
+
header: ({ column }) => renderComponent(SortHeader, { column, label: 'Duration' }),
|
|
|
|
| 78 |
cell: ({ row }) => renderComponent(DurationCell, { seconds: row.original.duration_s }),
|
| 79 |
enableGlobalFilter: false,
|
| 80 |
meta: { label: 'Duration' }
|
|
|
|
| 83 |
id: 'match_date',
|
| 84 |
accessorFn: (r) => new Date(r.match_date).getTime(),
|
| 85 |
sortingFn: (a, b) => dateSort(a.original, b.original),
|
| 86 |
+
header: ({ column }) => renderComponent(SortHeader, { column, label: 'Date' }),
|
|
|
|
| 87 |
cell: ({ row }) => renderComponent(DateCell, { iso: row.original.match_date }),
|
| 88 |
enableGlobalFilter: false,
|
| 89 |
meta: { label: 'Date' }
|
|
|
|
| 127 |
{
|
| 128 |
id: 'score',
|
| 129 |
accessorFn: (r) => r.score1 + r.score2,
|
| 130 |
+
header: ({ column }) => renderComponent(SortHeader, { column, label: 'Score', align: 'start' }),
|
|
|
|
| 131 |
cell: ({ row }) =>
|
| 132 |
renderComponent(ScoreCell, {
|
| 133 |
score1: row.original.score1,
|
|
|
|
| 153 |
{
|
| 154 |
id: 'rounds_played',
|
| 155 |
accessorKey: 'rounds_played',
|
| 156 |
+
header: ({ column }) => renderComponent(SortHeader, { column, label: 'Rounds' }),
|
|
|
|
| 157 |
cell: ({ row }) => renderComponent(RoundsPlayedCell, { rounds: row.original.rounds_played }),
|
| 158 |
enableGlobalFilter: false,
|
| 159 |
meta: { label: 'Rounds' }
|
|
|
|
| 161 |
{
|
| 162 |
id: 'duration_s',
|
| 163 |
accessorKey: 'duration_s',
|
| 164 |
+
header: ({ column }) => renderComponent(SortHeader, { column, label: 'Duration' }),
|
|
|
|
| 165 |
cell: ({ row }) => renderComponent(DurationCell, { seconds: row.original.duration_s }),
|
| 166 |
enableGlobalFilter: false,
|
| 167 |
meta: { label: 'Duration' }
|
|
|
|
| 181 |
{
|
| 182 |
id: 'event',
|
| 183 |
accessorKey: 'event',
|
| 184 |
+
header: ({ column }) => renderComponent(SortHeader, { column, label: 'Event' }),
|
|
|
|
| 185 |
cell: ({ row }) =>
|
| 186 |
renderComponent(EventCell, { event: row.original.event, format: row.original.format }),
|
| 187 |
meta: { label: 'Event' }
|
|
|
|
| 202 |
{
|
| 203 |
id: 'score',
|
| 204 |
accessorFn: (r) => r.score1 + r.score2,
|
| 205 |
+
header: ({ column }) => renderComponent(SortHeader, { column, label: 'Maps' }),
|
|
|
|
| 206 |
cell: ({ row }) =>
|
| 207 |
renderComponent(ScoreCell, {
|
| 208 |
score1: row.original.score1,
|
|
|
|
| 223 |
{
|
| 224 |
id: 'rounds_played',
|
| 225 |
accessorKey: 'rounds_played',
|
| 226 |
+
header: ({ column }) => renderComponent(SortHeader, { column, label: 'Rounds' }),
|
|
|
|
| 227 |
cell: ({ row }) => renderComponent(RoundsPlayedCell, { rounds: row.original.rounds_played }),
|
| 228 |
enableGlobalFilter: false,
|
| 229 |
meta: { label: 'Rounds' }
|
|
|
|
| 231 |
{
|
| 232 |
id: 'duration_s',
|
| 233 |
accessorKey: 'duration_s',
|
| 234 |
+
header: ({ column }) => renderComponent(SortHeader, { column, label: 'Duration' }),
|
|
|
|
| 235 |
cell: ({ row }) => renderComponent(DurationCell, { seconds: row.original.duration_s }),
|
| 236 |
enableGlobalFilter: false,
|
| 237 |
meta: { label: 'Duration' }
|
|
|
|
| 240 |
id: 'match_date',
|
| 241 |
accessorFn: (r) => new Date(r.match_date).getTime(),
|
| 242 |
sortingFn: (a, b) => dateSort(a.original, b.original),
|
| 243 |
+
header: ({ column }) => renderComponent(SortHeader, { column, label: 'Date' }),
|
|
|
|
| 244 |
cell: ({ row }) => renderComponent(DateCell, { iso: row.original.match_date }),
|
| 245 |
enableGlobalFilter: false,
|
| 246 |
meta: { label: 'Date' }
|
src/lib/components/match-table/data-table-pagination.svelte
CHANGED
|
@@ -2,10 +2,10 @@
|
|
| 2 |
import type { Table } from '@tanstack/table-core';
|
| 3 |
import { Button } from '$lib/components/ui/button';
|
| 4 |
import * as Select from '$lib/components/ui/select';
|
| 5 |
-
import CaretLeftIcon from 'phosphor-svelte/lib/CaretLeftIcon';
|
| 6 |
-
import CaretRightIcon from 'phosphor-svelte/lib/CaretRightIcon';
|
| 7 |
-
import CaretDoubleLeftIcon from 'phosphor-svelte/lib/CaretDoubleLeftIcon';
|
| 8 |
-
import CaretDoubleRightIcon from 'phosphor-svelte/lib/CaretDoubleRightIcon';
|
| 9 |
|
| 10 |
interface Props {
|
| 11 |
table: Table<TData>;
|
|
|
|
| 2 |
import type { Table } from '@tanstack/table-core';
|
| 3 |
import { Button } from '$lib/components/ui/button';
|
| 4 |
import * as Select from '$lib/components/ui/select';
|
| 5 |
+
import CaretLeftIcon from 'phosphor-svelte/lib/CaretLeftIcon';
|
| 6 |
+
import CaretRightIcon from 'phosphor-svelte/lib/CaretRightIcon';
|
| 7 |
+
import CaretDoubleLeftIcon from 'phosphor-svelte/lib/CaretDoubleLeftIcon';
|
| 8 |
+
import CaretDoubleRightIcon from 'phosphor-svelte/lib/CaretDoubleRightIcon';
|
| 9 |
|
| 10 |
interface Props {
|
| 11 |
table: Table<TData>;
|
src/lib/components/match-table/data-table-plain-header.svelte
CHANGED
|
@@ -12,7 +12,7 @@
|
|
| 12 |
|
| 13 |
<span
|
| 14 |
class={cn(
|
| 15 |
-
'text-muted-foreground inline-block px-2 text-[0.7rem] font-medium
|
| 16 |
align === 'end' && 'w-full text-right',
|
| 17 |
className
|
| 18 |
)}
|
|
|
|
| 12 |
|
| 13 |
<span
|
| 14 |
class={cn(
|
| 15 |
+
'text-muted-foreground inline-block px-2 text-[0.7rem] font-medium tracking-wide uppercase',
|
| 16 |
align === 'end' && 'w-full text-right',
|
| 17 |
className
|
| 18 |
)}
|
src/lib/components/match-table/data-table-sort-header.svelte
CHANGED
|
@@ -29,8 +29,8 @@
|
|
| 29 |
size="sm"
|
| 30 |
onclick={() => column.toggleSorting(sort === 'asc')}
|
| 31 |
class={cn(
|
| 32 |
-
'-ml-2 h-7 px-2
|
| 33 |
-
align === 'end' && '
|
| 34 |
className
|
| 35 |
)}
|
| 36 |
>
|
|
|
|
| 29 |
size="sm"
|
| 30 |
onclick={() => column.toggleSorting(sort === 'asc')}
|
| 31 |
class={cn(
|
| 32 |
+
'text-muted-foreground hover:text-foreground -ml-2 h-7 px-2 text-[0.7rem] font-medium tracking-wide uppercase',
|
| 33 |
+
align === 'end' && '-mr-2 ml-0 w-full justify-end',
|
| 34 |
className
|
| 35 |
)}
|
| 36 |
>
|
src/lib/components/match-table/data-table-toolbar.svelte
CHANGED
|
@@ -30,7 +30,7 @@
|
|
| 30 |
<MagnifyingGlassIcon
|
| 31 |
size={14}
|
| 32 |
weight="bold"
|
| 33 |
-
class="text-muted-foreground absolute
|
| 34 |
/>
|
| 35 |
<Input
|
| 36 |
placeholder={searchPlaceholder}
|
|
@@ -94,7 +94,8 @@
|
|
| 94 |
checked={column.getIsVisible()}
|
| 95 |
onCheckedChange={(v) => column.toggleVisibility(!!v)}
|
| 96 |
>
|
| 97 |
-
{(column.columnDef.meta as { label?: string } | undefined)?.label ??
|
|
|
|
| 98 |
</DropdownMenu.CheckboxItem>
|
| 99 |
{/each}
|
| 100 |
</DropdownMenu.Content>
|
|
|
|
| 30 |
<MagnifyingGlassIcon
|
| 31 |
size={14}
|
| 32 |
weight="bold"
|
| 33 |
+
class="text-muted-foreground absolute top-1/2 left-2.5 -translate-y-1/2"
|
| 34 |
/>
|
| 35 |
<Input
|
| 36 |
placeholder={searchPlaceholder}
|
|
|
|
| 94 |
checked={column.getIsVisible()}
|
| 95 |
onCheckedChange={(v) => column.toggleVisibility(!!v)}
|
| 96 |
>
|
| 97 |
+
{(column.columnDef.meta as { label?: string } | undefined)?.label ??
|
| 98 |
+
column.id.replace(/_/g, ' ')}
|
| 99 |
</DropdownMenu.CheckboxItem>
|
| 100 |
{/each}
|
| 101 |
</DropdownMenu.Content>
|
src/lib/components/match-table/match-table.svelte
CHANGED
|
@@ -154,16 +154,16 @@
|
|
| 154 |
>
|
| 155 |
{#each row.getVisibleCells() as cell (cell.id)}
|
| 156 |
<Table.Cell class="py-2 align-middle">
|
| 157 |
-
<FlexRender
|
| 158 |
-
content={cell.column.columnDef.cell}
|
| 159 |
-
context={cell.getContext()}
|
| 160 |
-
/>
|
| 161 |
</Table.Cell>
|
| 162 |
{/each}
|
| 163 |
</Table.Row>
|
| 164 |
{:else}
|
| 165 |
<Table.Row>
|
| 166 |
-
<Table.Cell
|
|
|
|
|
|
|
|
|
|
| 167 |
{emptyMessage}
|
| 168 |
</Table.Cell>
|
| 169 |
</Table.Row>
|
|
|
|
| 154 |
>
|
| 155 |
{#each row.getVisibleCells() as cell (cell.id)}
|
| 156 |
<Table.Cell class="py-2 align-middle">
|
| 157 |
+
<FlexRender content={cell.column.columnDef.cell} context={cell.getContext()} />
|
|
|
|
|
|
|
|
|
|
| 158 |
</Table.Cell>
|
| 159 |
{/each}
|
| 160 |
</Table.Row>
|
| 161 |
{:else}
|
| 162 |
<Table.Row>
|
| 163 |
+
<Table.Cell
|
| 164 |
+
colspan={columns.length}
|
| 165 |
+
class="text-muted-foreground h-24 text-center text-sm"
|
| 166 |
+
>
|
| 167 |
{emptyMessage}
|
| 168 |
</Table.Cell>
|
| 169 |
</Table.Row>
|
src/lib/components/match-table/rows.ts
CHANGED
|
@@ -17,7 +17,7 @@ export type RoundRow = {
|
|
| 17 |
team2: string;
|
| 18 |
score1: number;
|
| 19 |
score2: number;
|
| 20 |
-
winner:
|
| 21 |
format: string;
|
| 22 |
match_date: string;
|
| 23 |
rounds_played: number;
|
|
@@ -30,7 +30,7 @@ export type MatchRow = {
|
|
| 30 |
team2: string;
|
| 31 |
score1: number;
|
| 32 |
score2: number;
|
| 33 |
-
winner:
|
| 34 |
format: string;
|
| 35 |
match_date: string;
|
| 36 |
maps: string[];
|
|
@@ -123,7 +123,8 @@ export function buildMatchRows(matches: Match[], rounds: Round[]): MatchRow[] {
|
|
| 123 |
});
|
| 124 |
}
|
| 125 |
rows.sort(
|
| 126 |
-
(a, b) =>
|
|
|
|
| 127 |
);
|
| 128 |
return rows;
|
| 129 |
}
|
|
|
|
| 17 |
team2: string;
|
| 18 |
score1: number;
|
| 19 |
score2: number;
|
| 20 |
+
winner: Match['winner'];
|
| 21 |
format: string;
|
| 22 |
match_date: string;
|
| 23 |
rounds_played: number;
|
|
|
|
| 30 |
team2: string;
|
| 31 |
score1: number;
|
| 32 |
score2: number;
|
| 33 |
+
winner: Match['winner'] | '';
|
| 34 |
format: string;
|
| 35 |
match_date: string;
|
| 36 |
maps: string[];
|
|
|
|
| 123 |
});
|
| 124 |
}
|
| 125 |
rows.sort(
|
| 126 |
+
(a, b) =>
|
| 127 |
+
new Date(b.match_date).getTime() - new Date(a.match_date).getTime() || b.match_id - a.match_id
|
| 128 |
);
|
| 129 |
return rows;
|
| 130 |
}
|
src/lib/components/perspective-grid.svelte
CHANGED
|
@@ -1,191 +1,190 @@
|
|
| 1 |
<script lang="ts">
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
const out: PerPlayer[] = [];
|
| 52 |
-
for (const [player, chunks] of map.entries()) {
|
| 53 |
-
chunks.sort((a, b) => a.chunk_index - b.chunk_index);
|
| 54 |
-
const last = chunks[chunks.length - 1];
|
| 55 |
-
out.push({
|
| 56 |
-
player,
|
| 57 |
-
side: last.player_side,
|
| 58 |
-
weapon: last.primary_weapon,
|
| 59 |
-
chunks: chunks.map((c) => ({
|
| 60 |
-
src: c.preview_video.src,
|
| 61 |
-
duration: c.duration_s,
|
| 62 |
-
})),
|
| 63 |
-
duration: playerDurations.get(player) ?? 0,
|
| 64 |
-
});
|
| 65 |
-
}
|
| 66 |
-
out.sort((a, b) => a.player - b.player);
|
| 67 |
-
return out;
|
| 68 |
-
});
|
| 69 |
|
| 70 |
-
|
| 71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
// tile callback (not via $effect) — wiring this through reactivity would
|
| 80 |
-
// trip Svelte's effect-cycle detection because every emit produces fresh
|
| 81 |
-
// array references that propagate back through prop changes.
|
| 82 |
-
const tileBuffers = new Map<number, { start: number; end: number }[]>();
|
| 83 |
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
let acc = lists[0];
|
| 88 |
-
for (let i = 1; i < lists.length; i++) {
|
| 89 |
-
const next: { start: number; end: number }[] = [];
|
| 90 |
-
for (const a of acc) {
|
| 91 |
-
for (const b of lists[i]) {
|
| 92 |
-
const start = Math.max(a.start, b.start);
|
| 93 |
-
const end = Math.min(a.end, b.end);
|
| 94 |
-
if (end > start) next.push({ start, end });
|
| 95 |
-
}
|
| 96 |
-
}
|
| 97 |
-
if (!next.length) return [];
|
| 98 |
-
acc = next;
|
| 99 |
-
}
|
| 100 |
-
return acc;
|
| 101 |
-
}
|
| 102 |
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 110 |
</script>
|
| 111 |
|
| 112 |
<div class="bg-card max-h-[80vh] overflow-y-auto rounded-lg border shadow-sm">
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
|
| 124 |
-
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
|
| 164 |
-
|
| 165 |
-
|
| 166 |
-
|
| 167 |
-
|
| 168 |
-
|
| 169 |
-
|
| 170 |
-
|
| 171 |
-
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
|
| 175 |
-
|
| 176 |
-
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
|
| 180 |
-
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
| 190 |
-
|
|
|
|
| 191 |
</div>
|
|
|
|
| 1 |
<script lang="ts">
|
| 2 |
+
import type { BufferedRange, PreviewChunk } from '$lib/types';
|
| 3 |
+
import GridTile from './grid-tile.svelte';
|
| 4 |
+
import ShieldIcon from 'phosphor-svelte/lib/ShieldIcon';
|
| 5 |
+
import SwordIcon from 'phosphor-svelte/lib/SwordIcon';
|
| 6 |
+
import { playerColor } from '$lib/utils/player-colors';
|
| 7 |
|
| 8 |
+
interface Props {
|
| 9 |
+
previews: PreviewChunk[];
|
| 10 |
+
currentPlayer: number;
|
| 11 |
+
availablePlayers: Set<number>;
|
| 12 |
+
playerDurations: Map<number, number>;
|
| 13 |
+
virtualTime: number;
|
| 14 |
+
paused?: boolean;
|
| 15 |
+
muted?: boolean;
|
| 16 |
+
onPausedChange?: (paused: boolean) => void;
|
| 17 |
+
onSelect: (player: number) => void;
|
| 18 |
+
onTimeUpdate?: (t: number) => void;
|
| 19 |
+
onLeaderEnded?: () => void;
|
| 20 |
+
onBufferedChange?: (ranges: BufferedRange[]) => void;
|
| 21 |
+
}
|
| 22 |
|
| 23 |
+
let {
|
| 24 |
+
previews,
|
| 25 |
+
currentPlayer,
|
| 26 |
+
availablePlayers,
|
| 27 |
+
playerDurations,
|
| 28 |
+
virtualTime,
|
| 29 |
+
paused = false,
|
| 30 |
+
muted = false,
|
| 31 |
+
onSelect,
|
| 32 |
+
onTimeUpdate,
|
| 33 |
+
onLeaderEnded,
|
| 34 |
+
onBufferedChange
|
| 35 |
+
}: Props = $props();
|
| 36 |
|
| 37 |
+
type PerPlayer = {
|
| 38 |
+
player: number;
|
| 39 |
+
side: PreviewChunk['player_side'];
|
| 40 |
+
weapon: string;
|
| 41 |
+
chunks: { src: string; duration: number }[];
|
| 42 |
+
duration: number;
|
| 43 |
+
};
|
| 44 |
|
| 45 |
+
const perPlayer = $derived.by<PerPlayer[]>(() => {
|
| 46 |
+
const previewMap = new Map<number, PreviewChunk[]>();
|
| 47 |
+
for (const preview of previews) {
|
| 48 |
+
if (!previewMap.has(preview.player)) previewMap.set(preview.player, []);
|
| 49 |
+
previewMap.get(preview.player)!.push(preview);
|
| 50 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
|
| 52 |
+
const players: PerPlayer[] = [];
|
| 53 |
+
for (const [player, chunks] of previewMap.entries()) {
|
| 54 |
+
chunks.sort((a, b) => a.chunk_index - b.chunk_index);
|
| 55 |
+
const last = chunks[chunks.length - 1];
|
| 56 |
+
players.push({
|
| 57 |
+
player,
|
| 58 |
+
side: last.player_side,
|
| 59 |
+
weapon: last.primary_weapon,
|
| 60 |
+
chunks: chunks.map((chunk) => ({
|
| 61 |
+
src: chunk.preview_video.src,
|
| 62 |
+
duration: chunk.duration_s
|
| 63 |
+
})),
|
| 64 |
+
duration: playerDurations.get(player) ?? 0
|
| 65 |
+
});
|
| 66 |
+
}
|
| 67 |
|
| 68 |
+
players.sort((a, b) => a.player - b.player);
|
| 69 |
+
return players;
|
| 70 |
+
});
|
| 71 |
|
| 72 |
+
const ctPlayers = $derived(perPlayer.filter((player) => player.side === 'CT'));
|
| 73 |
+
const tPlayers = $derived(perPlayer.filter((player) => player.side === 'T'));
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
|
| 75 |
+
function onLeaderTime(t: number) {
|
| 76 |
+
onTimeUpdate?.(t);
|
| 77 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
|
| 79 |
+
// Intersect every tile's buffered ranges: the timeline span that's safe
|
| 80 |
+
// to play across all perspectives at once.
|
| 81 |
+
const tileBuffers = new Map<number, BufferedRange[]>();
|
| 82 |
+
|
| 83 |
+
function intersectAll(): BufferedRange[] {
|
| 84 |
+
const lists = Array.from(tileBuffers.values()).filter((ranges) => ranges.length > 0);
|
| 85 |
+
if (!lists.length) return [];
|
| 86 |
+
|
| 87 |
+
let acc = lists[0];
|
| 88 |
+
for (let i = 1; i < lists.length; i++) {
|
| 89 |
+
const next: BufferedRange[] = [];
|
| 90 |
+
for (const a of acc) {
|
| 91 |
+
for (const b of lists[i]) {
|
| 92 |
+
const start = Math.max(a.start, b.start);
|
| 93 |
+
const end = Math.min(a.end, b.end);
|
| 94 |
+
if (end > start) next.push({ start, end });
|
| 95 |
+
}
|
| 96 |
+
}
|
| 97 |
+
if (!next.length) return [];
|
| 98 |
+
acc = next;
|
| 99 |
+
}
|
| 100 |
+
|
| 101 |
+
return acc;
|
| 102 |
+
}
|
| 103 |
+
|
| 104 |
+
function handleTileBuffered(player: number, ranges: BufferedRange[]) {
|
| 105 |
+
tileBuffers.set(player, ranges);
|
| 106 |
+
onBufferedChange?.(intersectAll());
|
| 107 |
+
}
|
| 108 |
</script>
|
| 109 |
|
| 110 |
<div class="bg-card max-h-[80vh] overflow-y-auto rounded-lg border shadow-sm">
|
| 111 |
+
<div class="space-y-4 p-3">
|
| 112 |
+
{#if ctPlayers.length}
|
| 113 |
+
<div>
|
| 114 |
+
<div
|
| 115 |
+
class="mb-2 flex items-center gap-1.5 text-[11px] font-semibold tracking-wide text-sky-700 uppercase dark:text-sky-400"
|
| 116 |
+
>
|
| 117 |
+
<ShieldIcon size={12} weight="duotone" /> Counter-Terrorists
|
| 118 |
+
</div>
|
| 119 |
+
<div class="grid grid-cols-[repeat(auto-fit,minmax(180px,1fr))] gap-2">
|
| 120 |
+
{#each ctPlayers as player (player.player)}
|
| 121 |
+
<div class="flex min-w-0 flex-col gap-1">
|
| 122 |
+
<GridTile
|
| 123 |
+
chunks={player.chunks}
|
| 124 |
+
masterTime={virtualTime}
|
| 125 |
+
masterPaused={paused}
|
| 126 |
+
isLeader={player.player === currentPlayer}
|
| 127 |
+
isCurrent={player.player === currentPlayer}
|
| 128 |
+
isMuted={muted || player.player !== currentPlayer}
|
| 129 |
+
available={availablePlayers.has(player.player)}
|
| 130 |
+
duration={player.duration}
|
| 131 |
+
player={player.player}
|
| 132 |
+
side={player.side}
|
| 133 |
+
onSelect={() => onSelect(player.player)}
|
| 134 |
+
{onLeaderTime}
|
| 135 |
+
onLeaderEnded={() => onLeaderEnded?.()}
|
| 136 |
+
onBufferedChange={handleTileBuffered}
|
| 137 |
+
/>
|
| 138 |
+
<div class="flex items-center gap-1.5 px-0.5 text-xs">
|
| 139 |
+
<span
|
| 140 |
+
class="inline-block h-2 w-2 shrink-0 rounded-full"
|
| 141 |
+
style={`background: ${playerColor(player.player)};`}
|
| 142 |
+
></span>
|
| 143 |
+
<span class="truncate font-medium">Player {player.player}</span>
|
| 144 |
+
</div>
|
| 145 |
+
</div>
|
| 146 |
+
{/each}
|
| 147 |
+
</div>
|
| 148 |
+
</div>
|
| 149 |
+
{/if}
|
| 150 |
+
|
| 151 |
+
{#if tPlayers.length}
|
| 152 |
+
<div>
|
| 153 |
+
<div
|
| 154 |
+
class="mb-2 flex items-center gap-1.5 text-[11px] font-semibold tracking-wide text-amber-700 uppercase dark:text-amber-400"
|
| 155 |
+
>
|
| 156 |
+
<SwordIcon size={12} weight="duotone" /> Terrorists
|
| 157 |
+
</div>
|
| 158 |
+
<div class="grid grid-cols-[repeat(auto-fit,minmax(180px,1fr))] gap-2">
|
| 159 |
+
{#each tPlayers as player (player.player)}
|
| 160 |
+
<div class="flex min-w-0 flex-col gap-1">
|
| 161 |
+
<GridTile
|
| 162 |
+
chunks={player.chunks}
|
| 163 |
+
masterTime={virtualTime}
|
| 164 |
+
masterPaused={paused}
|
| 165 |
+
isLeader={player.player === currentPlayer}
|
| 166 |
+
isCurrent={player.player === currentPlayer}
|
| 167 |
+
isMuted={muted || player.player !== currentPlayer}
|
| 168 |
+
available={availablePlayers.has(player.player)}
|
| 169 |
+
duration={player.duration}
|
| 170 |
+
player={player.player}
|
| 171 |
+
side={player.side}
|
| 172 |
+
onSelect={() => onSelect(player.player)}
|
| 173 |
+
{onLeaderTime}
|
| 174 |
+
onLeaderEnded={() => onLeaderEnded?.()}
|
| 175 |
+
onBufferedChange={handleTileBuffered}
|
| 176 |
+
/>
|
| 177 |
+
<div class="flex items-center gap-1.5 px-0.5 text-xs">
|
| 178 |
+
<span
|
| 179 |
+
class="inline-block h-2 w-2 shrink-0 rounded-full"
|
| 180 |
+
style={`background: ${playerColor(player.player)};`}
|
| 181 |
+
></span>
|
| 182 |
+
<span class="truncate font-medium">Player {player.player}</span>
|
| 183 |
+
</div>
|
| 184 |
+
</div>
|
| 185 |
+
{/each}
|
| 186 |
+
</div>
|
| 187 |
+
</div>
|
| 188 |
+
{/if}
|
| 189 |
+
</div>
|
| 190 |
</div>
|
src/lib/components/player-grid.svelte
CHANGED
|
@@ -3,6 +3,7 @@
|
|
| 3 |
import * as ToggleGroup from '$lib/components/ui/toggle-group';
|
| 4 |
import { Switch } from '$lib/components/ui/switch';
|
| 5 |
import { Label } from '$lib/components/ui/label';
|
|
|
|
| 6 |
import SkullIcon from 'phosphor-svelte/lib/SkullIcon';
|
| 7 |
import ShieldIcon from 'phosphor-svelte/lib/ShieldIcon';
|
| 8 |
import SwordIcon from 'phosphor-svelte/lib/SwordIcon';
|
|
@@ -69,17 +70,21 @@
|
|
| 69 |
{@const ready = preloadedPlayers.has(p.player)}
|
| 70 |
{@const available = availablePlayers.has(p.player)}
|
| 71 |
<ToggleGroup.Item
|
|
|
|
|
|
|
| 72 |
value={String(p.player)}
|
| 73 |
aria-label="Player {p.player} ({p.weapon || 'no weapon'})"
|
| 74 |
title={available
|
| 75 |
? `Player ${p.player} — ${p.weapon || 'no weapon'}`
|
| 76 |
: `Player ${p.player} died at ${formatDuration(p.duration)} — not available at current time`}
|
| 77 |
disabled={!available}
|
| 78 |
-
class=
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
|
|
|
|
|
|
| 83 |
>
|
| 84 |
<span
|
| 85 |
class="flex h-7 w-7 shrink-0 items-center justify-center rounded-sm font-mono text-xs font-bold text-white/95 shadow-sm ring-1 ring-black/20"
|
|
@@ -105,11 +110,11 @@
|
|
| 105 |
|
| 106 |
<div class="space-y-2">
|
| 107 |
<div class="flex items-center justify-between gap-3">
|
| 108 |
-
<div class="text-muted-foreground text-xs
|
| 109 |
<div class="flex items-center gap-2">
|
| 110 |
<Label
|
| 111 |
for="preload-all-players"
|
| 112 |
-
class="text-muted-foreground text-[11px]
|
| 113 |
>
|
| 114 |
Preload all
|
| 115 |
</Label>
|
|
@@ -133,7 +138,7 @@
|
|
| 133 |
>
|
| 134 |
<div class="w-full">
|
| 135 |
<div
|
| 136 |
-
class="mb-1 flex items-center gap-1.5 text-[10px] font-semibold
|
| 137 |
>
|
| 138 |
<ShieldIcon size={11} weight="duotone" /> Counter-Terrorists
|
| 139 |
</div>
|
|
@@ -146,7 +151,7 @@
|
|
| 146 |
|
| 147 |
<div class="w-full">
|
| 148 |
<div
|
| 149 |
-
class="mb-1 flex items-center gap-1.5 text-[10px] font-semibold
|
| 150 |
>
|
| 151 |
<SwordIcon size={11} weight="duotone" /> Terrorists
|
| 152 |
</div>
|
|
|
|
| 3 |
import * as ToggleGroup from '$lib/components/ui/toggle-group';
|
| 4 |
import { Switch } from '$lib/components/ui/switch';
|
| 5 |
import { Label } from '$lib/components/ui/label';
|
| 6 |
+
import { cn } from '$lib/utils';
|
| 7 |
import SkullIcon from 'phosphor-svelte/lib/SkullIcon';
|
| 8 |
import ShieldIcon from 'phosphor-svelte/lib/ShieldIcon';
|
| 9 |
import SwordIcon from 'phosphor-svelte/lib/SwordIcon';
|
|
|
|
| 70 |
{@const ready = preloadedPlayers.has(p.player)}
|
| 71 |
{@const available = availablePlayers.has(p.player)}
|
| 72 |
<ToggleGroup.Item
|
| 73 |
+
data-ready={available && ready ? true : undefined}
|
| 74 |
+
data-side={ct ? 'ct' : 't'}
|
| 75 |
value={String(p.player)}
|
| 76 |
aria-label="Player {p.player} ({p.weapon || 'no weapon'})"
|
| 77 |
title={available
|
| 78 |
? `Player ${p.player} — ${p.weapon || 'no weapon'}`
|
| 79 |
: `Player ${p.player} died at ${formatDuration(p.duration)} — not available at current time`}
|
| 80 |
disabled={!available}
|
| 81 |
+
class={cn(
|
| 82 |
+
'group flex h-auto min-w-0 flex-1 basis-0 items-center justify-start gap-2 rounded-md border px-2 py-1.5 text-left text-sm transition',
|
| 83 |
+
'data-[state=on]:bg-accent data-[state=on]:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-40 data-[state=on]:border-current',
|
| 84 |
+
'data-[side=ct]:data-[state=on]:text-foreground data-[side=ct]:data-[state=on]:border-sky-500 data-[side=ct]:data-[state=on]:bg-sky-500/10',
|
| 85 |
+
'data-[side=t]:data-[state=on]:text-foreground data-[side=t]:data-[state=on]:border-amber-500 data-[side=t]:data-[state=on]:bg-amber-500/10',
|
| 86 |
+
'data-[ready=true]:ring-offset-background data-[ready=true]:ring-2 data-[ready=true]:ring-emerald-500/60 data-[ready=true]:ring-offset-1'
|
| 87 |
+
)}
|
| 88 |
>
|
| 89 |
<span
|
| 90 |
class="flex h-7 w-7 shrink-0 items-center justify-center rounded-sm font-mono text-xs font-bold text-white/95 shadow-sm ring-1 ring-black/20"
|
|
|
|
| 110 |
|
| 111 |
<div class="space-y-2">
|
| 112 |
<div class="flex items-center justify-between gap-3">
|
| 113 |
+
<div class="text-muted-foreground text-xs tracking-wide uppercase">Player perspectives</div>
|
| 114 |
<div class="flex items-center gap-2">
|
| 115 |
<Label
|
| 116 |
for="preload-all-players"
|
| 117 |
+
class="text-muted-foreground text-[11px] tracking-wide uppercase"
|
| 118 |
>
|
| 119 |
Preload all
|
| 120 |
</Label>
|
|
|
|
| 138 |
>
|
| 139 |
<div class="w-full">
|
| 140 |
<div
|
| 141 |
+
class="mb-1 flex items-center gap-1.5 text-[10px] font-semibold tracking-wide text-sky-700 uppercase dark:text-sky-400"
|
| 142 |
>
|
| 143 |
<ShieldIcon size={11} weight="duotone" /> Counter-Terrorists
|
| 144 |
</div>
|
|
|
|
| 151 |
|
| 152 |
<div class="w-full">
|
| 153 |
<div
|
| 154 |
+
class="mb-1 flex items-center gap-1.5 text-[10px] font-semibold tracking-wide text-amber-700 uppercase dark:text-amber-400"
|
| 155 |
>
|
| 156 |
<SwordIcon size={11} weight="duotone" /> Terrorists
|
| 157 |
</div>
|
src/lib/components/round-list.svelte
CHANGED
|
@@ -28,7 +28,9 @@
|
|
| 28 |
</script>
|
| 29 |
|
| 30 |
<div class="flex h-full min-h-0 flex-col">
|
| 31 |
-
<div
|
|
|
|
|
|
|
| 32 |
Rounds <span class="text-muted-foreground/50 ml-1">({rounds.length})</span>
|
| 33 |
</div>
|
| 34 |
<ScrollArea class="min-h-0 flex-1">
|
|
@@ -45,7 +47,7 @@
|
|
| 45 |
{#each rounds as r, i (r.round)}
|
| 46 |
{#if i > 0 && isSideSwitchBefore(r.round)}
|
| 47 |
<div
|
| 48 |
-
class="text-muted-foreground/70 my-0.5 flex items-center gap-1.5 px-1 text-[9px] font-semibold
|
| 49 |
aria-hidden="true"
|
| 50 |
>
|
| 51 |
<span class="bg-border h-px flex-1"></span>
|
|
|
|
| 28 |
</script>
|
| 29 |
|
| 30 |
<div class="flex h-full min-h-0 flex-col">
|
| 31 |
+
<div
|
| 32 |
+
class="text-muted-foreground border-b px-2 py-2 text-[10px] font-semibold tracking-wide uppercase"
|
| 33 |
+
>
|
| 34 |
Rounds <span class="text-muted-foreground/50 ml-1">({rounds.length})</span>
|
| 35 |
</div>
|
| 36 |
<ScrollArea class="min-h-0 flex-1">
|
|
|
|
| 47 |
{#each rounds as r, i (r.round)}
|
| 48 |
{#if i > 0 && isSideSwitchBefore(r.round)}
|
| 49 |
<div
|
| 50 |
+
class="text-muted-foreground/70 my-0.5 flex items-center gap-1.5 px-1 text-[9px] font-semibold tracking-wider uppercase"
|
| 51 |
aria-hidden="true"
|
| 52 |
>
|
| 53 |
<span class="bg-border h-px flex-1"></span>
|
src/lib/components/timeline-bar.svelte
CHANGED
|
@@ -1,9 +1,11 @@
|
|
| 1 |
<script lang="ts">
|
| 2 |
import { Button } from '$lib/components/ui/button';
|
|
|
|
| 3 |
import PlayIcon from 'phosphor-svelte/lib/PlayIcon';
|
| 4 |
import PauseIcon from 'phosphor-svelte/lib/PauseIcon';
|
| 5 |
import SpeakerHighIcon from 'phosphor-svelte/lib/SpeakerHighIcon';
|
| 6 |
import SpeakerSlashIcon from 'phosphor-svelte/lib/SpeakerSlashIcon';
|
|
|
|
| 7 |
import { formatDuration } from '$lib/utils/format';
|
| 8 |
import Playbar from './video-player/playbar.svelte';
|
| 9 |
|
|
@@ -12,7 +14,7 @@
|
|
| 12 |
duration: number;
|
| 13 |
paused: boolean;
|
| 14 |
muted: boolean;
|
| 15 |
-
bufferedRanges?:
|
| 16 |
disabled?: boolean;
|
| 17 |
onTogglePlay: () => void;
|
| 18 |
onToggleMute: () => void;
|
|
@@ -37,14 +39,17 @@
|
|
| 37 |
</script>
|
| 38 |
|
| 39 |
<div
|
| 40 |
-
|
| 41 |
-
class:opacity-60={disabled}
|
| 42 |
-
class:pointer-events-none={disabled}
|
| 43 |
aria-disabled={disabled}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
>
|
| 45 |
<Button
|
| 46 |
variant="ghost"
|
| 47 |
size="icon-sm"
|
|
|
|
| 48 |
onclick={onTogglePlay}
|
| 49 |
aria-label={paused ? 'Play' : 'Pause'}
|
| 50 |
>
|
|
@@ -60,14 +65,7 @@
|
|
| 60 |
</span>
|
| 61 |
|
| 62 |
<div class="flex-1">
|
| 63 |
-
<Playbar
|
| 64 |
-
{currentTime}
|
| 65 |
-
{duration}
|
| 66 |
-
{bufferedRanges}
|
| 67 |
-
{onSeek}
|
| 68 |
-
{onScrubStart}
|
| 69 |
-
{onScrubEnd}
|
| 70 |
-
/>
|
| 71 |
</div>
|
| 72 |
|
| 73 |
<span class="text-muted-foreground w-12 font-mono text-[11px] tabular-nums">
|
|
@@ -77,6 +75,7 @@
|
|
| 77 |
<Button
|
| 78 |
variant="ghost"
|
| 79 |
size="icon-sm"
|
|
|
|
| 80 |
onclick={onToggleMute}
|
| 81 |
aria-label={muted ? 'Unmute' : 'Mute'}
|
| 82 |
>
|
|
|
|
| 1 |
<script lang="ts">
|
| 2 |
import { Button } from '$lib/components/ui/button';
|
| 3 |
+
import type { BufferedRange } from '$lib/types';
|
| 4 |
import PlayIcon from 'phosphor-svelte/lib/PlayIcon';
|
| 5 |
import PauseIcon from 'phosphor-svelte/lib/PauseIcon';
|
| 6 |
import SpeakerHighIcon from 'phosphor-svelte/lib/SpeakerHighIcon';
|
| 7 |
import SpeakerSlashIcon from 'phosphor-svelte/lib/SpeakerSlashIcon';
|
| 8 |
+
import { cn } from '$lib/utils';
|
| 9 |
import { formatDuration } from '$lib/utils/format';
|
| 10 |
import Playbar from './video-player/playbar.svelte';
|
| 11 |
|
|
|
|
| 14 |
duration: number;
|
| 15 |
paused: boolean;
|
| 16 |
muted: boolean;
|
| 17 |
+
bufferedRanges?: BufferedRange[];
|
| 18 |
disabled?: boolean;
|
| 19 |
onTogglePlay: () => void;
|
| 20 |
onToggleMute: () => void;
|
|
|
|
| 39 |
</script>
|
| 40 |
|
| 41 |
<div
|
| 42 |
+
data-disabled={disabled || undefined}
|
|
|
|
|
|
|
| 43 |
aria-disabled={disabled}
|
| 44 |
+
class={cn(
|
| 45 |
+
'bg-card flex items-center gap-3 rounded-lg border px-3 py-2 shadow-sm',
|
| 46 |
+
'data-[disabled]:pointer-events-none data-[disabled]:opacity-60'
|
| 47 |
+
)}
|
| 48 |
>
|
| 49 |
<Button
|
| 50 |
variant="ghost"
|
| 51 |
size="icon-sm"
|
| 52 |
+
{disabled}
|
| 53 |
onclick={onTogglePlay}
|
| 54 |
aria-label={paused ? 'Play' : 'Pause'}
|
| 55 |
>
|
|
|
|
| 65 |
</span>
|
| 66 |
|
| 67 |
<div class="flex-1">
|
| 68 |
+
<Playbar {currentTime} {duration} {bufferedRanges} {onSeek} {onScrubStart} {onScrubEnd} />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
</div>
|
| 70 |
|
| 71 |
<span class="text-muted-foreground w-12 font-mono text-[11px] tabular-nums">
|
|
|
|
| 75 |
<Button
|
| 76 |
variant="ghost"
|
| 77 |
size="icon-sm"
|
| 78 |
+
{disabled}
|
| 79 |
onclick={onToggleMute}
|
| 80 |
aria-label={muted ? 'Unmute' : 'Mute'}
|
| 81 |
>
|
src/lib/components/ui/accordion/accordion-content.svelte
DELETED
|
@@ -1,27 +0,0 @@
|
|
| 1 |
-
<script lang="ts">
|
| 2 |
-
import { Accordion as AccordionPrimitive } from "bits-ui";
|
| 3 |
-
import { cn, type WithoutChild } from "$lib/utils.js";
|
| 4 |
-
|
| 5 |
-
let {
|
| 6 |
-
ref = $bindable(null),
|
| 7 |
-
class: className,
|
| 8 |
-
children,
|
| 9 |
-
...restProps
|
| 10 |
-
}: WithoutChild<AccordionPrimitive.ContentProps> = $props();
|
| 11 |
-
</script>
|
| 12 |
-
|
| 13 |
-
<AccordionPrimitive.Content
|
| 14 |
-
bind:ref
|
| 15 |
-
data-slot="accordion-content"
|
| 16 |
-
class="data-open:animate-accordion-down data-closed:animate-accordion-up px-2 text-xs/relaxed overflow-hidden"
|
| 17 |
-
{...restProps}
|
| 18 |
-
>
|
| 19 |
-
<div
|
| 20 |
-
class={cn(
|
| 21 |
-
"pt-0 pb-4 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3 [&_p:not(:last-child)]:mb-4",
|
| 22 |
-
className
|
| 23 |
-
)}
|
| 24 |
-
>
|
| 25 |
-
{@render children?.()}
|
| 26 |
-
</div>
|
| 27 |
-
</AccordionPrimitive.Content>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/lib/components/ui/accordion/accordion-item.svelte
DELETED
|
@@ -1,17 +0,0 @@
|
|
| 1 |
-
<script lang="ts">
|
| 2 |
-
import { Accordion as AccordionPrimitive } from "bits-ui";
|
| 3 |
-
import { cn } from "$lib/utils.js";
|
| 4 |
-
|
| 5 |
-
let {
|
| 6 |
-
ref = $bindable(null),
|
| 7 |
-
class: className,
|
| 8 |
-
...restProps
|
| 9 |
-
}: AccordionPrimitive.ItemProps = $props();
|
| 10 |
-
</script>
|
| 11 |
-
|
| 12 |
-
<AccordionPrimitive.Item
|
| 13 |
-
bind:ref
|
| 14 |
-
data-slot="accordion-item"
|
| 15 |
-
class={cn("data-open:bg-muted/50 not-last:border-b", className)}
|
| 16 |
-
{...restProps}
|
| 17 |
-
/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/lib/components/ui/accordion/accordion-trigger.svelte
DELETED
|
@@ -1,32 +0,0 @@
|
|
| 1 |
-
<script lang="ts">
|
| 2 |
-
import { Accordion as AccordionPrimitive } from "bits-ui";
|
| 3 |
-
import { cn, type WithoutChild } from "$lib/utils.js";
|
| 4 |
-
import CaretDownIcon from 'phosphor-svelte/lib/CaretDown';
|
| 5 |
-
import CaretUpIcon from 'phosphor-svelte/lib/CaretUp';
|
| 6 |
-
|
| 7 |
-
let {
|
| 8 |
-
ref = $bindable(null),
|
| 9 |
-
class: className,
|
| 10 |
-
level = 3,
|
| 11 |
-
children,
|
| 12 |
-
...restProps
|
| 13 |
-
}: WithoutChild<AccordionPrimitive.TriggerProps> & {
|
| 14 |
-
level?: AccordionPrimitive.HeaderProps["level"];
|
| 15 |
-
} = $props();
|
| 16 |
-
</script>
|
| 17 |
-
|
| 18 |
-
<AccordionPrimitive.Header {level} class="flex">
|
| 19 |
-
<AccordionPrimitive.Trigger
|
| 20 |
-
data-slot="accordion-trigger"
|
| 21 |
-
bind:ref
|
| 22 |
-
class={cn(
|
| 23 |
-
"**:data-[slot=accordion-trigger-icon]:text-muted-foreground gap-6 p-2 text-left text-xs/relaxed font-medium hover:underline **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 group/accordion-trigger relative flex flex-1 items-start justify-between border border-transparent transition-all outline-none disabled:pointer-events-none disabled:opacity-50",
|
| 24 |
-
className
|
| 25 |
-
)}
|
| 26 |
-
{...restProps}
|
| 27 |
-
>
|
| 28 |
-
{@render children?.()}
|
| 29 |
-
<CaretDownIcon data-slot="accordion-trigger-icon" class="cn-accordion-trigger-icon pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden" />
|
| 30 |
-
<CaretUpIcon data-slot="accordion-trigger-icon" class="cn-accordion-trigger-icon pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline" />
|
| 31 |
-
</AccordionPrimitive.Trigger>
|
| 32 |
-
</AccordionPrimitive.Header>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/lib/components/ui/accordion/accordion.svelte
DELETED
|
@@ -1,19 +0,0 @@
|
|
| 1 |
-
<script lang="ts">
|
| 2 |
-
import { Accordion as AccordionPrimitive } from "bits-ui";
|
| 3 |
-
import { cn } from "$lib/utils.js";
|
| 4 |
-
|
| 5 |
-
let {
|
| 6 |
-
ref = $bindable(null),
|
| 7 |
-
value = $bindable(),
|
| 8 |
-
class: className,
|
| 9 |
-
...restProps
|
| 10 |
-
}: AccordionPrimitive.RootProps = $props();
|
| 11 |
-
</script>
|
| 12 |
-
|
| 13 |
-
<AccordionPrimitive.Root
|
| 14 |
-
bind:ref
|
| 15 |
-
bind:value={value as never}
|
| 16 |
-
data-slot="accordion"
|
| 17 |
-
class={cn("overflow-hidden rounded-md border flex w-full flex-col", className)}
|
| 18 |
-
{...restProps}
|
| 19 |
-
/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/lib/components/ui/accordion/index.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
| 1 |
-
import Root from "./accordion.svelte";
|
| 2 |
-
import Content from "./accordion-content.svelte";
|
| 3 |
-
import Item from "./accordion-item.svelte";
|
| 4 |
-
import Trigger from "./accordion-trigger.svelte";
|
| 5 |
-
|
| 6 |
-
export {
|
| 7 |
-
Root,
|
| 8 |
-
Content,
|
| 9 |
-
Item,
|
| 10 |
-
Trigger,
|
| 11 |
-
//
|
| 12 |
-
Root as Accordion,
|
| 13 |
-
Content as AccordionContent,
|
| 14 |
-
Item as AccordionItem,
|
| 15 |
-
Trigger as AccordionTrigger,
|
| 16 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/lib/components/ui/alert-dialog/alert-dialog-action.svelte
DELETED
|
@@ -1,27 +0,0 @@
|
|
| 1 |
-
<script lang="ts">
|
| 2 |
-
import { AlertDialog as AlertDialogPrimitive } from "bits-ui";
|
| 3 |
-
import {
|
| 4 |
-
buttonVariants,
|
| 5 |
-
type ButtonVariant,
|
| 6 |
-
type ButtonSize,
|
| 7 |
-
} from "$lib/components/ui/button/index.js";
|
| 8 |
-
import { cn } from "$lib/utils.js";
|
| 9 |
-
|
| 10 |
-
let {
|
| 11 |
-
ref = $bindable(null),
|
| 12 |
-
class: className,
|
| 13 |
-
variant = "default",
|
| 14 |
-
size = "default",
|
| 15 |
-
...restProps
|
| 16 |
-
}: AlertDialogPrimitive.ActionProps & {
|
| 17 |
-
variant?: ButtonVariant;
|
| 18 |
-
size?: ButtonSize;
|
| 19 |
-
} = $props();
|
| 20 |
-
</script>
|
| 21 |
-
|
| 22 |
-
<AlertDialogPrimitive.Action
|
| 23 |
-
bind:ref
|
| 24 |
-
data-slot="alert-dialog-action"
|
| 25 |
-
class={cn(buttonVariants({ variant, size }), "cn-alert-dialog-action", className)}
|
| 26 |
-
{...restProps}
|
| 27 |
-
/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte
DELETED
|
@@ -1,27 +0,0 @@
|
|
| 1 |
-
<script lang="ts">
|
| 2 |
-
import { AlertDialog as AlertDialogPrimitive } from "bits-ui";
|
| 3 |
-
import {
|
| 4 |
-
buttonVariants,
|
| 5 |
-
type ButtonVariant,
|
| 6 |
-
type ButtonSize,
|
| 7 |
-
} from "$lib/components/ui/button/index.js";
|
| 8 |
-
import { cn } from "$lib/utils.js";
|
| 9 |
-
|
| 10 |
-
let {
|
| 11 |
-
ref = $bindable(null),
|
| 12 |
-
class: className,
|
| 13 |
-
variant = "outline",
|
| 14 |
-
size = "default",
|
| 15 |
-
...restProps
|
| 16 |
-
}: AlertDialogPrimitive.CancelProps & {
|
| 17 |
-
variant?: ButtonVariant;
|
| 18 |
-
size?: ButtonSize;
|
| 19 |
-
} = $props();
|
| 20 |
-
</script>
|
| 21 |
-
|
| 22 |
-
<AlertDialogPrimitive.Cancel
|
| 23 |
-
bind:ref
|
| 24 |
-
data-slot="alert-dialog-cancel"
|
| 25 |
-
class={cn(buttonVariants({ variant, size }), "cn-alert-dialog-cancel", className)}
|
| 26 |
-
{...restProps}
|
| 27 |
-
/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|