diff --git a/.changeset/README.md b/.changeset/README.md new file mode 100644 index 00000000..e5b6d8d6 --- /dev/null +++ b/.changeset/README.md @@ -0,0 +1,8 @@ +# Changesets + +Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works +with multi-package repos, or single-package repos to help you version and publish your code. You can +find the full documentation for it [in our repository](https://github.com/changesets/changesets) + +We have a quick list of common questions to get you started engaging with this project in +[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 00000000..8a107b7a --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,13 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@2.3.1/schema.json", + "changelog": [ + "@changesets/changelog-github", + { "repo": "team-bofit/bofit-client" } + ], + "commit": false, + "linked": [], + "access": "restricted", + "baseBranch": "develop", + "updateInternalDependencies": "patch", + "ignore": [] +} diff --git a/.github/workflows/version-dump.yml b/.github/workflows/version-dump.yml new file mode 100644 index 00000000..00827ede --- /dev/null +++ b/.github/workflows/version-dump.yml @@ -0,0 +1,58 @@ +# .github/workflows/version-bump-on-release.yml + +name: Version & Changelog (on release PR) + +on: + pull_request: + branches: [main] + types: [opened, synchronize, reopened] + +permissions: + contents: write + +jobs: + version-release: + runs-on: ubuntu-latest + if: github.event.pull_request.base.ref == 'main' && github.event.pull_request.head.ref == 'develop' + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + ref: ${{ github.head_ref }} + + - name: ๐Ÿ“ฆ Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 9.12.0 + + - name: โš™๏ธ Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install + + - name: Check for changeset files + run: | + if [ -z "$(ls .changeset/*.md 2>/dev/null)" ]; then + echo "โŒ changeset ํŒŒ์ผ์ด ์—†์Šต๋‹ˆ๋‹ค." + exit 1 + fi + + echo "โœ… changeset ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค:" + ls -la .changeset/*.md + + - name: Version bump + run: pnpm changeset version + + - name: Commit and push + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add . + git commit -m "chore: release version" || echo "No changes to commit" + git push origin HEAD:${{ github.head_ref }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 74411254..22bb86ce 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,6 @@ tsconfig.tsbuildinfo # Storybook *storybook.log storybook-static + +# Changesets +.changeset/pre.json diff --git a/CHANGESETS.md b/CHANGESETS.md new file mode 100644 index 00000000..5e9e1df7 --- /dev/null +++ b/CHANGESETS.md @@ -0,0 +1,291 @@ +# Changesets ๊ฐ€์ด๋“œ + +์ด ํ”„๋กœ์ ํŠธ๋Š” [Changesets](https://github.com/changesets/changesets)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋…ธ๋ ˆํฌ์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์ž๋™ํ™”ํ•ฉ๋‹ˆ๋‹ค. + +## ๐Ÿš€ ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ + +### 1๋‹จ๊ณ„: ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ + +```bash +# develop ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—… +git checkout develop +git pull origin develop + +# ์ƒˆ ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ +git checkout -b feature/์ƒˆ๋กœ์šด-๊ธฐ๋Šฅ/#์ด์Šˆ๋ฒˆํ˜ธ +``` + +### 2๋‹จ๊ณ„: ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ž‘์—… + +์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•œ ํ›„: + +```bash +# ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ปค๋ฐ‹ +git add . +git commit -m "feat: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€" + +# develop์— push +git push origin feature/์ƒˆ๋กœ์šด-๊ธฐ๋Šฅ/#์ด์Šˆ๋ฒˆํ˜ธ +``` + +### 3๋‹จ๊ณ„: develop์— PR ์ƒ์„ฑ + +**develop์— PR์„ ์˜ฌ๋ฆด ๋•Œ๋Š” changeset์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค!** + +```bash +# GitHub์—์„œ feature/์ƒˆ๋กœ์šด-๊ธฐ๋Šฅ โ†’ develop์œผ๋กœ PR ์ƒ์„ฑ +# ํŒ€์›๋“ค์ด ๋ฆฌ๋ทฐ ํ›„ develop์— ๋จธ์ง€ +``` + +### 4๋‹จ๊ณ„: main์œผ๋กœ PR ์ƒ์„ฑ ์‹œ Changeset ์ƒ์„ฑ โญ ์ค‘์š”! + +**develop์—์„œ main์œผ๋กœ PR์„ ์ƒ์„ฑํ•  ๋•Œ๋งŒ changeset์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค:** + +```bash +# develop์—์„œ main์œผ๋กœ PR ์ƒ์„ฑ ์ „์— changeset ์ƒ์„ฑ +pnpm changeset +``` + +#### Changeset ์ƒ์„ฑ ๊ณผ์ •: + +1. **ํŒจํ‚ค์ง€ ์„ ํƒ**: ์ŠคํŽ˜์ด์Šค๋ฐ”๋กœ ๋ณ€๊ฒฝ๋œ ํŒจํ‚ค์ง€ ์„ ํƒ + + ``` + ๐Ÿฆ‹ Which packages would you like to include? + โ—ฏ @bofit/client + โ—ฏ @bds/ui + ``` + +2. **๋ฒ„์ „ ํƒ€์ž… ์„ ํƒ**: + - `major`: ํ•˜์œ„ ํ˜ธํ™˜์„ฑ ๊นจ์ง (breaking changes) + - `minor`: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (ํ•˜์œ„ ํ˜ธํ™˜) + - `patch`: ๋ฒ„๊ทธ ์ˆ˜์ •, ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ + +3. **๋ณ€๊ฒฝ์‚ฌํ•ญ ์„ค๋ช… ์ž‘์„ฑ**: + ``` + ๐Ÿฆ‹ Please enter a summary for this change: + ์ƒˆ๋กœ์šด ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ UI ๊ฐœ์„  + ``` + +### 5๋‹จ๊ณ„: main PR ์ƒ์„ฑ ๋ฐ ๋ฐฐํฌ + +```bash +# changeset ์ƒ์„ฑ ํ›„ develop์—์„œ main์œผ๋กœ PR ์ƒ์„ฑ +# GitHub Actions์—์„œ changeset ๊ฒ€์ฆ +# PR ๋ฆฌ๋ทฐ ํ›„ main์— ๋จธ์ง€ +# ์ž๋™์œผ๋กœ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ ๋ฐ ๋ฐฐํฌ +``` + +## ๐Ÿ“ฆ ํŒจํ‚ค์ง€๋ณ„ ๋ฒ„์ „ ๊ด€๋ฆฌ ๊ฐ€์ด๋“œ + +### ์ฃผ์š” ํŒจํ‚ค์ง€๋“ค + +| ํŒจํ‚ค์ง€ | ์„ค๋ช… | ๋ฒ„์ „ ๊ทœ์น™ | +| --------------- | ----------------------- | -------------------------------------------- | +| `@bofit/client` | ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ | ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ์‹œ minor, breaking change ์‹œ major | +| `@bds/ui` | ๋””์ž์ธ ์‹œ์Šคํ…œ | ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€ ์‹œ minor, API ๋ณ€๊ฒฝ ์‹œ major | + +### ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ ๊ทœ์น™ + +#### ๐ŸŸข Patch (0.0.x) + +- ๋ฒ„๊ทธ ์ˆ˜์ • +- ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ +- ํƒ€์ž… ์ •์˜ ์ˆ˜์ • +- ์„ฑ๋Šฅ ๊ฐœ์„  + +#### ๐ŸŸก Minor (0.x.0) + +- ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ +- ์ƒˆ๋กœ์šด ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€ +- ์ƒˆ๋กœ์šด API ์—”๋“œํฌ์ธํŠธ ์ถ”๊ฐ€ +- ํ•˜์œ„ ํ˜ธํ™˜๋˜๋Š” ๋ณ€๊ฒฝ์‚ฌํ•ญ + +#### ๐Ÿ”ด Major (x.0.0) + +- Breaking changes +- API ๋ณ€๊ฒฝ +- ์ปดํฌ๋„ŒํŠธ props ๋ณ€๊ฒฝ +- ํ•˜์œ„ ํ˜ธํ™˜์„ฑ ๊นจ์ง + +## ๐Ÿ”ง ์œ ์šฉํ•œ ๋ช…๋ น์–ด๋“ค + +```bash +# Changeset ์ƒ์„ฑ (main PR ์ƒ์„ฑ ์‹œ์—๋งŒ) +pnpm changeset + +# Changeset ์ƒํƒœ ํ™•์ธ +pnpm changeset status + +# ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (๋กœ์ปฌ์—์„œ๋งŒ) +pnpm version + +# ๋ฆด๋ฆฌ์Šค (๋นŒ๋“œ + ๋ฐฐํฌ) +pnpm release + +# Changeset ํŒŒ์ผ๋“ค ํ™•์ธ +ls .changeset/*.md +``` + +## ๐Ÿ“‹ PR ์ฒดํฌ๋ฆฌ์ŠคํŠธ + +### develop โ†’ develop PR (changeset ๋ถˆํ•„์š”) + +- [ ] ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์™„๋ฃŒ +- [ ] ํ…Œ์ŠคํŠธ ํ†ต๊ณผ +- [ ] develop์— ๋จธ์ง€ + +### develop โ†’ main PR (changeset ํ•„์ˆ˜) + +- [ ] Changeset ์ƒ์„ฑ ์™„๋ฃŒ (`pnpm changeset`) +- [ ] Changeset ํŒŒ์ผ์ด `.changeset/` ํด๋”์— ์กด์žฌ +- [ ] ๋ณ€๊ฒฝ์‚ฌํ•ญ ์„ค๋ช…์ด ๋ช…ํ™•ํ•˜๊ฒŒ ์ž‘์„ฑ๋จ +- [ ] ์ ์ ˆํ•œ ๋ฒ„์ „ ํƒ€์ž… ์„ ํƒ (major/minor/patch) +- [ ] ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์™„๋ฃŒ +- [ ] ํ…Œ์ŠคํŠธ ํ†ต๊ณผ +- [ ] GitHub Actions์—์„œ changeset ๊ฒ€์ฆ ํ™•์ธ + +## ๐Ÿšจ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์‹ค์ˆ˜๋“ค + +### โŒ ์ž˜๋ชป๋œ ์˜ˆ์‹œ๋“ค: + +1. **develop PR์—์„œ changeset ๊ฒ€์ฆ ์‹คํŒจ** + + ``` + โŒ Error: No changesets found! Please create a changeset using 'pnpm changeset' + ``` + + โ†’ develop PR์—์„œ๋Š” changeset์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค! + +2. **main PR์—์„œ changeset ์—†์ด ์ƒ์„ฑ** + + ``` + โŒ Error: No changesets found! Please create a changeset using 'pnpm changeset' + ``` + + โ†’ main PR์—์„œ๋Š” changeset์ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค! + +3. **๋ถ€์ ์ ˆํ•œ ๋ฒ„์ „ ํƒ€์ž…** + + ```markdown + # ๋ฒ„๊ทธ ์ˆ˜์ •์ธ๋ฐ major๋กœ ์„ค์ • + + --- + + ## '@bofit/client': major + + ๋ฒ„๊ทธ ์ˆ˜์ • + ``` + +### โœ… ์˜ฌ๋ฐ”๋ฅธ ์˜ˆ์‹œ๋“ค: + +1. **์ ์ ˆํ•œ ๋ฒ„์ „ ํƒ€์ž…** + + ```markdown + --- + '@bofit/client': minor + '@bds/ui': patch + --- + + ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ ๋ฒ„๊ทธ ์ˆ˜์ • + ``` + +2. **๋ช…ํ™•ํ•œ ์„ค๋ช…** + + ```markdown + --- + '@bofit/client': patch + --- + + ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€์—์„œ ๋ฐœ์ƒํ•˜๋Š” 500 ์—๋Ÿฌ ์ˆ˜์ • + ``` + +## ๐Ÿ”„ ์›Œํฌํ”Œ๋กœ์šฐ ์˜ˆ์‹œ + +### ์‹œ๋‚˜๋ฆฌ์˜ค 1: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€ + +```bash +# 1. ๊ฐœ๋ฐœ +git checkout -b feature/new-login +# ... ์ฝ”๋“œ ์ž‘์„ฑ ... + +# 2. develop์— PR ์ƒ์„ฑ (changeset ๋ถˆํ•„์š”) +git add . +git commit -m "feat: ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€" +git push origin feature/new-login +# GitHub์—์„œ feature/new-login โ†’ develop์œผ๋กœ PR ์ƒ์„ฑ + +# 3. develop์— ๋จธ์ง€ ํ›„, main์œผ๋กœ PR ์ƒ์„ฑ ์‹œ changeset ์ƒ์„ฑ +pnpm changeset +# @bofit/client ์„ ํƒ, minor ์„ ํƒ +# "์ƒˆ๋กœ์šด ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€" ์ž…๋ ฅ + +# 4. main์œผ๋กœ PR ์ƒ์„ฑ +# GitHub์—์„œ develop โ†’ main์œผ๋กœ PR ์ƒ์„ฑ +``` + +### ์‹œ๋‚˜๋ฆฌ์˜ค 2: ๋ฒ„๊ทธ ์ˆ˜์ • + +```bash +# 1. ๊ฐœ๋ฐœ +git checkout -b fix/login-error +# ... ๋ฒ„๊ทธ ์ˆ˜์ • ... + +# 2. develop์— PR ์ƒ์„ฑ (changeset ๋ถˆํ•„์š”) +git add . +git commit -m "fix: ๋กœ๊ทธ์ธ 500 ์—๋Ÿฌ ์ˆ˜์ •" +git push origin fix/login-error +# GitHub์—์„œ fix/login-error โ†’ develop์œผ๋กœ PR ์ƒ์„ฑ + +# 3. develop์— ๋จธ์ง€ ํ›„, main์œผ๋กœ PR ์ƒ์„ฑ ์‹œ changeset ์ƒ์„ฑ +pnpm changeset +# @bofit/client ์„ ํƒ, patch ์„ ํƒ +# "๋กœ๊ทธ์ธ ์‹œ ๋ฐœ์ƒํ•˜๋Š” 500 ์—๋Ÿฌ ์ˆ˜์ •" ์ž…๋ ฅ + +# 4. main์œผ๋กœ PR ์ƒ์„ฑ +# GitHub์—์„œ develop โ†’ main์œผ๋กœ PR ์ƒ์„ฑ +``` + +## ๐Ÿ†˜ ๋ฌธ์ œ ํ•ด๊ฒฐ + +### Changeset ์ƒ์„ฑ ์‹œ ์˜ค๋ฅ˜ + +```bash +# ํŒจํ‚ค์ง€๊ฐ€ ์„ ํƒ๋˜์ง€ ์•Š์Œ +๐Ÿฆ‹ Which packages would you like to include? ยท No items were selected +๐Ÿฆ‹ error You must select at least one package to release + +# ํ•ด๊ฒฐ: ์ŠคํŽ˜์ด์Šค๋ฐ”๋กœ ํŒจํ‚ค์ง€ ์„ ํƒ ํ›„ ์—”ํ„ฐ +``` + +### Changeset ํŒŒ์ผ ์‚ญ์ œ + +```bash +# ์‹ค์ˆ˜๋กœ ์ž˜๋ชป๋œ changeset ์ƒ์„ฑ ์‹œ +rm .changeset/ํŒŒ์ผ๋ช….md +``` + +### Changeset ์ƒํƒœ ํ™•์ธ + +```bash +# ํ˜„์žฌ changeset ์ƒํƒœ ํ™•์ธ +pnpm changeset status +``` + +## ๐Ÿ“ž ๋„์›€๋ง + +- **Changesets ๊ณต์‹ ๋ฌธ์„œ**: https://github.com/changesets/changesets +- **GitHub Actions ๋กœ๊ทธ**: PR์˜ Actions ํƒญ์—์„œ ํ™•์ธ +- **ํŒ€ ๋ฆฌ๋“œ์—๊ฒŒ ๋ฌธ์˜**: ๋ณต์žกํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ ์ƒํ™ฉ + +## ๐ŸŽฏ ํ•ต์‹ฌ ํฌ์ธํŠธ + +1. **develop PR**: changeset ๋ถˆํ•„์š” +2. **main PR**: changeset ํ•„์ˆ˜ +3. **์ ์ ˆํ•œ ๋ฒ„์ „ ํƒ€์ž… ์„ ํƒ** +4. **๋ช…ํ™•ํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์„ค๋ช…** +5. **PR์—์„œ GitHub Actions ํ™•์ธ** + +--- + +**๐Ÿ’ก ํŒ**: develop์—์„œ ์ž์œ ๋กญ๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ณ , main ๋ฐฐํฌ ์‹œ์—๋งŒ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค! diff --git a/README.md b/README.md index b8a64214..ade1dc81 100644 --- a/README.md +++ b/README.md @@ -1,89 +1,36 @@ ## BOFIT -๋ณต์žกํ•œ ๋ณดํ—˜, ์ด์ œ ๋‚ด๊ฐ€ ์ง์ ‘ ์ดํ•ดํ•˜๊ณ  ์„ ํƒํ•ด์š”. ๋ณดํ•๊ณผ ํ•จ๊ป˜ ! - -- ๊ฐœ์ธ ๋งž์ถค ์ถ”์ฒœ : ๊ผญ ํ•„์š”ํ•œ ๋ณด์žฅ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ๊ด€์ ์ธ ๋ณดํ—˜ ์ถ”์ฒœ -- ์‰ฌ์šด ์ดํ•ด๋ฅผ ์œ„ํ•œ ๋ฆฌํฌํŠธ : ๋ณต์žกํ•œ ๋ณดํ—˜ ์ •๋ณด๋ฅผ ์‹œ๊ฐํ™”ํ•˜๊ณ  ์นœ์ ˆํ•œ ์„ค๋ช…์„ ๋‹ด์€ ๋ฆฌํฌํŠธ ์ œ๊ณต -- ์ˆœ์ˆ˜ ์ •๋ณด ๊ณต์œ  ์ปค๋ฎค๋‹ˆํ‹ฐ : ์˜์—…ํ™œ๋™์ด ์ œํ•œ๋œ ๊ณต๊ฐ„์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด ๊ตํ™˜ +แ„‡แ…ฉแ„‘แ…ตแ†บแ„‘แ…ญแ„Œแ…ต --- -## ๐Ÿ“Œ ์„œ๋น„์Šค ์†Œ๊ฐœ +๋ณต์žกํ•œ ๋ณดํ—˜, ์ด์ œ ๋‚ด๊ฐ€ ์ง์ ‘ ์ดํ•ดํ•˜๊ณ  ์„ ํƒํ•ด์š”. ๋ณดํ•๊ณผ ํ•จ๊ป˜ ! ---- - -### ๐Ÿ”‘ ๋กœ๊ทธ์ธ - -
- image -
+1. ๊ฐœ์ธ ๋งž์ถค ์ถ”์ฒœ : ๊ผญ ํ•„์š”ํ•œ ๋ณด์žฅ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ๊ด€์ ์ธ ๋ณดํ—˜ ์ถ”์ฒœ +2. ์‰ฌ์šด ์ดํ•ด๋ฅผ ์œ„ํ•œ ๋ฆฌํฌํŠธ : ๋ณต์žกํ•œ ๋ณดํ—˜ ์ •๋ณด๋ฅผ ์‹œ๊ฐํ™”ํ•˜๊ณ  ์นœ์ ˆํ•œ ์„ค๋ช…์„ ๋‹ด์€ ๋ฆฌํฌํŠธ ์ œ๊ณต +3. ์ˆœ์ˆ˜ ์ •๋ณด ๊ณต์œ  ์ปค๋ฎค๋‹ˆํ‹ฐ : ์˜์—…ํ™œ๋™์ด ์ œํ•œ๋œ ๊ณต๊ฐ„์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด ๊ตํ™˜ --- -### ๐Ÿ“ ์ •๋ณด ์ž…๋ ฅ +## ๐Ÿ“Œ ์„œ๋น„์Šค ์†Œ๊ฐœ -#### ๋ณดํ—˜ ์ถ”์ฒœ์„ ์œ„ํ•œ ์ •๋ณด ์ž…๋ ฅ +painpoint1 -> ๊ผญ ๋งž๋Š” ๋ณดํ—˜ ์ถ”์ฒœ์„ ์œ„ํ•ด ์‚ฌ์šฉ์ž -ํŠน์„ฑ๊ณผ ๋‹ˆ์ฆˆ๋ฅผ ํŒŒ์•…ํ•˜๊ณ , ํ•„์ˆ˜์ ์ธ -์ •๋ณด๋งŒ ์ˆ˜์ง‘ํ•ด ๊ฐ„ํŽธ์„ฑ์„ ๋†’์—ฌ์š”. +painpoint2 -
- ์ •๋ณด์ž…๋ ฅ1 - ์ •๋ณด์ž…๋ ฅ2 - ์ •๋ณด์ž…๋ ฅ3 -
+painpoint3 ---- +แ„‡แ…ฉแ„‘แ…ตแ†บแ„Œแ…ฅแ†ผแ„‡แ…ฉแ„‹แ…ตแ†ธแ„…แ…งแ†จ +แ„‡แ…ฉแ„‘แ…ตแ†บแ„Œแ…ฅแ†ผแ„‡แ…ฉแ„‹แ…ตแ†ธแ„…แ…งแ†จ2 -### ๐Ÿ  ํ™ˆ +แ„‡แ…ฉแ„‘แ…ตแ†บแ„’แ…ฉแ†ทแ„’แ…ชแ„†แ…งแ†ซ -#### ํ™ˆํ™”๋ฉด -> ๋ณดํ—˜ ๋ฆฌํฌํŠธ ์š”์•ฝ๋ถ€ํ„ฐ -๋ณดํ—˜ tip๊นŒ์ง€ ํ•œ๋ˆˆ์— -ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”. +แ„‡แ…ฉแ„‘แ…ตแ†บแ„‡แ…ฉแ„’แ…ฅแ†ทแ„Žแ…ฎแ„Žแ…ฅแ†ซแ„…แ…ตแ„‘แ…ฉแ„แ…ณ -
- image -
+แ„‡แ…ฉแ„‘แ…ตแ†บแ„แ…ฅแ„†แ…ฒ --- -### ๐Ÿ‘ค ๋งˆ์ด ํŽ˜์ด์ง€ - -
- image - image -
- ---- - -### ๐Ÿ’ฌ ์ปค๋ฎค๋‹ˆํ‹ฐ - -#### ๋ณดํ—˜์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ -> ์˜์—… ํ™œ๋™์€ ์ œํ•œ๋˜๊ณ , ์‚ฌ์šฉ์ž๋ผ๋ฆฌ ์˜๋ฏธ ์žˆ๋Š” ์ •๋ณด์™€ ๊ฒฝํ—˜์„ ์ž์œ ๋กญ๊ฒŒ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์–ด์š”. - -
- ์ปค๋ฎค๋‹ˆํ‹ฐ3 - image -
- ---- - -### ๋ณดํ—˜ ์ถ”์ฒœ ๋ฆฌํฌํŠธ - -#### ๋ณดํ—˜ ์ถ”์ฒœ ๋ฆฌํฌํŠธ -> ์ถ”์ฒœ ์ด์œ ๋ถ€ํ„ฐ ๋ณด์žฅ ํ•ญ๋ชฉ ๊ตฌ์„ฑ๊นŒ์ง€,โ€จ ํ•ต์‹ฌ ๋‚ด์šฉ์„ ํ•œ๋ˆˆ์— ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก -์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌํ–ˆ์–ด์š”. - -
- image - image -
- - - - ## TEAM-BOFIT diff --git a/apps/client/.env.example b/apps/client/.env.example index 30d368d3..609e6a7e 100644 --- a/apps/client/.env.example +++ b/apps/client/.env.example @@ -1,2 +1,4 @@ -VITE_KAKAO_REDIRECT_URI= -VITE_API_BASE_URL= \ No newline at end of file +VITE_KAKAO_LOGIN_URL= '์นด์นด์˜ค ๋กœ๊ทธ์ธ url' +VITE_KAKAO_LOCAL_REDIRECT_URI = '๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ URI' +VITE_KAKAO_PROD_REDIRECT_URI = 'ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ URI' +VITE_API_BASE_URL= 'API ๊ธฐ๋ณธ URL' \ No newline at end of file diff --git a/apps/client/CHANGELOG.md b/apps/client/CHANGELOG.md new file mode 100644 index 00000000..fcb80d69 --- /dev/null +++ b/apps/client/CHANGELOG.md @@ -0,0 +1,14 @@ +# @bofit/client + +## 1.0.0 + +### Major Changes + +- 5ec8413: first version control +- b887609: init version control + +### Patch Changes + +- Updated dependencies [5ec8413] +- Updated dependencies [b887609] + - @bds/ui@1.0.0 diff --git a/apps/client/package.json b/apps/client/package.json index d0bee164..73b207ed 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -1,6 +1,6 @@ { "name": "@bofit/client", - "version": "0.0.0", + "version": "1.0.0", "type": "module", "scripts": { "dev": "vite", @@ -11,8 +11,8 @@ }, "dependencies": { "@bds/ui": "workspace:*", - "@tanstack/react-query": "^5.81.5", - "@tanstack/react-query-devtools": "^5.81.5", + "@tanstack/react-query": "^5.83.0", + "@tanstack/react-query-devtools": "^5.83.0", "@toss/ky": "^1.2.1", "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", diff --git a/apps/client/public/favicon.svg b/apps/client/public/favicon.svg index 3b1a59cf..9fd530ed 100644 --- a/apps/client/public/favicon.svg +++ b/apps/client/public/favicon.svg @@ -1,4 +1,4 @@ - + diff --git a/apps/client/public/glass_icon_bulb.svg b/apps/client/public/glass_icon_bulb.svg index 0da85c9f..8e8b3abf 100644 --- a/apps/client/public/glass_icon_bulb.svg +++ b/apps/client/public/glass_icon_bulb.svg @@ -1,4 +1,4 @@ - +
diff --git a/apps/client/src/pages/community/community-detail/community-detail.tsx b/apps/client/src/pages/community/community-detail/community-detail.tsx index ef35b5c4..25097abb 100644 --- a/apps/client/src/pages/community/community-detail/community-detail.tsx +++ b/apps/client/src/pages/community/community-detail/community-detail.tsx @@ -1,5 +1,10 @@ import { useState } from 'react'; -import { useInfiniteQuery, useSuspenseQuery } from '@tanstack/react-query'; +import { + useInfiniteQuery, + useMutation, + useQueryClient, + useSuspenseQuery, +} from '@tanstack/react-query'; import { useParams } from 'react-router'; import { useNavigate } from 'react-router-dom'; @@ -13,19 +18,19 @@ import UserComment from '@widgets/community/components/user-comment/user-comment import { EMPTY_COMMENT } from '@widgets/community/constant/empty-content'; import { + COMMUNITY_MUTATION_OPTIONS, COMMUNITY_QUERY_OPTIONS, - POST_COMMENT, - useDeleteComment, - useDeleteFeed, } from '@shared/api/domain/community/queries'; -import { POST_FEED_DETAIL_OPTIONS } from '@shared/api/domain/community/queries'; import { USER_QUERY_OPTIONS } from '@shared/api/domain/onboarding/queries'; +import { COMMUNITY_QUERY_KEY } from '@shared/api/keys/query-key'; +import { LIMIT_MEDIUM_TEXT } from '@shared/constants/text-limits'; import { useIntersectionObserver } from '@shared/hooks/use-intersection-observer'; import { useLimitedInput } from '@shared/hooks/use-limited-input'; import { routePath } from '@shared/router/path'; import { getTimeAgo } from '@shared/utils/get-time-ago'; import * as styles from './community-detail.css'; +import { virtualRef } from '@widgets/mypage/preview.css'; const DELETE_MODAL = { FEED: { @@ -37,31 +42,21 @@ const DELETE_MODAL = { content: '์‚ญ์ œํ•œ ๋Œ“๊ธ€์€ ๋ณต์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.', }, }; -import { LIMIT_MEDIUM_TEXT } from '@shared/constants/text-limits'; - -import { virtualRef } from '@widgets/mypage/preview.css'; const CommunityDetail = () => { const navigate = useNavigate(); const [content, setContent] = useState(''); const { postId } = useParams<{ postId: string }>(); const { isErrorState } = useLimitedInput(LIMIT_MEDIUM_TEXT, content.length); + const queryClient = useQueryClient(); if (!postId) { - throw new Error('postId๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.'); + throw new Error('postId๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.'); } - const { data } = useSuspenseQuery(POST_FEED_DETAIL_OPTIONS.DETAIL(postId)); - - const { data: queryData } = useSuspenseQuery(USER_QUERY_OPTIONS.PROFILE()); - const userData = queryData?.data; - - const handleChange = (e: React.ChangeEvent) => { - if (e.target.value.length <= 30) { - setContent(e.target.value); - } - }; - + const { data: feedDetailData } = useSuspenseQuery( + COMMUNITY_QUERY_OPTIONS.FEED_DETAIL(postId), + ); const { data: comments, fetchNextPage, @@ -69,11 +64,54 @@ const CommunityDetail = () => { isFetchingNextPage, } = useInfiniteQuery({ ...COMMUNITY_QUERY_OPTIONS.COMMENTS(postId), - getNextPageParam: (lastPage) => - lastPage?.data?.nextCursor ? lastPage.data.nextCursor : undefined, - initialPageParam: 0, }); + const { data: profileData } = useSuspenseQuery(USER_QUERY_OPTIONS.PROFILE()); + const { mutate: createCommentMutate } = useMutation({ + ...COMMUNITY_MUTATION_OPTIONS.POST_COMMENT(), + onSuccess: (_data, variables) => { + queryClient.invalidateQueries({ + queryKey: COMMUNITY_QUERY_KEY.COMMENTS(variables.postId), + }); + queryClient.invalidateQueries({ + queryKey: COMMUNITY_QUERY_KEY.FEED_DETAIL(variables.postId), + }); + }, + }); + + const { mutate: deleteFeedMutate } = useMutation({ + ...COMMUNITY_MUTATION_OPTIONS.DELETE_FEED(postId), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: COMMUNITY_QUERY_KEY.FEED_PREVIEW(), + }); + navigate(routePath.COMMUNITY); + }, + }); + + const { mutate: deleteCommentMutate } = useMutation({ + ...COMMUNITY_MUTATION_OPTIONS.DELETE_COMMENT(postId), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: COMMUNITY_QUERY_KEY.COMMENTS(postId), + }); + queryClient.invalidateQueries({ + queryKey: COMMUNITY_QUERY_KEY.FEED_DETAIL(postId), + }); + }, + }); + + const handleDeleteFeed = () => { + deleteFeedMutate(); + closeModal(); + }; + + const handleChange = (e: React.ChangeEvent) => { + if (e.target.value.length <= 30) { + setContent(e.target.value); + } + }; + const allComments = comments?.pages.flatMap((page) => page?.data?.content ?? []) ?? []; @@ -83,20 +121,18 @@ const CommunityDetail = () => { } }, true); - const isPostOwner = data?.writerId === userData?.userId; + const userData = profileData?.data; + const isPostOwner = feedDetailData?.writerId === userData?.userId; const handleNavigate = (path: string) => { navigate(path); }; - const { mutate } = POST_COMMENT(); - const onSubmitComment = () => { if (!content.trim()) { return; } - - mutate( + createCommentMutate( { postId, content: content.trim() }, { onSuccess: () => { @@ -113,8 +149,8 @@ const CommunityDetail = () => { const handleGoEdit = () => { navigate(routePath.COMMUNITY_EDIT.replace(':postId', String(postId)), { state: { - title: data?.title, - content: data?.content, + title: feedDetailData?.title, + content: feedDetailData?.content, }, }); }; @@ -161,17 +197,6 @@ const CommunityDetail = () => { ); }; - const { mutate: deleteFeedMutate } = useDeleteFeed(() => { - navigate(routePath.COMMUNITY); - }); - - const handleDeleteFeed = () => { - deleteFeedMutate(postId); - closeModal(); - }; - - const { mutate: deleteCommentMutate } = useDeleteComment(postId); - const handleDeleteComment = (commentId: string) => { deleteCommentMutate(commentId); closeModal(); @@ -193,12 +218,12 @@ const CommunityDetail = () => {
showDeleteModal('feed')} /> @@ -211,7 +236,9 @@ const CommunityDetail = () => { height="2rem" color="gray800" /> -

๋Œ“๊ธ€ {data?.commentCount}

+

+ ๋Œ“๊ธ€ {feedDetailData?.commentCount} +

diff --git a/apps/client/src/pages/community/community-edit/community-edit.tsx b/apps/client/src/pages/community/community-edit/community-edit.tsx index e6eea7f1..8ade834d 100644 --- a/apps/client/src/pages/community/community-edit/community-edit.tsx +++ b/apps/client/src/pages/community/community-edit/community-edit.tsx @@ -1,4 +1,5 @@ import { useEffect, useState } from 'react'; +import { useMutation, useQueryClient } from '@tanstack/react-query'; import { useLocation, useParams } from 'react-router-dom'; import { useNavigate } from 'react-router-dom'; @@ -8,7 +9,8 @@ import { Icon } from '@bds/ui/icons'; import CommunityLine from '@widgets/community/components/community-line/community-line'; import { PLACEHOLDER } from '@widgets/community/constant/input-placeholder'; -import { PUT_FEED } from '@shared/api/domain/community/queries'; +import { COMMUNITY_MUTATION_OPTIONS } from '@shared/api/domain/community/queries'; +import { COMMUNITY_QUERY_KEY } from '@shared/api/keys/query-key'; import { LIMIT_LONG_TEXT, LIMIT_SHORT_TEXT, @@ -29,26 +31,30 @@ const COMMUNITY_CONTENT = { const CommunityEdit = () => { const navigate = useNavigate(); const [isDisabled, setIsDisabled] = useState(true); - const { mutate } = PUT_FEED(() => { - navigate(routePath.COMMUNITY); - }); + const queryClient = useQueryClient(); + const { postId } = useParams<{ postId: string }>(); const location = useLocation(); - const state = location.state as { title: string; content: string }; const [title, setTitle] = useState(state.title); const [content, setContent] = useState(state.content); - const { isErrorState } = useLimitedInput(LIMIT_SHORT_TEXT, title.length); - const { postId } = useParams<{ postId: string }>(); - if (!postId) { - throw new Error('์ž˜๋ชป๋œ ์ ‘๊ทผ์ž…๋‹ˆ๋‹ค.'); + throw new Error('๊ฒŒ์‹œ๊ธ€ Id๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.'); } + const { mutate } = useMutation({ + ...COMMUNITY_MUTATION_OPTIONS.PUT_FEED(postId), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: COMMUNITY_QUERY_KEY.FEED_DETAIL(postId), + }); + navigate(routePath.COMMUNITY_DETAIL.replace(':postId', postId)); + }, + }); + const handlePutFeed = () => { mutate({ - postId: postId, body: { title: title, content: content, diff --git a/apps/client/src/pages/community/community-page.tsx b/apps/client/src/pages/community/community-page.tsx index 2a7a1547..fac5f6b8 100644 --- a/apps/client/src/pages/community/community-page.tsx +++ b/apps/client/src/pages/community/community-page.tsx @@ -21,9 +21,6 @@ const CommunityPage = () => { const { data, fetchNextPage, hasNextPage, isFetchingNextPage } = useInfiniteQuery({ ...COMMUNITY_QUERY_OPTIONS.POSTS(), - getNextPageParam: (lastPage) => - lastPage?.isLast ? undefined : lastPage?.nextCursor, - initialPageParam: 0, }); const feedObserverRef = useIntersectionObserver(() => { diff --git a/apps/client/src/pages/community/community-write/community-write.tsx b/apps/client/src/pages/community/community-write/community-write.tsx index c241e19a..ee47d2e4 100644 --- a/apps/client/src/pages/community/community-write/community-write.tsx +++ b/apps/client/src/pages/community/community-write/community-write.tsx @@ -1,4 +1,5 @@ import { useEffect, useState } from 'react'; +import { useMutation, useQueryClient } from '@tanstack/react-query'; import { useNavigate } from 'react-router-dom'; import { Input, Navigation, TextButton, Title } from '@bds/ui'; @@ -7,7 +8,8 @@ import { Icon } from '@bds/ui/icons'; import CommunityLine from '@widgets/community/components/community-line/community-line'; import { PLACEHOLDER } from '@widgets/community/constant/input-placeholder'; -import { usePostFeed } from '@shared/api/domain/community/queries'; +import { COMMUNITY_MUTATION_OPTIONS } from '@shared/api/domain/community/queries'; +import { COMMUNITY_QUERY_KEY } from '@shared/api/keys/query-key'; import { LIMIT_LONG_TEXT, LIMIT_SHORT_TEXT, @@ -27,14 +29,19 @@ const COMMUNITY_CONTENT = { const CommunityWrite = () => { const navigate = useNavigate(); - const [title, setTitle] = useState(''); const [content, setContent] = useState(''); - const [isDisabled, setIsDisabled] = useState(true); + const queryClient = useQueryClient(); const { isErrorState } = useLimitedInput(LIMIT_SHORT_TEXT, title.length); - const { mutate } = usePostFeed(() => { - navigate(routePath.COMMUNITY); + const { mutate } = useMutation({ + ...COMMUNITY_MUTATION_OPTIONS.POST_FEED(), + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: COMMUNITY_QUERY_KEY.FEED_PREVIEW(), + }); + navigate(routePath.COMMUNITY); + }, }); const handlePostFeed = () => { diff --git a/apps/client/src/pages/my/my-page.tsx b/apps/client/src/pages/my/my-page.tsx index 768b9a89..6f9ccbcd 100644 --- a/apps/client/src/pages/my/my-page.tsx +++ b/apps/client/src/pages/my/my-page.tsx @@ -14,8 +14,8 @@ const MyPage = () => { const userData = queryData?.data; const targetRoute = userData?.isRecommendInsurance - ? routePath.HOME - : `${routePath.ONBOARDING}?step=user`; + ? routePath.REPORT + : routePath.HOME; const navigate = useNavigate(); diff --git a/apps/client/src/shared/api/domain/community/queries.ts b/apps/client/src/shared/api/domain/community/queries.ts index 834f5600..2eed1881 100644 --- a/apps/client/src/shared/api/domain/community/queries.ts +++ b/apps/client/src/shared/api/domain/community/queries.ts @@ -1,14 +1,14 @@ import { + infiniteQueryOptions, + mutationOptions, queryOptions, - useMutation, - useQueryClient, } from '@tanstack/react-query'; import { END_POINT } from '@shared/api/config/end-point'; import { api } from '@shared/api/config/instance'; import { + COMMUNITY_MUTATION_KEY, COMMUNITY_QUERY_KEY, - POST_FEED_DETAIL_KEY, } from '@shared/api/keys/query-key'; import { CommentDeleteResponse, @@ -23,16 +23,88 @@ import { FeedUpdateResponse, } from '@shared/api/types/types'; -export const POST_FEED_DETAIL_OPTIONS = { - DETAIL: (postId: string) => { +// ============================================================================= +// QUERY OPTIONS +// ============================================================================= + +export const COMMUNITY_QUERY_OPTIONS = { + POSTS: () => + infiniteQueryOptions({ + queryKey: COMMUNITY_QUERY_KEY.FEED_PREVIEW(), + queryFn: ({ pageParam = 0 }) => + getAllFeed({ pageParam: pageParam as number }), + getNextPageParam: (lastPage) => + lastPage?.isLast ? undefined : lastPage?.nextCursor, + initialPageParam: 0, + }), + + COMMENTS: (postId?: string) => + infiniteQueryOptions({ + queryKey: COMMUNITY_QUERY_KEY.COMMENTS(postId), + queryFn: ({ pageParam = 0 }) => getAllComments(postId, { pageParam }), + getNextPageParam: (lastPage) => + lastPage?.data?.nextCursor ? lastPage.data.nextCursor : undefined, + initialPageParam: 0, + }), + + FEED_DETAIL: (postId: string) => { return queryOptions({ - queryKey: POST_FEED_DETAIL_KEY.DETAIL(postId).concat(), - queryFn: () => getFeedDeatil(postId), + queryKey: COMMUNITY_QUERY_KEY.FEED_DETAIL(postId).concat(), + queryFn: () => getFeedDetail(postId), }); }, }; -export const getFeedDeatil = async ( +// ============================================================================= +// QUERY FUNCTIONS +// ============================================================================= + +/** + * ๋ชจ๋“  ๊ฒŒ์‹œ๊ธ€์„ ํŽ˜์ด์ง€๋„ค์ด์…˜์œผ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. + * @param options - ํŽ˜์ด์ง€๋„ค์ด์…˜ ์˜ต์…˜ + * @param options.pageParam - ํŽ˜์ด์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ (๊ธฐ๋ณธ๊ฐ’: 0) + * @returns ๊ฒŒ์‹œ๊ธ€ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์‘๋‹ต ๋ฐ์ดํ„ฐ + */ +export const getAllFeed = async ({ + pageParam, +}: { pageParam?: number } = {}): Promise => { + const url = + pageParam === 0 + ? `${END_POINT.COMMUNITY.GET_FEED}?size=10` + : `${END_POINT.COMMUNITY.GET_FEED}?cursor=${pageParam}&size=10`; + + const response = await api.get(url).json(); + + return response.data; +}; + +/** + * ํŠน์ • ๊ฒŒ์‹œ๊ธ€์˜ ๋ชจ๋“  ๋Œ“๊ธ€์„ ํŽ˜์ด์ง€๋„ค์ด์…˜์œผ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. + * @param postId - ๋Œ“๊ธ€์„ ๊ฐ€์ ธ์˜ฌ ๊ฒŒ์‹œ๊ธ€ ID + * @param options - ํŽ˜์ด์ง€๋„ค์ด์…˜ ์˜ต์…˜ + * @param options.pageParam - ํŽ˜์ด์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ (๊ธฐ๋ณธ๊ฐ’: 0) + * @returns ๋Œ“๊ธ€ ์‘๋‹ต ๋ฐ์ดํ„ฐ ๋˜๋Š” null + */ +export const getAllComments = async ( + postId?: string, + { pageParam }: { pageParam?: number } = {}, +): Promise => { + const url = + pageParam === 0 + ? `${END_POINT.COMMUNITY.GET_COMMENTS(postId)}?size=10` + : `${END_POINT.COMMUNITY.GET_COMMENTS(postId)}?cursor=${pageParam}&size=10`; + + const response = await api.get(url).json(); + + return response; +}; + +/** + * ํŠน์ • ๊ฒŒ์‹œ๊ธ€์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. + * @param postId - ์ƒ์„ธ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ฌ ๊ฒŒ์‹œ๊ธ€ ID + * @returns ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ์‘๋‹ต ๋ฐ์ดํ„ฐ ๋˜๋Š” null + */ +export const getFeedDetail = async ( postId: string, ): Promise => { const response = await api @@ -42,6 +114,59 @@ export const getFeedDeatil = async ( return response.data; }; +// ============================================================================= +// MUTATION OPTIONS +// ============================================================================= + +export const COMMUNITY_MUTATION_OPTIONS = { + POST_COMMENT: () => { + return mutationOptions({ + mutationKey: COMMUNITY_MUTATION_KEY.POST_COMMENT(), + mutationFn: postComment, + }); + }, + + POST_FEED: () => { + return mutationOptions({ + mutationKey: COMMUNITY_MUTATION_KEY.POST_FEED(), + mutationFn: postFeed, + }); + }, + + PUT_FEED: (postId: string) => { + return mutationOptions({ + mutationKey: COMMUNITY_MUTATION_KEY.PUT_FEED(postId), + mutationFn: ({ body }: { body: FeedUpdateRequestBody }) => + putFeed(postId, body), + }); + }, + + DELETE_FEED: (postId: string) => { + return mutationOptions({ + mutationKey: COMMUNITY_MUTATION_KEY.DELETE_FEED(postId), + mutationFn: () => deleteFeed(postId), + }); + }, + + DELETE_COMMENT: (postId: string) => { + return mutationOptions({ + mutationKey: COMMUNITY_MUTATION_KEY.DELETE_COMMENT(postId), + mutationFn: (commentId?: string) => deleteComment(postId, commentId), + }); + }, +}; + +// ============================================================================= +// MUTATION FUNCTIONS +// ============================================================================= + +/** + * ๊ฒŒ์‹œ๊ธ€์— ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. + * @param params - ๋Œ“๊ธ€ ์ž‘์„ฑ ํŒŒ๋ผ๋ฏธํ„ฐ + * @param params.postId - ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•  ๊ฒŒ์‹œ๊ธ€ ID + * @param params.content - ๋Œ“๊ธ€ ๋‚ด์šฉ + * @returns ๋Œ“๊ธ€ ์ž‘์„ฑ ์‘๋‹ต ๋ฐ์ดํ„ฐ + */ export const postComment = async (params: { postId: string; content: string; @@ -55,43 +180,23 @@ export const postComment = async (params: { .json(); }; -export const POST_COMMENT = (onSuccessCallback?: () => void) => { - const queryClient = useQueryClient(); - - return useMutation({ - mutationFn: postComment, - onSuccess: (_data, variables) => { - queryClient.invalidateQueries({ - queryKey: COMMUNITY_QUERY_KEY.COMMENTS(variables.postId), - }); - queryClient.invalidateQueries({ - queryKey: POST_FEED_DETAIL_KEY.DETAIL(variables.postId), - }); - if (onSuccessCallback) { - onSuccessCallback(); - } - }, - }); -}; - +/** + * ์ƒˆ ๊ฒŒ์‹œ๊ธ€์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. + * @param body - ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ์š”์ฒญ ๋ฐ์ดํ„ฐ + * @returns ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ์‘๋‹ต ๋ฐ์ดํ„ฐ + */ export const postFeed = async (body: FeedRequest): Promise => { return api .post(END_POINT.COMMUNITY.POST_FEED, { json: body }) .json(); }; -export const usePostFeed = (onSuccessCallback?: () => void) => { - return useMutation({ - mutationFn: postFeed, - onSuccess: () => { - // @TODO ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ ์ฟผ๋ฆฌํ‚ค ์ดˆ๊ธฐํ™” ๋กœ์ง ์ถ”๊ฐ€ - if (onSuccessCallback) { - onSuccessCallback(); - } - }, - }); -}; - +/** + * ๊ธฐ์กด ๊ฒŒ์‹œ๊ธ€์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. + * @param postId - ์ˆ˜์ •ํ•  ๊ฒŒ์‹œ๊ธ€ ID + * @param body - ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ • ์š”์ฒญ ๋ฐ์ดํ„ฐ + * @returns ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ • ์‘๋‹ต ๋ฐ์ดํ„ฐ + */ export const putFeed = async ( postId: string, body: FeedUpdateRequestBody, @@ -103,70 +208,13 @@ export const putFeed = async ( .json(); }; -export const PUT_FEED = (onSuccessCallback?: () => void) => { - const queyrClient = useQueryClient(); - - return useMutation({ - mutationFn: ({ - postId, - body, - }: { - postId: string; - body: FeedUpdateRequestBody; - }) => putFeed(postId, body), - onSuccess: async (_data, variables) => { - await queyrClient.invalidateQueries({ - queryKey: POST_FEED_DETAIL_KEY.DETAIL(variables.postId), - }); - - if (onSuccessCallback) { - onSuccessCallback; - } - }, - }); -}; - -export const COMMUNITY_QUERY_OPTIONS = { - COMMENTS: (postId?: string) => ({ - queryKey: COMMUNITY_QUERY_KEY.COMMENTS(postId), - queryFn: ({ pageParam = 0 }) => getAllComments(postId, { pageParam }), - }), - POSTS: () => ({ - queryKey: POST_FEED_DETAIL_KEY.FEED(), - queryFn: ({ pageParam = 0 }) => - getAllPosts({ pageParam: pageParam as number }), - }), -}; - -export const getAllPosts = async ({ - pageParam, -}: { pageParam?: number } = {}): Promise => { - const url = - pageParam === 0 - ? `${END_POINT.COMMUNITY.GET_FEED}?size=10` - : `${END_POINT.COMMUNITY.GET_FEED}?cursor=${pageParam}&size=10`; - - const response = await api.get(url).json(); - - return response.data; -}; - -export const getAllComments = async ( - postId?: string, - { pageParam }: { pageParam?: number } = {}, -): Promise => { - const url = - pageParam === 0 - ? `${END_POINT.COMMUNITY.GET_COMMENTS(postId)}?size=10` - : `${END_POINT.COMMUNITY.GET_COMMENTS(postId)}?cursor=${pageParam}&size=10`; - - const response = await api.get(url).json(); - - return response; -}; - +/** + * ๊ฒŒ์‹œ๊ธ€์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. + * @param postId - ์‚ญ์ œํ•  ๊ฒŒ์‹œ๊ธ€ ID + * @returns ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ ์‘๋‹ต ๋ฐ์ดํ„ฐ + */ export const deleteFeed = async ( - postId?: string, + postId: string, ): Promise => { const response = await api .delete(`${END_POINT.COMMUNITY.DELETE_FEED}/${postId}`) @@ -174,20 +222,12 @@ export const deleteFeed = async ( return response; }; -export const useDeleteFeed = (onSuccessCallback?: () => void) => { - const queryClient = useQueryClient(); - - return useMutation({ - mutationFn: (postId: string) => deleteFeed(postId), - onSuccess: async () => { - await queryClient.invalidateQueries({ queryKey: ['feeds'] }); - if (onSuccessCallback) { - onSuccessCallback(); - } - }, - }); -}; - +/** + * ๋Œ“๊ธ€์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. + * @param postId - ๋Œ“๊ธ€์ด ์†ํ•œ ๊ฒŒ์‹œ๊ธ€ ID + * @param commentId - ์‚ญ์ œํ•  ๋Œ“๊ธ€ ID + * @returns ๋Œ“๊ธ€ ์‚ญ์ œ ์‘๋‹ต ๋ฐ์ดํ„ฐ + */ export const deleteComment = async ( postId?: string, commentId?: string, @@ -199,26 +239,3 @@ export const deleteComment = async ( .json(); return response; }; - -export const useDeleteComment = ( - postId: string, - onSuccessCallback?: () => void, -) => { - const queryClient = useQueryClient(); - - return useMutation({ - mutationFn: (commentId?: string) => deleteComment(postId, commentId), - onSuccess: async () => { - await queryClient.invalidateQueries({ - queryKey: COMMUNITY_QUERY_KEY.COMMENTS(postId), - }); - await queryClient.invalidateQueries({ - queryKey: POST_FEED_DETAIL_KEY.DETAIL(postId), - }); - - if (onSuccessCallback) { - onSuccessCallback(); - } - }, - }); -}; diff --git a/apps/client/src/shared/api/domain/landing/queries.ts b/apps/client/src/shared/api/domain/landing/queries.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/apps/client/src/shared/api/domain/mypage/queries.ts b/apps/client/src/shared/api/domain/mypage/queries.ts index bff1aedd..90f3ce0c 100644 --- a/apps/client/src/shared/api/domain/mypage/queries.ts +++ b/apps/client/src/shared/api/domain/mypage/queries.ts @@ -1,4 +1,4 @@ -import { queryOptions } from '@tanstack/react-query'; +import { infiniteQueryOptions, queryOptions } from '@tanstack/react-query'; import { END_POINT } from '@shared/api/config/end-point.ts'; import { api } from '@shared/api/config/instance'; @@ -6,20 +6,29 @@ import { USER_QUERY_KEY } from '@shared/api/keys/query-key.ts'; import { MePostResponse, UserProfile } from '@shared/api/types/types'; export const USER_QUERY_OPTIONS = { - PROFILE: () => { - return queryOptions({ + PROFILE: () => + queryOptions({ queryKey: USER_QUERY_KEY.PROFILE(), queryFn: getUserProfile, - }); - }, - ME_POSTS: () => ({ - queryKey: USER_QUERY_KEY.ME_POSTS(), - queryFn: ({ pageParam = 0 }) => getMePosts({ pageParam }), - }), - ME_COMMENTS: () => ({ - queryKey: USER_QUERY_KEY.ME_COMMENTS(), - queryFn: ({ pageParam = 0 }) => getMeComments({ pageParam }), - }), + }), + + ME_POSTS: () => + infiniteQueryOptions({ + queryKey: USER_QUERY_KEY.ME_POSTS(), + queryFn: ({ pageParam = 0 }) => getMePosts({ pageParam }), + getNextPageParam: (lastPage) => + lastPage.isLast ? undefined : lastPage.nextCursor, + initialPageParam: 0, + }), + + ME_COMMENTS: () => + infiniteQueryOptions({ + queryKey: USER_QUERY_KEY.ME_COMMENTS(), + queryFn: ({ pageParam = 0 }) => getMeComments({ pageParam }), + getNextPageParam: (lastPage) => + lastPage.isLast ? undefined : lastPage.nextCursor, + initialPageParam: 0, + }), }; export const getUserProfile = async (): Promise => { diff --git a/apps/client/src/shared/api/keys/query-key.ts b/apps/client/src/shared/api/keys/query-key.ts index bebaa5a8..8fdf30c9 100644 --- a/apps/client/src/shared/api/keys/query-key.ts +++ b/apps/client/src/shared/api/keys/query-key.ts @@ -22,21 +22,37 @@ export const USER_QUERY_KEY = { export const COMMUNITY_QUERY_KEY = { ALL: ['community'], - FEED: () => [...COMMUNITY_QUERY_KEY.ALL, 'feed'], + FEED_PREVIEW: () => [...COMMUNITY_QUERY_KEY.ALL, 'feed'], + FEED_DETAIL: (postId: string) => [ + ...COMMUNITY_QUERY_KEY.ALL, + 'detail', + postId, + ], COMMENTS: (postId?: string) => [ ...COMMUNITY_QUERY_KEY.ALL, 'comment', postId, ], -}; +} as const; + +export const COMMUNITY_MUTATION_KEY = { + POST_COMMENT: () => [...COMMUNITY_QUERY_KEY.COMMENTS(), 'create'], + POST_FEED: () => [...COMMUNITY_QUERY_KEY.FEED_PREVIEW(), 'create'], + PUT_FEED: (postId: string) => [ + ...COMMUNITY_QUERY_KEY.FEED_DETAIL(postId), + 'update', + ], + DELETE_FEED: (postId: string) => [ + ...COMMUNITY_QUERY_KEY.FEED_DETAIL(postId), + 'delete', + ], + DELETE_COMMENT: (postId: string) => [ + ...COMMUNITY_QUERY_KEY.COMMENTS(postId), + 'delete', + ], +} as const; export const HOME_QUERY_KEY = { ALL: ['home'], REPORT_SUMMARY: () => [...HOME_QUERY_KEY.ALL, 'report_summary'], } as const; - -export const POST_FEED_DETAIL_KEY = { - ALL: ['details'], - DETAIL: (postId: string) => [...POST_FEED_DETAIL_KEY.ALL, 'detail', postId], - FEED: () => [...POST_FEED_DETAIL_KEY.ALL, 'feed'], -}; diff --git a/apps/client/src/shared/api/types/types.ts b/apps/client/src/shared/api/types/types.ts index 4dbc7f9a..24215acc 100644 --- a/apps/client/src/shared/api/types/types.ts +++ b/apps/client/src/shared/api/types/types.ts @@ -1,88 +1,181 @@ import { paths } from '@shared/types/schema'; -// USER +/* ======================================================= + * ๐Ÿ“Œ USER ๊ด€๋ จ ํƒ€์ž… + * ======================================================= */ + +/** + * @description ๋‚ด ํ”„๋กœํ•„ ์ •๋ณด ์กฐํšŒ ์‘๋‹ต + */ export type UserProfile = paths['/users/info']['get']['responses']['200']['content']['*/*']; +/** + * @description ๋‚ด ๋ณดํ—˜ ์š”์•ฝ ์ •๋ณด ์‘๋‹ต + */ export type ReportSummaryRes = paths['/users/me/report-summary']['get']['responses']['200']['content']['*/*']; +/** + * @description ์ง์—… ์ •๋ณด ๋ชฉ๋ก ์‘๋‹ต + */ export type UserInfoJobs = paths['/user-infos/jobs']['get']['responses']['200']['content']['*/*']; +/** + * @description ์ง„๋‹จ๋ฐ›์€ ์งˆ๋ณ‘ ์ •๋ณด ๋ชฉ๋ก ์‘๋‹ต + */ export type UserInfoDiseases = paths['/user-infos/diagnosed-disease']['get']['responses']['200']['content']['*/*']; +/** + * @description ์„ ํƒ๋œ ๋ณด์žฅ ์ •๋ณด ๋ชฉ๋ก ์‘๋‹ต + */ export type UserInfoCoverages = paths['/user-infos/coverage-select']['get']['responses']['200']['content']['*/*']; +/** + * @description ๋ณดํ—˜ ๋ฆฌํฌํŠธ ์ œ์ถœ ์š”์ฒญ ๋ฐ”๋”” + */ export type UserInfoSubmitRequest = paths['/insurances/reports']['post']['requestBody']['content']['application/json']; +/** + * @description ๋ณดํ—˜ ๋ฆฌํฌํŠธ ์ œ์ถœ ์„ฑ๊ณต ์‘๋‹ต + */ export type UserInfoSubmitResponse = paths['/insurances/reports']['post']['responses']['200']['content']['*/*']; -// INSURANCE +/* ======================================================= + * ๐Ÿ“Œ INSURANCE ๊ด€๋ จ ํƒ€์ž… + * ======================================================= */ + +/** + * @description ํŠน์ • ๋ณดํ—˜ ๋ฆฌํฌํŠธ ์ƒ์„ธ ์กฐํšŒ ์‘๋‹ต + */ export type InsuranceReport = paths['/insurances/reports/{insurance-report-id}']['get']['responses']['200']['content']['*/*']; +/** + * @description ๋‚ด ๋ณดํ—˜ ์š”์•ฝ ๋ฐ์ดํ„ฐ (ReportSummaryRes์˜ data ํ•„๋“œ) + */ export type InsuranceSummary = paths['/users/me/report-summary']['get']['responses']['200']['content']['*/*']['data']; +/** + * @description ์ฃผ์š” ์งˆ๋ณ‘ ๋ณด์žฅ ๋ฆฌํฌํŠธ ์‘๋‹ต + */ export type InsuranceKeunbyeongReport = paths['/insurances/reports/{insurance-report-id}/major-disease']['get']['responses']['200']['content']['*/*']; +/** + * @description ์ˆ˜์ˆ  ๋ณด์žฅ ๋ฆฌํฌํŠธ ์‘๋‹ต + */ export type InsuranceSusulReport = paths['/insurances/reports/{insurance-report-id}/surgery']['get']['responses']['200']['content']['*/*']; +/** + * @description ์ž…์› ๋ณด์žฅ ๋ฆฌํฌํŠธ ์‘๋‹ต + */ export type InsuranceIpwonReport = paths['/insurances/reports/{insurance-report-id}/hospitalization']['get']['responses']['200']['content']['*/*']; +/** + * @description ์žฅํ•ด(์žฅ์• ) ๋ณด์žฅ ๋ฆฌํฌํŠธ ์‘๋‹ต + */ export type InsuranceJanghaeReport = paths['/insurances/reports/{insurance-report-id}/disability']['get']['responses']['200']['content']['*/*']; +/** + * @description ์‚ฌ๋ง ๋ณด์žฅ ๋ฆฌํฌํŠธ ์‘๋‹ต + */ export type InsuranceSamangReport = paths['/insurances/reports/{insurance-report-id}/death']['get']['responses']['200']['content']['*/*']; -// COMMUNITY +/* ======================================================= + * ๐Ÿ“Œ COMMUNITY ๊ด€๋ จ ํƒ€์ž… + * ======================================================= */ + +/** + * @description ํ”ผ๋“œ ์ž‘์„ฑ ์„ฑ๊ณต ์‘๋‹ต + */ export type FeedResponse = paths['/posts']['post']['responses']['200']['content']; +/** + * @description ํ”ผ๋“œ ์ž‘์„ฑ ์š”์ฒญ ๋ฐ”๋”” + */ export type FeedRequest = paths['/posts']['post']['requestBody']['content']['application/json']; -// --- me post +/** + * @description ๋‚ด ํ”ผ๋“œ ๋ชฉ๋ก ์กฐํšŒ ์‘๋‹ต + */ export type MePostResponse = paths['/users/me/posts']['get']['responses']['200']['content']['*/*']; + +/** + * @description ๋‚ด ํ”ผ๋“œ ๋ชฉ๋ก ์กฐํšŒ ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ + */ export type MePostRequest = paths['/users/me/posts']['get']['parameters']['query']; +/** + * @description ๋Œ“๊ธ€ ์ž‘์„ฑ ์„ฑ๊ณต ์‘๋‹ต + */ export type CommentPostResponse = paths['/posts/{post-id}/comments']['post']['responses']['200']['content']; +/** + * @description ๋Œ“๊ธ€ ์ž‘์„ฑ ์š”์ฒญ ๋ฐ”๋”” + */ export type CommentPostRequest = paths['/posts/{post-id}/comments']['post']['requestBody']['content']['application/json']; +/** + * @description ํ”ผ๋“œ ์ƒ์„ธ ์กฐํšŒ ์‘๋‹ต + */ export type FeedDetailResponse = paths['/posts/{post-id}']['get']['responses']['200']['content']['*/*']['data']; +/** + * @description ํ”ผ๋“œ ๋ชฉ๋ก(ํ”„๋ฆฌ๋ทฐ) ์กฐํšŒ ์‘๋‹ต + */ export type FeedPreviewResponse = paths['/posts']['get']['responses']['200']['content']['*/*']['data']; +/** + * @description ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์‘๋‹ต + */ export type CommentResponse = paths['/posts/{post-id}/comments']['get']['responses']['200']['content']['*/*']; +/** + * @description ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ + */ export type CommentRequest = paths['/posts/{post-id}/comments']['get']['parameters']['query']; +/** + * @description ๋Œ“๊ธ€ ์‚ญ์ œ ์„ฑ๊ณต ์‘๋‹ต + */ export type CommentDeleteResponse = paths['/posts/{post-id}/comments/{comment-id}']['delete']['responses']['200']['content']['*/*']; +/** + * @description ํ”ผ๋“œ ์ˆ˜์ • ์š”์ฒญ ๊ฒฝ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ + */ export type FeedUpdateResponse = paths['/posts/{post-id}']['put']['parameters']['path']; +/** + * @description ํ”ผ๋“œ ์ˆ˜์ • ์š”์ฒญ ๋ฐ”๋”” + */ export type FeedUpdateRequestBody = paths['/posts/{post-id}']['put']['requestBody']['content']['application/json']; +/** + * @description ํ”ผ๋“œ ์‚ญ์ œ ์„ฑ๊ณต ์‘๋‹ต + */ export type FeedDeleteResponse = paths['/posts/{post-id}']['delete']['responses']['200']['content']['*/*']; diff --git a/apps/client/src/shared/configs/app-config.ts b/apps/client/src/shared/configs/app-config.ts index a88fe1c7..e1042c63 100644 --- a/apps/client/src/shared/configs/app-config.ts +++ b/apps/client/src/shared/configs/app-config.ts @@ -1,21 +1,18 @@ -import { routePath } from '@shared/router/path.ts'; - +import { routePath } from '@shared/router/path'; /** * ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด ์„ค์ •์„ ๊ด€๋ฆฌํ•˜๋Š” Config ํŒŒ์ผ */ const DEFAULT_CONFIG = { auth: { isEnabled: true, // ์ธ์ฆ ๊ธฐ๋Šฅ ํ™œ์„ฑํ™” ์—ฌ๋ถ€ - loginSuccessUrl: routePath.LOGIN_FALLBACK, loginFailureUrl: routePath.LOGIN, - kakaoLoginUrl: import.meta.env.VITE_KAKAO_LOGIN_URL || '', + kakaoLocalRedirectUrl: import.meta.env.VITE_KAKAO_LOCAL_REDIRECT_URI || '', + kakaoProdRedirectUrl: import.meta.env.VITE_KAKAO_PROD_REDIRECT_URI || '', }, - api: { baseUrl: import.meta.env.VITE_API_BASE_URL, - kakaoRedirectUrl: import.meta.env.VITE_KAKAO_REDIRECT_URI, }, }; diff --git a/apps/client/src/widgets/login/components/login-slide/kakao-login-button.tsx b/apps/client/src/widgets/login/components/login-slide/kakao-login-button.tsx index 8f025758..437feee5 100644 --- a/apps/client/src/widgets/login/components/login-slide/kakao-login-button.tsx +++ b/apps/client/src/widgets/login/components/login-slide/kakao-login-button.tsx @@ -1,14 +1,23 @@ import { Icon } from '@bds/ui/icons'; +import { appConfig } from '@shared/configs/app-config'; + import * as styles from './kakao-login-button.css'; const KakaoLoginButton = () => { - const handleStartLogin = () => { - window.location.href = import.meta.env.VITE_KAKAO_REDIRECT_URI; + const handleKakaoLogin = () => { + const redirectUri = + window.location.hostname === 'localhost' + ? appConfig.auth.kakaoLocalRedirectUrl + : appConfig.auth.kakaoProdRedirectUrl; + + const loginUrl = `${appConfig.auth.kakaoLoginUrl}&redirect_uri=${encodeURIComponent(redirectUri)}`; + + window.location.href = loginUrl; }; return ( -
+

์นด์นด์˜คํ†ก์œผ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ

diff --git a/apps/client/src/widgets/login/components/login-slide/login-slide.tsx b/apps/client/src/widgets/login/components/login-slide/login-slide.tsx index 4872b400..8d6370b5 100644 --- a/apps/client/src/widgets/login/components/login-slide/login-slide.tsx +++ b/apps/client/src/widgets/login/components/login-slide/login-slide.tsx @@ -24,7 +24,6 @@ const LoginSlide = () => {
{ } = useInfiniteQuery({ ...USER_QUERY_OPTIONS.ME_POSTS(), enabled: activeTab === PREVIEW_TABS.POSTS, - getNextPageParam: (lastPage) => - lastPage.isLast ? undefined : lastPage.nextCursor, - initialPageParam: 0, }); const { @@ -47,9 +44,6 @@ const Preview = () => { } = useInfiniteQuery({ ...USER_QUERY_OPTIONS.ME_COMMENTS(), enabled: activeTab === PREVIEW_TABS.COMMENTS, - getNextPageParam: (lastPage) => - lastPage.isLast ? undefined : lastPage.nextCursor, - initialPageParam: 0, }); const posts = postData?.pages.flatMap((page) => page.content ?? []) ?? []; diff --git a/apps/client/vite.config.ts b/apps/client/vite.config.ts index 57426e39..1100fc86 100644 --- a/apps/client/vite.config.ts +++ b/apps/client/vite.config.ts @@ -15,6 +15,14 @@ export default defineConfig({ iconDirs: [resolve(__dirname, '../../packages/bds-ui/src/icons')], symbolId: 'icon-[name]', inject: 'body-last', + svgoConfig: { + plugins: [ + { + name: 'removeDimensions', + active: true, + }, + ], + }, }), ], server: { diff --git a/package.json b/package.json index 87c92541..5c00a935 100644 --- a/package.json +++ b/package.json @@ -11,13 +11,17 @@ "preview": "vite preview", "prettier": "prettier --write .", "type-check": "tsc --noEmit -p ./tsconfig.json", - "commitlint-wrapper": "sh ./scripts/commitlint-wrapper.sh" + "commitlint-wrapper": "sh ./scripts/commitlint-wrapper.sh", + "changeset": "changeset", + "version": "changeset version", + "release": "pnpm build && changeset publish" }, "dependencies": { "react": "^19.1.0", "react-dom": "^19.1.0" }, "devDependencies": { + "@changesets/cli": "^2.29.5", "@commitlint/cli": "^19.8.1", "@commitlint/config-conventional": "^19.8.1", "@types/react": "^19.1.8", diff --git a/packages/bds-ui/CHANGELOG.md b/packages/bds-ui/CHANGELOG.md new file mode 100644 index 00000000..9b325191 --- /dev/null +++ b/packages/bds-ui/CHANGELOG.md @@ -0,0 +1,11 @@ +# @bds/ui + +## 1.0.0 + +### Major Changes + +- 5ec8413: first version control + +### Patch Changes + +- b887609: init version control diff --git a/packages/bds-ui/package.json b/packages/bds-ui/package.json index 6e083388..ee3a6bf1 100644 --- a/packages/bds-ui/package.json +++ b/packages/bds-ui/package.json @@ -1,6 +1,6 @@ { "name": "@bds/ui", - "version": "0.1.0", + "version": "1.0.0", "private": true, "exports": { ".": "./src/components/index.ts", diff --git a/packages/bds-ui/src/icons/assets/3d_brain.svg b/packages/bds-ui/src/icons/assets/3d_brain.svg index b3f6b652..80f4453b 100644 --- a/packages/bds-ui/src/icons/assets/3d_brain.svg +++ b/packages/bds-ui/src/icons/assets/3d_brain.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/3d_cancer.svg b/packages/bds-ui/src/icons/assets/3d_cancer.svg index 01f31fa6..048e41a5 100644 --- a/packages/bds-ui/src/icons/assets/3d_cancer.svg +++ b/packages/bds-ui/src/icons/assets/3d_cancer.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/3d_die.svg b/packages/bds-ui/src/icons/assets/3d_die.svg index 7d8164c9..035e316a 100644 --- a/packages/bds-ui/src/icons/assets/3d_die.svg +++ b/packages/bds-ui/src/icons/assets/3d_die.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/3d_disability.svg b/packages/bds-ui/src/icons/assets/3d_disability.svg index 3aaa997c..6a7dca24 100644 --- a/packages/bds-ui/src/icons/assets/3d_disability.svg +++ b/packages/bds-ui/src/icons/assets/3d_disability.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/3d_heart.svg b/packages/bds-ui/src/icons/assets/3d_heart.svg index 646a4ae7..2670b488 100644 --- a/packages/bds-ui/src/icons/assets/3d_heart.svg +++ b/packages/bds-ui/src/icons/assets/3d_heart.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/3d_hospital.svg b/packages/bds-ui/src/icons/assets/3d_hospital.svg index 41117c46..64d56ad3 100644 --- a/packages/bds-ui/src/icons/assets/3d_hospital.svg +++ b/packages/bds-ui/src/icons/assets/3d_hospital.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/3d_surgery.svg b/packages/bds-ui/src/icons/assets/3d_surgery.svg index 192dd892..a2da936d 100644 --- a/packages/bds-ui/src/icons/assets/3d_surgery.svg +++ b/packages/bds-ui/src/icons/assets/3d_surgery.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/btn_comment.svg b/packages/bds-ui/src/icons/assets/btn_comment.svg index 510d0479..3d349526 100644 --- a/packages/bds-ui/src/icons/assets/btn_comment.svg +++ b/packages/bds-ui/src/icons/assets/btn_comment.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/empty_writing.svg b/packages/bds-ui/src/icons/assets/empty_writing.svg index 86ea5710..47d0ae55 100644 --- a/packages/bds-ui/src/icons/assets/empty_writing.svg +++ b/packages/bds-ui/src/icons/assets/empty_writing.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/kakaotalk.svg b/packages/bds-ui/src/icons/assets/kakaotalk.svg index c64920a2..34cb3483 100644 --- a/packages/bds-ui/src/icons/assets/kakaotalk.svg +++ b/packages/bds-ui/src/icons/assets/kakaotalk.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/logotype_3d.svg b/packages/bds-ui/src/icons/assets/logotype_3d.svg index 8334198f..67a83dde 100644 --- a/packages/bds-ui/src/icons/assets/logotype_3d.svg +++ b/packages/bds-ui/src/icons/assets/logotype_3d.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/logotype_white.svg b/packages/bds-ui/src/icons/assets/logotype_white.svg index 7a11e718..158d98c3 100644 --- a/packages/bds-ui/src/icons/assets/logotype_white.svg +++ b/packages/bds-ui/src/icons/assets/logotype_white.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/bds-ui/src/icons/assets/page_selected.svg b/packages/bds-ui/src/icons/assets/page_selected.svg index 754e25c3..43fdd01d 100644 --- a/packages/bds-ui/src/icons/assets/page_selected.svg +++ b/packages/bds-ui/src/icons/assets/page_selected.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/bds-ui/src/icons/assets/page_unselected.svg b/packages/bds-ui/src/icons/assets/page_unselected.svg index 3615e7ca..2f120b96 100644 --- a/packages/bds-ui/src/icons/assets/page_unselected.svg +++ b/packages/bds-ui/src/icons/assets/page_unselected.svg @@ -1,3 +1,3 @@ - + diff --git a/packages/bds-ui/src/icons/assets/profile_fill.svg b/packages/bds-ui/src/icons/assets/profile_fill.svg index 108aabd7..c79a4bee 100644 --- a/packages/bds-ui/src/icons/assets/profile_fill.svg +++ b/packages/bds-ui/src/icons/assets/profile_fill.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/profile_none.svg b/packages/bds-ui/src/icons/assets/profile_none.svg index ddb2f75e..89e56cae 100644 --- a/packages/bds-ui/src/icons/assets/profile_none.svg +++ b/packages/bds-ui/src/icons/assets/profile_none.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/send.svg b/packages/bds-ui/src/icons/assets/send.svg index e7260f1e..d3bd757e 100644 --- a/packages/bds-ui/src/icons/assets/send.svg +++ b/packages/bds-ui/src/icons/assets/send.svg @@ -1,4 +1,4 @@ - + diff --git a/packages/bds-ui/src/icons/assets/user.svg b/packages/bds-ui/src/icons/assets/user.svg index d7a2dab8..909dc8f5 100644 --- a/packages/bds-ui/src/icons/assets/user.svg +++ b/packages/bds-ui/src/icons/assets/user.svg @@ -1,4 +1,4 @@ - + =6.9.0' } + '@babel/types@7.28.1': + resolution: + { + integrity: sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==, + } + engines: { node: '>=6.9.0' } + + '@changesets/apply-release-plan@7.0.12': + resolution: + { + integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==, + } + + '@changesets/assemble-release-plan@6.0.9': + resolution: + { + integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==, + } + + '@changesets/changelog-git@0.2.1': + resolution: + { + integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==, + } + + '@changesets/cli@2.29.5': + resolution: + { + integrity: sha512-0j0cPq3fgxt2dPdFsg4XvO+6L66RC0pZybT9F4dG5TBrLA3jA/1pNkdTXH9IBBVHkgsKrNKenI3n1mPyPlIydg==, + } + hasBin: true + + '@changesets/config@3.1.1': + resolution: + { + integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==, + } + + '@changesets/errors@0.2.0': + resolution: + { + integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==, + } + + '@changesets/get-dependents-graph@2.1.3': + resolution: + { + integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==, + } + + '@changesets/get-release-plan@4.0.13': + resolution: + { + integrity: sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==, + } + + '@changesets/get-version-range-type@0.4.0': + resolution: + { + integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==, + } + + '@changesets/git@3.0.4': + resolution: + { + integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==, + } + + '@changesets/logger@0.1.1': + resolution: + { + integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==, + } + + '@changesets/parse@0.4.1': + resolution: + { + integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==, + } + + '@changesets/pre@2.0.2': + resolution: + { + integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==, + } + + '@changesets/read@0.6.5': + resolution: + { + integrity: sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==, + } + + '@changesets/should-skip-package@0.1.2': + resolution: + { + integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==, + } + + '@changesets/types@4.1.0': + resolution: + { + integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==, + } + + '@changesets/types@6.1.0': + resolution: + { + integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==, + } + + '@changesets/write@0.4.0': + resolution: + { + integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==, + } + '@commitlint/cli@19.8.1': resolution: { @@ -596,6 +715,15 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.8': + resolution: + { + integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==, + } + engines: { node: '>=18' } + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.25.5': resolution: { @@ -605,6 +733,15 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.8': + resolution: + { + integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==, + } + engines: { node: '>=18' } + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.25.5': resolution: { @@ -614,6 +751,15 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.8': + resolution: + { + integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==, + } + engines: { node: '>=18' } + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.25.5': resolution: { @@ -623,6 +769,15 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.8': + resolution: + { + integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==, + } + engines: { node: '>=18' } + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.25.5': resolution: { @@ -632,6 +787,15 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.8': + resolution: + { + integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==, + } + engines: { node: '>=18' } + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.25.5': resolution: { @@ -641,6 +805,15 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.8': + resolution: + { + integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==, + } + engines: { node: '>=18' } + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.25.5': resolution: { @@ -650,6 +823,15 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.8': + resolution: + { + integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==, + } + engines: { node: '>=18' } + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.25.5': resolution: { @@ -659,6 +841,15 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.8': + resolution: + { + integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==, + } + engines: { node: '>=18' } + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.25.5': resolution: { @@ -668,6 +859,15 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.8': + resolution: + { + integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==, + } + engines: { node: '>=18' } + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.25.5': resolution: { @@ -677,6 +877,15 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.8': + resolution: + { + integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==, + } + engines: { node: '>=18' } + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.25.5': resolution: { @@ -686,6 +895,15 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.8': + resolution: + { + integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==, + } + engines: { node: '>=18' } + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.25.5': resolution: { @@ -695,6 +913,15 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.8': + resolution: + { + integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==, + } + engines: { node: '>=18' } + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.25.5': resolution: { @@ -704,6 +931,15 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.8': + resolution: + { + integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==, + } + engines: { node: '>=18' } + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.25.5': resolution: { @@ -713,6 +949,15 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.8': + resolution: + { + integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==, + } + engines: { node: '>=18' } + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.25.5': resolution: { @@ -722,6 +967,15 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.8': + resolution: + { + integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==, + } + engines: { node: '>=18' } + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.25.5': resolution: { @@ -731,6 +985,15 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.8': + resolution: + { + integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==, + } + engines: { node: '>=18' } + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.25.5': resolution: { @@ -740,6 +1003,15 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.8': + resolution: + { + integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==, + } + engines: { node: '>=18' } + cpu: [x64] + os: [linux] + '@esbuild/netbsd-arm64@0.25.5': resolution: { @@ -749,6 +1021,15 @@ packages: cpu: [arm64] os: [netbsd] + '@esbuild/netbsd-arm64@0.25.8': + resolution: + { + integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==, + } + engines: { node: '>=18' } + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.25.5': resolution: { @@ -758,6 +1039,15 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.8': + resolution: + { + integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==, + } + engines: { node: '>=18' } + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.25.5': resolution: { @@ -767,6 +1057,15 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.25.8': + resolution: + { + integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==, + } + engines: { node: '>=18' } + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.25.5': resolution: { @@ -776,6 +1075,24 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.8': + resolution: + { + integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==, + } + engines: { node: '>=18' } + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.25.8': + resolution: + { + integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==, + } + engines: { node: '>=18' } + cpu: [arm64] + os: [openharmony] + '@esbuild/sunos-x64@0.25.5': resolution: { @@ -785,6 +1102,15 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.8': + resolution: + { + integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==, + } + engines: { node: '>=18' } + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.25.5': resolution: { @@ -794,6 +1120,15 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.8': + resolution: + { + integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==, + } + engines: { node: '>=18' } + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.25.5': resolution: { @@ -803,6 +1138,15 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.8': + resolution: + { + integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==, + } + engines: { node: '>=18' } + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.25.5': resolution: { @@ -812,6 +1156,15 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.8': + resolution: + { + integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==, + } + engines: { node: '>=18' } + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.7.0': resolution: { @@ -914,6 +1267,18 @@ packages: integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, } + '@manypkg/find-root@1.1.0': + resolution: + { + integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==, + } + + '@manypkg/get-packages@1.1.3': + resolution: + { + integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==, + } + '@mdx-js/react@3.1.0': resolution: { @@ -944,13 +1309,13 @@ packages: } engines: { node: '>= 8' } - '@pivanov/vite-plugin-svg-sprite@3.0.0': + '@pivanov/vite-plugin-svg-sprite@3.1.2': resolution: { - integrity: sha512-XQWGmg3xTanQWnpwXqw9d5b4Un2Qij5vXsxmN3av3A9+YuJDhqPOlVcQFwf1JwRIsAEW66Yk7nS9SYtv/UfbCg==, + integrity: sha512-1vMY1pTZcfiGcAmJ4k7pWI90IXAaoNq/hRZuyJY1F2QHulc27+63S+AJIKVDqerE+xZh6bpUTMqKyWb25/tQnw==, } peerDependencies: - vite: ^2 || ^3 || ^4 || ^5 || ^6 + vite: ^2 || ^3 || ^4 || ^5 || ^6 || ^7 '@pkgjs/parseargs@0.11.0': resolution: @@ -985,16 +1350,10 @@ packages: } engines: { node: '>=18.17.0', npm: '>=9.5.0' } - '@rolldown/pluginutils@1.0.0-beta.11': - resolution: - { - integrity: sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==, - } - - '@rolldown/pluginutils@1.0.0-beta.19': + '@rolldown/pluginutils@1.0.0-beta.27': resolution: { - integrity: sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==, + integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==, } '@rollup/pluginutils@5.2.0': @@ -1017,6 +1376,14 @@ packages: cpu: [arm] os: [android] + '@rollup/rollup-android-arm-eabi@4.45.1': + resolution: + { + integrity: sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==, + } + cpu: [arm] + os: [android] + '@rollup/rollup-android-arm64@4.44.1': resolution: { @@ -1025,6 +1392,14 @@ packages: cpu: [arm64] os: [android] + '@rollup/rollup-android-arm64@4.45.1': + resolution: + { + integrity: sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==, + } + cpu: [arm64] + os: [android] + '@rollup/rollup-darwin-arm64@4.44.1': resolution: { @@ -1033,6 +1408,14 @@ packages: cpu: [arm64] os: [darwin] + '@rollup/rollup-darwin-arm64@4.45.1': + resolution: + { + integrity: sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==, + } + cpu: [arm64] + os: [darwin] + '@rollup/rollup-darwin-x64@4.44.1': resolution: { @@ -1041,6 +1424,14 @@ packages: cpu: [x64] os: [darwin] + '@rollup/rollup-darwin-x64@4.45.1': + resolution: + { + integrity: sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==, + } + cpu: [x64] + os: [darwin] + '@rollup/rollup-freebsd-arm64@4.44.1': resolution: { @@ -1049,6 +1440,14 @@ packages: cpu: [arm64] os: [freebsd] + '@rollup/rollup-freebsd-arm64@4.45.1': + resolution: + { + integrity: sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==, + } + cpu: [arm64] + os: [freebsd] + '@rollup/rollup-freebsd-x64@4.44.1': resolution: { @@ -1057,6 +1456,14 @@ packages: cpu: [x64] os: [freebsd] + '@rollup/rollup-freebsd-x64@4.45.1': + resolution: + { + integrity: sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==, + } + cpu: [x64] + os: [freebsd] + '@rollup/rollup-linux-arm-gnueabihf@4.44.1': resolution: { @@ -1065,6 +1472,14 @@ packages: cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-gnueabihf@4.45.1': + resolution: + { + integrity: sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==, + } + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.44.1': resolution: { @@ -1073,6 +1488,14 @@ packages: cpu: [arm] os: [linux] + '@rollup/rollup-linux-arm-musleabihf@4.45.1': + resolution: + { + integrity: sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==, + } + cpu: [arm] + os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.44.1': resolution: { @@ -1081,6 +1504,14 @@ packages: cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-gnu@4.45.1': + resolution: + { + integrity: sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==, + } + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-arm64-musl@4.44.1': resolution: { @@ -1089,6 +1520,14 @@ packages: cpu: [arm64] os: [linux] + '@rollup/rollup-linux-arm64-musl@4.45.1': + resolution: + { + integrity: sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==, + } + cpu: [arm64] + os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.44.1': resolution: { @@ -1097,6 +1536,14 @@ packages: cpu: [loong64] os: [linux] + '@rollup/rollup-linux-loongarch64-gnu@4.45.1': + resolution: + { + integrity: sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==, + } + cpu: [loong64] + os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.44.1': resolution: { @@ -1105,6 +1552,14 @@ packages: cpu: [ppc64] os: [linux] + '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': + resolution: + { + integrity: sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==, + } + cpu: [ppc64] + os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.44.1': resolution: { @@ -1113,6 +1568,14 @@ packages: cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-gnu@4.45.1': + resolution: + { + integrity: sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==, + } + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-riscv64-musl@4.44.1': resolution: { @@ -1121,6 +1584,14 @@ packages: cpu: [riscv64] os: [linux] + '@rollup/rollup-linux-riscv64-musl@4.45.1': + resolution: + { + integrity: sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==, + } + cpu: [riscv64] + os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.44.1': resolution: { @@ -1129,6 +1600,14 @@ packages: cpu: [s390x] os: [linux] + '@rollup/rollup-linux-s390x-gnu@4.45.1': + resolution: + { + integrity: sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==, + } + cpu: [s390x] + os: [linux] + '@rollup/rollup-linux-x64-gnu@4.44.1': resolution: { @@ -1137,6 +1616,14 @@ packages: cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-gnu@4.45.1': + resolution: + { + integrity: sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==, + } + cpu: [x64] + os: [linux] + '@rollup/rollup-linux-x64-musl@4.44.1': resolution: { @@ -1145,10 +1632,26 @@ packages: cpu: [x64] os: [linux] + '@rollup/rollup-linux-x64-musl@4.45.1': + resolution: + { + integrity: sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==, + } + cpu: [x64] + os: [linux] + '@rollup/rollup-win32-arm64-msvc@4.44.1': resolution: { - integrity: sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==, + integrity: sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==, + } + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-arm64-msvc@4.45.1': + resolution: + { + integrity: sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==, } cpu: [arm64] os: [win32] @@ -1161,6 +1664,14 @@ packages: cpu: [ia32] os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.45.1': + resolution: + { + integrity: sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==, + } + cpu: [ia32] + os: [win32] + '@rollup/rollup-win32-x64-msvc@4.44.1': resolution: { @@ -1169,6 +1680,14 @@ packages: cpu: [x64] os: [win32] + '@rollup/rollup-win32-x64-msvc@4.45.1': + resolution: + { + integrity: sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==, + } + cpu: [x64] + os: [win32] + '@storybook/addon-a11y@8.6.14': resolution: { @@ -1424,100 +1943,100 @@ packages: peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@swc/core-darwin-arm64@1.12.9': + '@swc/core-darwin-arm64@1.13.2': resolution: { - integrity: sha512-GACFEp4nD6V+TZNR2JwbMZRHB+Yyvp14FrcmB6UCUYmhuNWjkxi+CLnEvdbuiKyQYv0zA+TRpCHZ+whEs6gwfA==, + integrity: sha512-44p7ivuLSGFJ15Vly4ivLJjg3ARo4879LtEBAabcHhSZygpmkP8eyjyWxrH3OxkY1eRZSIJe8yRZPFw4kPXFPw==, } engines: { node: '>=10' } cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.12.9': + '@swc/core-darwin-x64@1.13.2': resolution: { - integrity: sha512-hv2kls7Ilkm2EpeJz+I9MCil7pGS3z55ZAgZfxklEuYsxpICycxeH+RNRv4EraggN44ms+FWCjtZFu0LGg2V3g==, + integrity: sha512-Lb9EZi7X2XDAVmuUlBm2UvVAgSCbD3qKqDCxSI4jEOddzVOpNCnyZ/xEampdngUIyDDhhJLYU9duC+Mcsv5Y+A==, } engines: { node: '>=10' } cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.12.9': + '@swc/core-linux-arm-gnueabihf@1.13.2': resolution: { - integrity: sha512-od9tDPiG+wMU9wKtd6y3nYJdNqgDOyLdgRRcrj1/hrbHoUPOM8wZQZdwQYGarw63iLXGgsw7t5HAF9Yc51ilFA==, + integrity: sha512-9TDe/92ee1x57x+0OqL1huG4BeljVx0nWW4QOOxp8CCK67Rpc/HHl2wciJ0Kl9Dxf2NvpNtkPvqj9+BUmM9WVA==, } engines: { node: '>=10' } cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.12.9': + '@swc/core-linux-arm64-gnu@1.13.2': resolution: { - integrity: sha512-6qx1ka9LHcLzxIgn2Mros+CZLkHK2TawlXzi/h7DJeNnzi8F1Hw0Yzjp8WimxNCg6s2n+o3jnmin1oXB7gg8rw==, + integrity: sha512-KJUSl56DBk7AWMAIEcU83zl5mg3vlQYhLELhjwRFkGFMvghQvdqQ3zFOYa4TexKA7noBZa3C8fb24rI5sw9Exg==, } engines: { node: '>=10' } cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.12.9': + '@swc/core-linux-arm64-musl@1.13.2': resolution: { - integrity: sha512-yghFZWKPVVGbUdqiD7ft23G0JX6YFGDJPz9YbLLAwGuKZ9th3/jlWoQDAw1Naci31LQhVC+oIji6ozihSuwB2A==, + integrity: sha512-teU27iG1oyWpNh9CzcGQ48ClDRt/RCem7mYO7ehd2FY102UeTws2+OzLESS1TS1tEZipq/5xwx3FzbVgiolCiQ==, } engines: { node: '>=10' } cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.12.9': + '@swc/core-linux-x64-gnu@1.13.2': resolution: { - integrity: sha512-SFUxyhWLZRNL8QmgGNqdi2Q43PNyFVkRZ2zIif30SOGFSxnxcf2JNeSeBgKIGVgaLSuk6xFVVCtJ3KIeaStgRg==, + integrity: sha512-dRPsyPyqpLD0HMRCRpYALIh4kdOir8pPg4AhNQZLehKowigRd30RcLXGNVZcc31Ua8CiPI4QSgjOIxK+EQe4LQ==, } engines: { node: '>=10' } cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.12.9': + '@swc/core-linux-x64-musl@1.13.2': resolution: { - integrity: sha512-9FB0wM+6idCGTI20YsBNBg9xSWtkDBymnpaTCsZM3qDc0l4uOpJMqbfWhQvp17x7r/ulZfb2QY8RDvQmCL6AcQ==, + integrity: sha512-CCxETW+KkYEQDqz1SYC15YIWYheqFC+PJVOW76Maa/8yu8Biw+HTAcblKf2isrlUtK8RvrQN94v3UXkC2NzCEw==, } engines: { node: '>=10' } cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.12.9': + '@swc/core-win32-arm64-msvc@1.13.2': resolution: { - integrity: sha512-zHOusMVbOH9ik5RtRrMiGzLpKwxrPXgXkBm3SbUCa65HAdjV33NZ0/R9Rv1uPESALtEl2tzMYLUxYA5ECFDFhA==, + integrity: sha512-Wv/QTA6PjyRLlmKcN6AmSI4jwSMRl0VTLGs57PHTqYRwwfwd7y4s2fIPJVBNbAlXd795dOEP6d/bGSQSyhOX3A==, } engines: { node: '>=10' } cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.12.9': + '@swc/core-win32-ia32-msvc@1.13.2': resolution: { - integrity: sha512-aWZf0PqE0ot7tCuhAjRkDFf41AzzSQO0x2xRfTbnhpROp57BRJ/N5eee1VULO/UA2PIJRG7GKQky5bSGBYlFug==, + integrity: sha512-PuCdtNynEkUNbUXX/wsyUC+t4mamIU5y00lT5vJcAvco3/r16Iaxl5UCzhXYaWZSNVZMzPp9qN8NlSL8M5pPxw==, } engines: { node: '>=10' } cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.12.9': + '@swc/core-win32-x64-msvc@1.13.2': resolution: { - integrity: sha512-C25fYftXOras3P3anSUeXXIpxmEkdAcsIL9yrr0j1xepTZ/yKwpnQ6g3coj8UXdeJy4GTVlR6+Ow/QiBgZQNOg==, + integrity: sha512-qlmMkFZJus8cYuBURx1a3YAG2G7IW44i+FEYV5/32ylKkzGNAr9tDJSA53XNnNXkAB5EXSPsOz7bn5C3JlEtdQ==, } engines: { node: '>=10' } cpu: [x64] os: [win32] - '@swc/core@1.12.9': + '@swc/core@1.13.2': resolution: { - integrity: sha512-O+LfT2JlVMsIMWG9x+rdxg8GzpzeGtCZQfXV7cKc1PjIKUkLFf1QJ7okuseA4f/9vncu37dQ2ZcRrPKy0Ndd5g==, + integrity: sha512-YWqn+0IKXDhqVLKoac4v2tV6hJqB/wOh8/Br8zjqeqBkKa77Qb0Kw2i7LOFzjFNZbZaPH6AlMGlBwNrxaauaAg==, } engines: { node: '>=10' } peerDependencies: @@ -1538,10 +2057,10 @@ packages: integrity: sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw==, } - '@tanstack/query-core@5.81.5': + '@tanstack/query-core@5.83.0': resolution: { - integrity: sha512-ZJOgCy/z2qpZXWaj/oxvodDx07XcQa9BF92c0oINjHkoqUPsmm3uG08HpTaviviZ/N9eP1f9CM7mKSEkIo7O1Q==, + integrity: sha512-0M8dA+amXUkyz5cVUm/B+zSk3xkQAcuXuz5/Q/LveT4ots2rBpPTZOzd7yJa2Utsf8D2Upl5KyjhHRY+9lB/XA==, } '@tanstack/query-devtools@5.81.2': @@ -1550,19 +2069,19 @@ packages: integrity: sha512-jCeJcDCwKfoyyBXjXe9+Lo8aTkavygHHsUHAlxQKKaDeyT0qyQNLKl7+UyqYH2dDF6UN/14873IPBHchcsU+Zg==, } - '@tanstack/react-query-devtools@5.81.5': + '@tanstack/react-query-devtools@5.83.0': resolution: { - integrity: sha512-lCGMu4RX0uGnlrlLeSckBfnW/UV+KMlTBVqa97cwK7Z2ED5JKnZRSjNXwoma6sQBTJrcULvzgx2K6jEPvNUpDw==, + integrity: sha512-yfp8Uqd3I1jgx8gl0lxbSSESu5y4MO2ThOPBnGNTYs0P+ZFu+E9g5IdOngyUGuo6Uz6Qa7p9TLdZEX3ntik2fQ==, } peerDependencies: - '@tanstack/react-query': ^5.81.5 + '@tanstack/react-query': ^5.83.0 react: ^18 || ^19 - '@tanstack/react-query@5.81.5': + '@tanstack/react-query@5.83.0': resolution: { - integrity: sha512-lOf2KqRRiYWpQT86eeeftAGnjuTR35myTP8MXyvHa81VlomoAWNEd8x5vkcAfQefu0qtYCvyqLropFZqgI2EQw==, + integrity: sha512-/XGYhZ3foc5H0VM2jLSD/NyBRIOK4q9kfeml4+0x2DlL6xVuAcVEW+hTlTapAmejObg0i3eNqhkr2dT+eciwoQ==, } peerDependencies: react: ^18 || ^19 @@ -1602,13 +2121,6 @@ packages: integrity: sha512-72qJyUVyyNC7d4EOKVyjPQH3UH3GnVSAo3mM+3vqGVTgh84vPPW3KPFvrV/DZe33dHMygCUsmIhnP9G5T5n9AQ==, } - '@trysound/sax@0.2.0': - resolution: - { - integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==, - } - engines: { node: '>=10.13.0' } - '@tsconfig/node10@1.0.11': resolution: { @@ -1726,10 +2238,22 @@ packages: } deprecated: This is a stub types definition. minimatch provides its own type definitions, so you do not need this installed. - '@types/node@20.19.4': + '@types/node@12.20.55': + resolution: + { + integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==, + } + + '@types/node@20.19.9': + resolution: + { + integrity: sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==, + } + + '@types/node@24.1.0': resolution: { - integrity: sha512-OP+We5WV8Xnbuvw0zC2m4qfB/BJvjyCwtNjhHdJxV1639SGSKrLmJkc3fMnp2Qy8nJyHp8RO6umxELN/dS1/EA==, + integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==, } '@types/react-dom@19.1.6': @@ -1918,22 +2442,22 @@ packages: peerDependencies: vite: ^5.0.0 || ^6.0.0 - '@vitejs/plugin-react-swc@3.10.2': + '@vitejs/plugin-react-swc@3.11.0': resolution: { - integrity: sha512-xD3Rdvrt5LgANug7WekBn1KhcvLn1H3jNBfJRL3reeOIua/WnZOEV5qi5qIBq5T8R0jUDmRtxuvk4bPhzGHDWw==, + integrity: sha512-YTJCGFdNMHCMfjODYtxRNVAYmTWQ1Lb8PulP/2/f/oEEtglw8oKxKIZmmRkyXrVrHfsKOaVkAc3NT9/dMutO5w==, } peerDependencies: - vite: ^4 || ^5 || ^6 || ^7.0.0-beta.0 + vite: ^4 || ^5 || ^6 || ^7 - '@vitejs/plugin-react@4.6.0': + '@vitejs/plugin-react@4.7.0': resolution: { - integrity: sha512-5Kgff+m8e2PB+9j51eGHEpn5kUzRKH2Ry0qGoe8ItJg7pqnkPrYPkDQZGgGmTa0EGarHrkjLvOdU3b1fzI8otQ==, + integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==, } engines: { node: ^14.18.0 || >=16.0.0 } peerDependencies: - vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 '@vitest/expect@2.0.5': resolution: @@ -2089,6 +2613,12 @@ packages: integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, } + argparse@1.0.10: + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, + } + argparse@2.0.1: resolution: { @@ -2238,6 +2768,13 @@ packages: } engines: { node: '>=12.0.0' } + better-path-resolve@1.0.0: + resolution: + { + integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==, + } + engines: { node: '>=4' } + bl@4.1.0: resolution: { @@ -2431,6 +2968,13 @@ packages: '@chromatic-com/playwright': optional: true + ci-info@3.9.0: + resolution: + { + integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==, + } + engines: { node: '>=8' } + clean-stack@2.2.0: resolution: { @@ -2511,12 +3055,12 @@ packages: } engines: { node: '>=14' } - commander@7.2.0: + commander@11.1.0: resolution: { - integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==, + integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==, } - engines: { node: '>= 10' } + engines: { node: '>=16' } compare-func@2.0.0: resolution: @@ -2632,10 +3176,10 @@ packages: } engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0' } - css-tree@2.3.1: + css-tree@3.1.0: resolution: { - integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==, + integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==, } engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 } @@ -2812,6 +3356,13 @@ packages: } engines: { node: '>=6' } + detect-indent@6.1.0: + resolution: + { + integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==, + } + engines: { node: '>=8' } + diff@4.0.2: resolution: { @@ -2934,6 +3485,13 @@ packages: integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==, } + enquirer@2.4.1: + resolution: + { + integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==, + } + engines: { node: '>=8.6' } + entities@4.5.0: resolution: { @@ -3039,6 +3597,14 @@ packages: engines: { node: '>=18' } hasBin: true + esbuild@0.25.8: + resolution: + { + integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==, + } + engines: { node: '>=18' } + hasBin: true + escalade@3.2.0: resolution: { @@ -3068,19 +3634,19 @@ packages: engines: { node: '>=6.0' } hasBin: true - eslint-config-prettier@10.1.5: + eslint-config-prettier@10.1.8: resolution: { - integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==, + integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==, } hasBin: true peerDependencies: eslint: '>=7.0.0' - eslint-config-turbo@2.5.4: + eslint-config-turbo@2.5.5: resolution: { - integrity: sha512-OpjpDLXIaus0N/Y+pMj17K430xjpd6WTo0xPUESqYZ9BkMngv2n0ZdjktgJTbJVnDmK7gHrXgJAljtdIMcYBIg==, + integrity: sha512-23lKrCr66HQR62aa94n2dBGUUFz0GzM6N1KwmcREZHxomZ5Ik2rDm00wAz95lOEkhzSt6IaxW00Uz0az/Fcq5Q==, } peerDependencies: eslint: '>6.6.0' @@ -3093,10 +3659,10 @@ packages: } engines: { node: '>=6' } - eslint-plugin-prettier@5.5.1: + eslint-plugin-prettier@5.5.3: resolution: { - integrity: sha512-dobTkHT6XaEVOo8IO90Q4DOSxnm3Y151QxPJlM/vKC0bVy+d6cVWQZLlFiuZPP0wS6vZwSKeJgKkcS+KfMBlRw==, + integrity: sha512-NAdMYww51ehKfDyDhv59/eIItUVzU0Io9H2E8nHNGKEeeqlnci+1gCvrHib6EmZdf6GxF+LCV5K7UC65Ezvw7w==, } engines: { node: ^14.18.0 || >=16.0.0 } peerDependencies: @@ -3144,10 +3710,10 @@ packages: peerDependencies: eslint: '>=5.0.0' - eslint-plugin-turbo@2.5.4: + eslint-plugin-turbo@2.5.5: resolution: { - integrity: sha512-IZsW61DFj5mLMMaCJxhh1VE4HvNhfdnHnAaXajgne+LUzdyHk2NvYT0ECSa/1SssArcqgTvV74MrLL68hWLLFw==, + integrity: sha512-IlN65X6W7rgK88u5xl1xC+7FIGKA7eyaca0yxZQ9CBNV6keAaqtjZQLw8ZfXdv7T+MzTLYkYOeOHAv8yCRUx4Q==, } peerDependencies: eslint: '>6.6.0' @@ -3259,6 +3825,12 @@ packages: } engines: { node: '>=10' } + extendable-error@0.1.7: + resolution: + { + integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==, + } + external-editor@3.1.0: resolution: { @@ -3341,6 +3913,13 @@ packages: } engines: { node: '>=8' } + find-up@4.1.0: + resolution: + { + integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, + } + engines: { node: '>=8' } + find-up@5.0.0: resolution: { @@ -3389,6 +3968,20 @@ packages: } engines: { node: '>=12' } + fs-extra@7.0.1: + resolution: + { + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, + } + engines: { node: '>=6 <7 || >=8' } + + fs-extra@8.1.0: + resolution: + { + integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==, + } + engines: { node: '>=6 <7 || >=8' } + fs.realpath@1.0.0: resolution: { @@ -3676,6 +4269,13 @@ packages: } engines: { node: '>= 14' } + human-id@4.1.1: + resolution: + { + integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==, + } + hasBin: true + human-signals@2.1.0: resolution: { @@ -4007,6 +4607,13 @@ packages: } engines: { node: '>= 0.4' } + is-subdir@1.2.0: + resolution: + { + integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==, + } + engines: { node: '>=4' } + is-symbol@1.1.1: resolution: { @@ -4062,6 +4669,13 @@ packages: } engines: { node: '>= 0.4' } + is-windows@1.0.2: + resolution: + { + integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==, + } + engines: { node: '>=0.10.0' } + is-wsl@2.2.0: resolution: { @@ -4127,6 +4741,13 @@ packages: integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, } + js-yaml@3.14.1: + resolution: + { + integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, + } + hasBin: true + js-yaml@4.1.0: resolution: { @@ -4193,6 +4814,12 @@ packages: engines: { node: '>=6' } hasBin: true + jsonfile@4.0.0: + resolution: + { + integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, + } + jsonfile@6.1.0: resolution: { @@ -4219,90 +4846,90 @@ packages: integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, } - lefthook-darwin-arm64@1.11.16: + lefthook-darwin-arm64@1.12.2: resolution: { - integrity: sha512-ThsVyHPexHax7aZYpFbsswk5HPR2ap3zsJ1yE189Y97U+tLEHS+Mq98MqC1U1zFm0Ts42gpGDBx6chIRjx7Uig==, + integrity: sha512-fTxeI9tEskrHjc3QyEO+AG7impBXY2Ed8V5aiRc3fw9POfYtVh9b5jRx90fjk2+ld5hf+Z1DsyyLq/vOHDFskQ==, } cpu: [arm64] os: [darwin] - lefthook-darwin-x64@1.11.16: + lefthook-darwin-x64@1.12.2: resolution: { - integrity: sha512-P3QtUJ/ICX3l+ZJqqKGyovT6Hi2N60Vt8znGglJ+OeCpVMc6H6N0ID37+jHlnyjO9AfL4EkAj70vwYe8Fzfjsw==, + integrity: sha512-T1dCDKAAfdHgYZ8qtrS02SJSHoR52RFcrGArFNll9Mu4ZSV19Sp8BO+kTwDUOcLYdcPGNaqOp9PkRBQGZWQC7g==, } cpu: [x64] os: [darwin] - lefthook-freebsd-arm64@1.11.16: + lefthook-freebsd-arm64@1.12.2: resolution: { - integrity: sha512-X0EyVoCg4+nczJDZ0rc0gpZHOrLr4Nk7knoYFKrBnvutuMCs9ixU+tA4sV8pu4KT13gigbXkxjKlIN7QUqFCxg==, + integrity: sha512-2n9z7Q4BKeMBoB9cuEdv0UBQH82Z4GgBQpCrfjCtyzpDnYQwrH8Tkrlnlko4qPh9MM6nLLGIYMKsA5nltzo8Cg==, } cpu: [arm64] os: [freebsd] - lefthook-freebsd-x64@1.11.16: + lefthook-freebsd-x64@1.12.2: resolution: { - integrity: sha512-m2nfcpz2i4AdQ9fZqcoTCxAFotqXHYzUThgqcRyMaPHjlpy+ZmVnopppt9MS4GfDDq+dqjka28ZZObE7T1Nb5g==, + integrity: sha512-1hNY/irY+/3kjRzKoJYxG+m3BYI8QxopJUK1PQnknGo1Wy5u302SdX+tR7pnpz6JM5chrNw4ozSbKKOvdZ5VEw==, } cpu: [x64] os: [freebsd] - lefthook-linux-arm64@1.11.16: + lefthook-linux-arm64@1.12.2: resolution: { - integrity: sha512-mXwCXs5J1qyq6QmBXFy2/YYG0sCzz1C0sfnzLdgXoAAmhEFfA4wy/DX/jNbvMPvRLfKHiXtf3eaqjLEYg9CGjQ==, + integrity: sha512-1W4swYIVRkxq/LFTuuK4oVpd6NtTKY4E3VY2Uq2JDkIOJV46+8qGBF+C/QA9K3O9chLffgN7c+i+NhIuGiZ/Vw==, } cpu: [arm64] os: [linux] - lefthook-linux-x64@1.11.16: + lefthook-linux-x64@1.12.2: resolution: { - integrity: sha512-MW1ClFIk3uTfpOCm+FGW8NZbXWA6Xdf/eUw6//mEVs3Q4EsZ4GYZn0AFRMrsaXxbSZnvAPhtNoEVqRfYWjWKBQ==, + integrity: sha512-J6VGuMfhq5iCsg1Pv7xULbuXC63gP5LaikT0PhkyBNMi3HQneZFDJ8k/sp0Ue9HkQv6QfWIo3/FgB9gz38MCFw==, } cpu: [x64] os: [linux] - lefthook-openbsd-arm64@1.11.16: + lefthook-openbsd-arm64@1.12.2: resolution: { - integrity: sha512-6Aqjyc2TkkEpogsUvzLSdMAy/fN6YHlq3XA47N7VNc0Ke0XP/XIImb0zEPsYDjrdNqZbEKoXn+IYkValtS5DXg==, + integrity: sha512-wncDRW3ml24DaOyH22KINumjvCohswbQqbxyH2GORRCykSnE859cTjOrRIchTKBIARF7PSeGPUtS7EK0+oDbaw==, } cpu: [arm64] os: [openbsd] - lefthook-openbsd-x64@1.11.16: + lefthook-openbsd-x64@1.12.2: resolution: { - integrity: sha512-ierlKlnrUe1ML6F3JFgFllgy71qY1S5I2wOclI3yh2EGykAJIUmdkgz/f0KT1slV2aXeSP+QgBTu496WzZSjIg==, + integrity: sha512-2jDOkCHNnc/oK/vR62hAf3vZb1EQ6Md2GjIlgZ/V7A3ztOsM8QZ5IxwYN3D1UOIR5ZnwMBy7PtmTJC/HJrig5w==, } cpu: [x64] os: [openbsd] - lefthook-windows-arm64@1.11.16: + lefthook-windows-arm64@1.12.2: resolution: { - integrity: sha512-AAjDKWOExTS1XlSvNNIa3YIJbf90SZ5X0NSA7EgHobegadLcLrkl3aX+2zcw+yvpm1AOF0WUZdYxkAHL5MNQOg==, + integrity: sha512-ZMH/q6UNSidhHEG/1QoqIl1n4yPTBWuVmKx5bONtKHicoz4QCQ+QEiNjKsG5OO4C62nfyHGThmweCzZVUQECJw==, } cpu: [arm64] os: [win32] - lefthook-windows-x64@1.11.16: + lefthook-windows-x64@1.12.2: resolution: { - integrity: sha512-qOEAinMMV5rlf4C0VPSIlPaj5nh2CD4lzAv7+nAUydDiDQcVkkPbiwCaRkSVX509k6SctDCYQhtBnG/bwdREFQ==, + integrity: sha512-TqT2jIPcTQ9uwaw+v+DTmvnUHM/p7bbsSrPoPX+fRXSGLzFjyiY+12C9dObSwfCQq6rT70xqQJ9AmftJQsa5/Q==, } cpu: [x64] os: [win32] - lefthook@1.11.16: + lefthook@1.12.2: resolution: { - integrity: sha512-NbFZaAJUEiwBv6Npg7TZOCo9Bxh8VUSuBZ55CTulH9roQjknSXQWgGYz9FaHvqVeMBf7Xog2Wk84Ce7gWrWlYw==, + integrity: sha512-2CeTu5NcmoT9YnqsHTq/TF36MlqlzHzhivGx3DrXHwcff4TdvrkIwUTA56huM3Nlo5ODAF/0hlPzaKLmNHCBnQ==, } hasBin: true @@ -4319,6 +4946,13 @@ packages: integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, } + locate-path@5.0.0: + resolution: + { + integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, + } + engines: { node: '>=8' } + locate-path@6.0.0: resolution: { @@ -4518,10 +5152,10 @@ packages: integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==, } - mdn-data@2.0.30: + mdn-data@2.12.2: resolution: { - integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==, + integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==, } media-query-parser@2.0.2: @@ -4629,6 +5263,13 @@ packages: integrity: sha512-sEKPVl2rM+MNVkGQt3ChdmD8YsigmXdn5NifZn6jiwn9LRJpWm8F3guhaqrJT/JOat6pwpbXEk6kv+b9DMIjsQ==, } + mri@1.2.0: + resolution: + { + integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, + } + engines: { node: '>=4' } + ms@2.1.3: resolution: { @@ -4812,6 +5453,12 @@ packages: } engines: { node: '>=0.10.0' } + outdent@0.5.0: + resolution: + { + integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==, + } + own-keys@1.0.1: resolution: { @@ -4819,6 +5466,20 @@ packages: } engines: { node: '>= 0.4' } + p-filter@2.1.0: + resolution: + { + integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==, + } + engines: { node: '>=8' } + + p-limit@2.3.0: + resolution: + { + integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, + } + engines: { node: '>=6' } + p-limit@3.1.0: resolution: { @@ -4833,6 +5494,13 @@ packages: } engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + p-locate@4.1.0: + resolution: + { + integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, + } + engines: { node: '>=8' } + p-locate@5.0.0: resolution: { @@ -4847,6 +5515,13 @@ packages: } engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + p-map@2.1.0: + resolution: + { + integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==, + } + engines: { node: '>=6' } + p-map@3.0.0: resolution: { @@ -4854,6 +5529,13 @@ packages: } engines: { node: '>=8' } + p-try@2.2.0: + resolution: + { + integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, + } + engines: { node: '>=6' } + pac-proxy-agent@7.2.0: resolution: { @@ -4874,6 +5556,12 @@ packages: integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==, } + package-manager-detector@0.2.11: + resolution: + { + integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==, + } + param-case@2.1.1: resolution: { @@ -5012,6 +5700,13 @@ packages: } engines: { node: '>=12' } + pify@4.0.1: + resolution: + { + integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==, + } + engines: { node: '>=6' } + pkg-types@1.3.1: resolution: { @@ -5060,6 +5755,14 @@ packages: } engines: { node: '>=6.0.0' } + prettier@2.8.8: + resolution: + { + integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==, + } + engines: { node: '>=10.13.0' } + hasBin: true + prettier@3.6.2: resolution: { @@ -5108,6 +5811,12 @@ packages: } engines: { node: '>=6' } + quansync@0.2.10: + resolution: + { + integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==, + } + queue-microtask@1.2.3: resolution: { @@ -5171,20 +5880,20 @@ packages: } engines: { node: '>=0.10.0' } - react-router-dom@7.6.3: + react-router-dom@7.7.0: resolution: { - integrity: sha512-DiWJm9qdUAmiJrVWaeJdu4TKu13+iB/8IEi0EW/XgaHCjW/vWGrwzup0GVvaMteuZjKnh5bEvJP/K0MDnzawHw==, + integrity: sha512-wwGS19VkNBkneVh9/YD0pK3IsjWxQUVMDD6drlG7eJpo1rXBtctBqDyBm/k+oKHRAm1x9XWT3JFC82QI9YOXXA==, } engines: { node: '>=20.0.0' } peerDependencies: react: '>=18' react-dom: '>=18' - react-router@7.6.3: + react-router@7.7.0: resolution: { - integrity: sha512-zf45LZp5skDC6I3jDLXQUu0u26jtuP4lEGbc7BbdyxenBN1vJSTA18czM2D+h5qyMBuMrD+9uB+mU37HIoKGRA==, + integrity: sha512-3FUYSwlvB/5wRJVTL/aavqHmfUKe0+Xm9MllkYgGo9eDwNdkvwlJGjpPxono1kCycLt6AnDTgjmXvK3/B4QGuw==, } engines: { node: '>=20.0.0' } peerDependencies: @@ -5201,6 +5910,13 @@ packages: } engines: { node: '>=0.10.0' } + read-yaml-file@1.1.0: + resolution: + { + integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==, + } + engines: { node: '>=6' } + readable-stream@3.6.2: resolution: { @@ -5341,6 +6057,14 @@ packages: engines: { node: '>=18.0.0', npm: '>=8.0.0' } hasBin: true + rollup@4.45.1: + resolution: + { + integrity: sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==, + } + engines: { node: '>=18.0.0', npm: '>=8.0.0' } + hasBin: true + run-async@2.4.1: resolution: { @@ -5400,6 +6124,12 @@ packages: integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, } + sax@1.4.1: + resolution: + { + integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==, + } + scheduler@0.26.0: resolution: { @@ -5557,6 +6287,12 @@ packages: } engines: { node: '>=0.10.0' } + spawndamnit@3.0.1: + resolution: + { + integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==, + } + split2@4.2.0: resolution: { @@ -5564,6 +6300,12 @@ packages: } engines: { node: '>= 10.x' } + sprintf-js@1.0.3: + resolution: + { + integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, + } + sprintf-js@1.1.3: resolution: { @@ -5727,12 +6469,12 @@ packages: } engines: { node: '>= 0.4' } - svgo@3.3.2: + svgo@4.0.0: resolution: { - integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==, + integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==, } - engines: { node: '>=14.0.0' } + engines: { node: '>=16' } hasBin: true swap-case@1.1.2: @@ -5755,6 +6497,13 @@ packages: } engines: { node: ^14.18.0 || >=16.0.0 } + term-size@2.2.1: + resolution: + { + integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==, + } + engines: { node: '>=8' } + text-extensions@2.4.0: resolution: { @@ -5912,58 +6661,58 @@ packages: engines: { node: '>=18.0.0' } hasBin: true - turbo-darwin-64@2.5.4: + turbo-darwin-64@2.5.5: resolution: { - integrity: sha512-ah6YnH2dErojhFooxEzmvsoZQTMImaruZhFPfMKPBq8sb+hALRdvBNLqfc8NWlZq576FkfRZ/MSi4SHvVFT9PQ==, + integrity: sha512-RYnTz49u4F5tDD2SUwwtlynABNBAfbyT2uU/brJcyh5k6lDLyNfYKdKmqd3K2ls4AaiALWrFKVSBsiVwhdFNzQ==, } cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.5.4: + turbo-darwin-arm64@2.5.5: resolution: { - integrity: sha512-2+Nx6LAyuXw2MdXb7pxqle3MYignLvS7OwtsP9SgtSBaMlnNlxl9BovzqdYAgkUW3AsYiQMJ/wBRb7d+xemM5A==, + integrity: sha512-Tk+ZeSNdBobZiMw9aFypQt0DlLsWSFWu1ymqsAdJLuPoAH05qCfYtRxE1pJuYHcJB5pqI+/HOxtJoQ40726Btw==, } cpu: [arm64] os: [darwin] - turbo-linux-64@2.5.4: + turbo-linux-64@2.5.5: resolution: { - integrity: sha512-5May2kjWbc8w4XxswGAl74GZ5eM4Gr6IiroqdLhXeXyfvWEdm2mFYCSWOzz0/z5cAgqyGidF1jt1qzUR8hTmOA==, + integrity: sha512-2/XvMGykD7VgsvWesZZYIIVXMlgBcQy+ZAryjugoTcvJv8TZzSU/B1nShcA7IAjZ0q7OsZ45uP2cOb8EgKT30w==, } cpu: [x64] os: [linux] - turbo-linux-arm64@2.5.4: + turbo-linux-arm64@2.5.5: resolution: { - integrity: sha512-/2yqFaS3TbfxV3P5yG2JUI79P7OUQKOUvAnx4MV9Bdz6jqHsHwc9WZPpO4QseQm+NvmgY6ICORnoVPODxGUiJg==, + integrity: sha512-DW+8CjCjybu0d7TFm9dovTTVg1VRnlkZ1rceO4zqsaLrit3DgHnN4to4uwyuf9s2V/BwS3IYcRy+HG9BL596Iw==, } cpu: [arm64] os: [linux] - turbo-windows-64@2.5.4: + turbo-windows-64@2.5.5: resolution: { - integrity: sha512-EQUO4SmaCDhO6zYohxIjJpOKRN3wlfU7jMAj3CgcyTPvQR/UFLEKAYHqJOnJtymbQmiiM/ihX6c6W6Uq0yC7mA==, + integrity: sha512-q5p1BOy8ChtSZfULuF1BhFMYIx6bevXu4fJ+TE/hyNfyHJIfjl90Z6jWdqAlyaFLmn99X/uw+7d6T/Y/dr5JwQ==, } cpu: [x64] os: [win32] - turbo-windows-arm64@2.5.4: + turbo-windows-arm64@2.5.5: resolution: { - integrity: sha512-oQ8RrK1VS8lrxkLriotFq+PiF7iiGgkZtfLKF4DDKsmdbPo0O9R2mQxm7jHLuXraRCuIQDWMIw6dpcr7Iykf4A==, + integrity: sha512-AXbF1KmpHUq3PKQwddMGoKMYhHsy5t1YBQO8HZ04HLMR0rWv9adYlQ8kaeQJTko1Ay1anOBFTqaxfVOOsu7+1Q==, } cpu: [arm64] os: [win32] - turbo@2.5.4: + turbo@2.5.5: resolution: { - integrity: sha512-kc8ZibdRcuWUG1pbYSBFWqmIjynlD8Lp7IB6U3vIzvOv9VG+6Sp8bzyeBWE3Oi8XV5KsQrznyRTBPvrf99E4mA==, + integrity: sha512-eZ7wI6KjtT1eBqCnh2JPXWNUAxtoxxfi6VdBdZFvil0ychCOTxbm7YLRBi1JSt7U3c+u3CLxpoPxLdvr/Npr3A==, } hasBin: true @@ -6058,6 +6807,12 @@ packages: integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==, } + undici-types@7.8.0: + resolution: + { + integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==, + } + undici@7.11.0: resolution: { @@ -6072,6 +6827,13 @@ packages: } engines: { node: '>=18' } + universalify@0.1.2: + resolution: + { + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, + } + engines: { node: '>= 4.0.0' } + universalify@2.0.1: resolution: { @@ -6219,10 +6981,10 @@ packages: yaml: optional: true - vite@7.0.2: + vite@7.0.5: resolution: { - integrity: sha512-hxdyZDY1CM6SNpKI4w4lcUc3Mtkd9ej4ECWVHSMrOdSinVc2zYOAppHeGc/hzmRo3pxM5blMzkuWHOJA/3NiFw==, + integrity: sha512-1mncVwJxy2C9ThLwz0+2GKZyEXuC3MyWtAAlNftlZZXZDP3AJt5FmwcMit/IGGaNZ8ZOB2BNO/HFUB+CpN0NQw==, } engines: { node: ^20.19.0 || >=22.12.0 } hasBin: true @@ -6564,11 +7326,158 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@commitlint/cli@19.8.1(@types/node@20.19.4)(typescript@5.8.3)': + '@babel/types@7.28.1': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@changesets/apply-release-plan@7.0.12': + dependencies: + '@changesets/config': 3.1.1 + '@changesets/get-version-range-type': 0.4.0 + '@changesets/git': 3.0.4 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + detect-indent: 6.1.0 + fs-extra: 7.0.1 + lodash.startcase: 4.4.0 + outdent: 0.5.0 + prettier: 2.8.8 + resolve-from: 5.0.0 + semver: 7.7.2 + + '@changesets/assemble-release-plan@6.0.9': + dependencies: + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + semver: 7.7.2 + + '@changesets/changelog-git@0.2.1': + dependencies: + '@changesets/types': 6.1.0 + + '@changesets/cli@2.29.5': + dependencies: + '@changesets/apply-release-plan': 7.0.12 + '@changesets/assemble-release-plan': 6.0.9 + '@changesets/changelog-git': 0.2.1 + '@changesets/config': 3.1.1 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/get-release-plan': 4.0.13 + '@changesets/git': 3.0.4 + '@changesets/logger': 0.1.1 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.5 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@changesets/write': 0.4.0 + '@manypkg/get-packages': 1.1.3 + ansi-colors: 4.1.3 + ci-info: 3.9.0 + enquirer: 2.4.1 + external-editor: 3.1.0 + fs-extra: 7.0.1 + mri: 1.2.0 + p-limit: 2.3.0 + package-manager-detector: 0.2.11 + picocolors: 1.1.1 + resolve-from: 5.0.0 + semver: 7.7.2 + spawndamnit: 3.0.1 + term-size: 2.2.1 + + '@changesets/config@3.1.1': + dependencies: + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/logger': 0.1.1 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + micromatch: 4.0.8 + + '@changesets/errors@0.2.0': + dependencies: + extendable-error: 0.1.7 + + '@changesets/get-dependents-graph@2.1.3': + dependencies: + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + picocolors: 1.1.1 + semver: 7.7.2 + + '@changesets/get-release-plan@4.0.13': + dependencies: + '@changesets/assemble-release-plan': 6.0.9 + '@changesets/config': 3.1.1 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.5 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + + '@changesets/get-version-range-type@0.4.0': {} + + '@changesets/git@3.0.4': + dependencies: + '@changesets/errors': 0.2.0 + '@manypkg/get-packages': 1.1.3 + is-subdir: 1.2.0 + micromatch: 4.0.8 + spawndamnit: 3.0.1 + + '@changesets/logger@0.1.1': + dependencies: + picocolors: 1.1.1 + + '@changesets/parse@0.4.1': + dependencies: + '@changesets/types': 6.1.0 + js-yaml: 3.14.1 + + '@changesets/pre@2.0.2': + dependencies: + '@changesets/errors': 0.2.0 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + + '@changesets/read@0.6.5': + dependencies: + '@changesets/git': 3.0.4 + '@changesets/logger': 0.1.1 + '@changesets/parse': 0.4.1 + '@changesets/types': 6.1.0 + fs-extra: 7.0.1 + p-filter: 2.1.0 + picocolors: 1.1.1 + + '@changesets/should-skip-package@0.1.2': + dependencies: + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + + '@changesets/types@4.1.0': {} + + '@changesets/types@6.1.0': {} + + '@changesets/write@0.4.0': + dependencies: + '@changesets/types': 6.1.0 + fs-extra: 7.0.1 + human-id: 4.1.1 + prettier: 2.8.8 + + '@commitlint/cli@19.8.1(@types/node@24.1.0)(typescript@5.8.3)': dependencies: '@commitlint/format': 19.8.1 '@commitlint/lint': 19.8.1 - '@commitlint/load': 19.8.1(@types/node@20.19.4)(typescript@5.8.3) + '@commitlint/load': 19.8.1(@types/node@24.1.0)(typescript@5.8.3) '@commitlint/read': 19.8.1 '@commitlint/types': 19.8.1 tinyexec: 1.0.1 @@ -6615,7 +7524,7 @@ snapshots: '@commitlint/rules': 19.8.1 '@commitlint/types': 19.8.1 - '@commitlint/load@19.8.1(@types/node@20.19.4)(typescript@5.8.3)': + '@commitlint/load@19.8.1(@types/node@24.1.0)(typescript@5.8.3)': dependencies: '@commitlint/config-validator': 19.8.1 '@commitlint/execute-rule': 19.8.1 @@ -6623,7 +7532,7 @@ snapshots: '@commitlint/types': 19.8.1 chalk: 5.4.1 cosmiconfig: 9.0.0(typescript@5.8.3) - cosmiconfig-typescript-loader: 6.1.0(@types/node@20.19.4)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3) + cosmiconfig-typescript-loader: 6.1.0(@types/node@24.1.0)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -6683,78 +7592,156 @@ snapshots: '@esbuild/aix-ppc64@0.25.5': optional: true + '@esbuild/aix-ppc64@0.25.8': + optional: true + '@esbuild/android-arm64@0.25.5': optional: true + '@esbuild/android-arm64@0.25.8': + optional: true + '@esbuild/android-arm@0.25.5': optional: true + '@esbuild/android-arm@0.25.8': + optional: true + '@esbuild/android-x64@0.25.5': optional: true + '@esbuild/android-x64@0.25.8': + optional: true + '@esbuild/darwin-arm64@0.25.5': optional: true + '@esbuild/darwin-arm64@0.25.8': + optional: true + '@esbuild/darwin-x64@0.25.5': optional: true + '@esbuild/darwin-x64@0.25.8': + optional: true + '@esbuild/freebsd-arm64@0.25.5': optional: true + '@esbuild/freebsd-arm64@0.25.8': + optional: true + '@esbuild/freebsd-x64@0.25.5': optional: true + '@esbuild/freebsd-x64@0.25.8': + optional: true + '@esbuild/linux-arm64@0.25.5': optional: true + '@esbuild/linux-arm64@0.25.8': + optional: true + '@esbuild/linux-arm@0.25.5': optional: true + '@esbuild/linux-arm@0.25.8': + optional: true + '@esbuild/linux-ia32@0.25.5': optional: true + '@esbuild/linux-ia32@0.25.8': + optional: true + '@esbuild/linux-loong64@0.25.5': optional: true + '@esbuild/linux-loong64@0.25.8': + optional: true + '@esbuild/linux-mips64el@0.25.5': optional: true + '@esbuild/linux-mips64el@0.25.8': + optional: true + '@esbuild/linux-ppc64@0.25.5': optional: true + '@esbuild/linux-ppc64@0.25.8': + optional: true + '@esbuild/linux-riscv64@0.25.5': optional: true + '@esbuild/linux-riscv64@0.25.8': + optional: true + '@esbuild/linux-s390x@0.25.5': optional: true + '@esbuild/linux-s390x@0.25.8': + optional: true + '@esbuild/linux-x64@0.25.5': optional: true + '@esbuild/linux-x64@0.25.8': + optional: true + '@esbuild/netbsd-arm64@0.25.5': optional: true + '@esbuild/netbsd-arm64@0.25.8': + optional: true + '@esbuild/netbsd-x64@0.25.5': optional: true + '@esbuild/netbsd-x64@0.25.8': + optional: true + '@esbuild/openbsd-arm64@0.25.5': optional: true + '@esbuild/openbsd-arm64@0.25.8': + optional: true + '@esbuild/openbsd-x64@0.25.5': optional: true + '@esbuild/openbsd-x64@0.25.8': + optional: true + + '@esbuild/openharmony-arm64@0.25.8': + optional: true + '@esbuild/sunos-x64@0.25.5': optional: true + '@esbuild/sunos-x64@0.25.8': + optional: true + '@esbuild/win32-arm64@0.25.5': optional: true + '@esbuild/win32-arm64@0.25.8': + optional: true + '@esbuild/win32-ia32@0.25.5': optional: true + '@esbuild/win32-ia32@0.25.8': + optional: true + '@esbuild/win32-x64@0.25.5': optional: true + '@esbuild/win32-x64@0.25.8': + optional: true + '@eslint-community/eslint-utils@4.7.0(eslint@8.57.1)': dependencies: eslint: 8.57.1 @@ -6799,12 +7786,12 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@5.8.3)(vite@7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.5.0(typescript@5.8.3)(vite@7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3))': dependencies: glob: 10.4.5 magic-string: 0.27.0 react-docgen-typescript: 2.4.0(typescript@5.8.3) - vite: 7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3) + vite: 7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3) optionalDependencies: typescript: 5.8.3 @@ -6827,6 +7814,22 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.4 + '@manypkg/find-root@1.1.0': + dependencies: + '@babel/runtime': 7.27.6 + '@types/node': 12.20.55 + find-up: 4.1.0 + fs-extra: 8.1.0 + + '@manypkg/get-packages@1.1.3': + dependencies: + '@babel/runtime': 7.27.6 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 + fs-extra: 8.1.0 + globby: 11.1.0 + read-yaml-file: 1.1.0 + '@mdx-js/react@3.1.0(@types/react@19.1.8)(react@19.1.0)': dependencies: '@types/mdx': 2.0.13 @@ -6845,13 +7848,19 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@pivanov/vite-plugin-svg-sprite@3.0.0(vite@7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3))': + '@pivanov/vite-plugin-svg-sprite@3.1.2(vite@7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3))': dependencies: cheerio: 1.1.0 chokidar: 4.0.3 - svgo: 3.3.2 - typescript: 5.8.3 - vite: 7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3) + svgo: 4.0.0 + vite: 7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3) + + '@pivanov/vite-plugin-svg-sprite@3.1.2(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3))': + dependencies: + cheerio: 1.1.0 + chokidar: 4.0.3 + svgo: 4.0.0 + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3) '@pkgjs/parseargs@0.11.0': optional: true @@ -6881,78 +7890,136 @@ snapshots: transitivePeerDependencies: - supports-color - '@rolldown/pluginutils@1.0.0-beta.11': {} + '@rolldown/pluginutils@1.0.0-beta.27': {} - '@rolldown/pluginutils@1.0.0-beta.19': {} - - '@rollup/pluginutils@5.2.0(rollup@4.44.1)': + '@rollup/pluginutils@5.2.0(rollup@4.45.1)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.44.1 + rollup: 4.45.1 '@rollup/rollup-android-arm-eabi@4.44.1': optional: true + '@rollup/rollup-android-arm-eabi@4.45.1': + optional: true + '@rollup/rollup-android-arm64@4.44.1': optional: true + '@rollup/rollup-android-arm64@4.45.1': + optional: true + '@rollup/rollup-darwin-arm64@4.44.1': optional: true + '@rollup/rollup-darwin-arm64@4.45.1': + optional: true + '@rollup/rollup-darwin-x64@4.44.1': optional: true + '@rollup/rollup-darwin-x64@4.45.1': + optional: true + '@rollup/rollup-freebsd-arm64@4.44.1': optional: true + '@rollup/rollup-freebsd-arm64@4.45.1': + optional: true + '@rollup/rollup-freebsd-x64@4.44.1': optional: true + '@rollup/rollup-freebsd-x64@4.45.1': + optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.44.1': optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.45.1': + optional: true + '@rollup/rollup-linux-arm-musleabihf@4.44.1': optional: true + '@rollup/rollup-linux-arm-musleabihf@4.45.1': + optional: true + '@rollup/rollup-linux-arm64-gnu@4.44.1': optional: true + '@rollup/rollup-linux-arm64-gnu@4.45.1': + optional: true + '@rollup/rollup-linux-arm64-musl@4.44.1': optional: true + '@rollup/rollup-linux-arm64-musl@4.45.1': + optional: true + '@rollup/rollup-linux-loongarch64-gnu@4.44.1': optional: true + '@rollup/rollup-linux-loongarch64-gnu@4.45.1': + optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.44.1': optional: true + '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': + optional: true + '@rollup/rollup-linux-riscv64-gnu@4.44.1': optional: true + '@rollup/rollup-linux-riscv64-gnu@4.45.1': + optional: true + '@rollup/rollup-linux-riscv64-musl@4.44.1': optional: true + '@rollup/rollup-linux-riscv64-musl@4.45.1': + optional: true + '@rollup/rollup-linux-s390x-gnu@4.44.1': optional: true + '@rollup/rollup-linux-s390x-gnu@4.45.1': + optional: true + '@rollup/rollup-linux-x64-gnu@4.44.1': optional: true + '@rollup/rollup-linux-x64-gnu@4.45.1': + optional: true + '@rollup/rollup-linux-x64-musl@4.44.1': optional: true + '@rollup/rollup-linux-x64-musl@4.45.1': + optional: true + '@rollup/rollup-win32-arm64-msvc@4.44.1': optional: true + '@rollup/rollup-win32-arm64-msvc@4.45.1': + optional: true + '@rollup/rollup-win32-ia32-msvc@4.44.1': optional: true + '@rollup/rollup-win32-ia32-msvc@4.45.1': + optional: true + '@rollup/rollup-win32-x64-msvc@4.44.1': optional: true + '@rollup/rollup-win32-x64-msvc@4.45.1': + optional: true + '@storybook/addon-a11y@8.6.14(storybook@8.6.14(prettier@3.6.2))': dependencies: '@storybook/addon-highlight': 8.6.14(storybook@8.6.14(prettier@3.6.2)) @@ -7061,13 +8128,13 @@ snapshots: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - '@storybook/builder-vite@8.6.14(storybook@8.6.14(prettier@3.6.2))(vite@7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3))': + '@storybook/builder-vite@8.6.14(storybook@8.6.14(prettier@3.6.2))(vite@7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3))': dependencies: '@storybook/csf-plugin': 8.6.14(storybook@8.6.14(prettier@3.6.2)) browser-assert: 1.2.1 storybook: 8.6.14(prettier@3.6.2) ts-dedent: 2.2.0 - vite: 7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3) + vite: 7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3) '@storybook/components@8.6.14(storybook@8.6.14(prettier@3.6.2))': dependencies: @@ -7078,8 +8145,8 @@ snapshots: '@storybook/theming': 8.6.14(storybook@8.6.14(prettier@3.6.2)) better-opn: 3.0.2 browser-assert: 1.2.1 - esbuild: 0.25.5 - esbuild-register: 3.6.0(esbuild@0.25.5) + esbuild: 0.25.8 + esbuild-register: 3.6.0(esbuild@0.25.8) jsdoc-type-pratt-parser: 4.1.0 process: 0.11.10 recast: 0.23.11 @@ -7126,11 +8193,11 @@ snapshots: react-dom: 19.1.0(react@19.1.0) storybook: 8.6.14(prettier@3.6.2) - '@storybook/react-vite@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.6.2)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.44.1)(storybook@8.6.14(prettier@3.6.2))(typescript@5.8.3)(vite@7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3))': + '@storybook/react-vite@8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.6.2)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(rollup@4.45.1)(storybook@8.6.14(prettier@3.6.2))(typescript@5.8.3)(vite@7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.8.3)(vite@7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3)) - '@rollup/pluginutils': 5.2.0(rollup@4.44.1) - '@storybook/builder-vite': 8.6.14(storybook@8.6.14(prettier@3.6.2))(vite@7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.5.0(typescript@5.8.3)(vite@7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3)) + '@rollup/pluginutils': 5.2.0(rollup@4.45.1) + '@storybook/builder-vite': 8.6.14(storybook@8.6.14(prettier@3.6.2))(vite@7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3)) '@storybook/react': 8.6.14(@storybook/test@8.6.14(storybook@8.6.14(prettier@3.6.2)))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(storybook@8.6.14(prettier@3.6.2))(typescript@5.8.3) find-up: 5.0.0 magic-string: 0.30.17 @@ -7140,7 +8207,7 @@ snapshots: resolve: 1.22.10 storybook: 8.6.14(prettier@3.6.2) tsconfig-paths: 4.2.0 - vite: 7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3) + vite: 7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3) optionalDependencies: '@storybook/test': 8.6.14(storybook@8.6.14(prettier@3.6.2)) transitivePeerDependencies: @@ -7178,51 +8245,51 @@ snapshots: dependencies: storybook: 8.6.14(prettier@3.6.2) - '@swc/core-darwin-arm64@1.12.9': + '@swc/core-darwin-arm64@1.13.2': optional: true - '@swc/core-darwin-x64@1.12.9': + '@swc/core-darwin-x64@1.13.2': optional: true - '@swc/core-linux-arm-gnueabihf@1.12.9': + '@swc/core-linux-arm-gnueabihf@1.13.2': optional: true - '@swc/core-linux-arm64-gnu@1.12.9': + '@swc/core-linux-arm64-gnu@1.13.2': optional: true - '@swc/core-linux-arm64-musl@1.12.9': + '@swc/core-linux-arm64-musl@1.13.2': optional: true - '@swc/core-linux-x64-gnu@1.12.9': + '@swc/core-linux-x64-gnu@1.13.2': optional: true - '@swc/core-linux-x64-musl@1.12.9': + '@swc/core-linux-x64-musl@1.13.2': optional: true - '@swc/core-win32-arm64-msvc@1.12.9': + '@swc/core-win32-arm64-msvc@1.13.2': optional: true - '@swc/core-win32-ia32-msvc@1.12.9': + '@swc/core-win32-ia32-msvc@1.13.2': optional: true - '@swc/core-win32-x64-msvc@1.12.9': + '@swc/core-win32-x64-msvc@1.13.2': optional: true - '@swc/core@1.12.9': + '@swc/core@1.13.2': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.23 optionalDependencies: - '@swc/core-darwin-arm64': 1.12.9 - '@swc/core-darwin-x64': 1.12.9 - '@swc/core-linux-arm-gnueabihf': 1.12.9 - '@swc/core-linux-arm64-gnu': 1.12.9 - '@swc/core-linux-arm64-musl': 1.12.9 - '@swc/core-linux-x64-gnu': 1.12.9 - '@swc/core-linux-x64-musl': 1.12.9 - '@swc/core-win32-arm64-msvc': 1.12.9 - '@swc/core-win32-ia32-msvc': 1.12.9 - '@swc/core-win32-x64-msvc': 1.12.9 + '@swc/core-darwin-arm64': 1.13.2 + '@swc/core-darwin-x64': 1.13.2 + '@swc/core-linux-arm-gnueabihf': 1.13.2 + '@swc/core-linux-arm64-gnu': 1.13.2 + '@swc/core-linux-arm64-musl': 1.13.2 + '@swc/core-linux-x64-gnu': 1.13.2 + '@swc/core-linux-x64-musl': 1.13.2 + '@swc/core-win32-arm64-msvc': 1.13.2 + '@swc/core-win32-ia32-msvc': 1.13.2 + '@swc/core-win32-x64-msvc': 1.13.2 '@swc/counter@0.1.3': {} @@ -7230,19 +8297,19 @@ snapshots: dependencies: '@swc/counter': 0.1.3 - '@tanstack/query-core@5.81.5': {} + '@tanstack/query-core@5.83.0': {} '@tanstack/query-devtools@5.81.2': {} - '@tanstack/react-query-devtools@5.81.5(@tanstack/react-query@5.81.5(react@19.1.0))(react@19.1.0)': + '@tanstack/react-query-devtools@5.83.0(@tanstack/react-query@5.83.0(react@19.1.0))(react@19.1.0)': dependencies: '@tanstack/query-devtools': 5.81.2 - '@tanstack/react-query': 5.81.5(react@19.1.0) + '@tanstack/react-query': 5.83.0(react@19.1.0) react: 19.1.0 - '@tanstack/react-query@5.81.5(react@19.1.0)': + '@tanstack/react-query@5.83.0(react@19.1.0)': dependencies: - '@tanstack/query-core': 5.81.5 + '@tanstack/query-core': 5.83.0 react: 19.1.0 '@testing-library/dom@10.4.0': @@ -7274,8 +8341,6 @@ snapshots: '@toss/ky@1.2.1': {} - '@trysound/sax@0.2.0': {} - '@tsconfig/node10@1.0.11': {} '@tsconfig/node12@1.0.11': {} @@ -7284,7 +8349,7 @@ snapshots: '@tsconfig/node16@1.0.4': {} - '@turbo/gen@1.13.4(@swc/core@1.12.9)(@types/node@20.19.4)(typescript@5.8.3)': + '@turbo/gen@1.13.4(@swc/core@1.13.2)(@types/node@20.19.9)(typescript@5.8.3)': dependencies: '@turbo/workspaces': 1.13.4 chalk: 2.4.2 @@ -7294,7 +8359,7 @@ snapshots: minimatch: 9.0.5 node-plop: 0.26.3 proxy-agent: 6.5.0 - ts-node: 10.9.2(@swc/core@1.12.9)(@types/node@20.19.4)(typescript@5.8.3) + ts-node: 10.9.2(@swc/core@1.13.2)(@types/node@20.19.9)(typescript@5.8.3) update-check: 1.5.4 validate-npm-package-name: 5.0.1 transitivePeerDependencies: @@ -7344,7 +8409,7 @@ snapshots: '@types/conventional-commits-parser@5.0.1': dependencies: - '@types/node': 20.19.4 + '@types/node': 20.19.9 '@types/doctrine@0.0.9': {} @@ -7353,7 +8418,7 @@ snapshots: '@types/glob@7.2.0': dependencies: '@types/minimatch': 6.0.0 - '@types/node': 20.19.4 + '@types/node': 20.19.9 '@types/inquirer@6.5.0': dependencies: @@ -7368,10 +8433,16 @@ snapshots: dependencies: minimatch: 9.0.5 - '@types/node@20.19.4': + '@types/node@12.20.55': {} + + '@types/node@20.19.9': dependencies: undici-types: 6.21.0 + '@types/node@24.1.0': + dependencies: + undici-types: 7.8.0 + '@types/react-dom@19.1.6(@types/react@19.1.8)': dependencies: '@types/react': 19.1.8 @@ -7386,7 +8457,7 @@ snapshots: '@types/through@0.0.33': dependencies: - '@types/node': 20.19.4 + '@types/node': 20.19.9 '@types/tinycolor2@1.4.6': {} @@ -7484,12 +8555,33 @@ snapshots: transitivePeerDependencies: - supports-color - '@vanilla-extract/compiler@0.3.0(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3)': + '@vanilla-extract/compiler@0.3.0(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3)': + dependencies: + '@vanilla-extract/css': 1.17.4 + '@vanilla-extract/integration': 8.0.4 + vite: 6.3.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3) + vite-node: 3.2.4(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + '@vanilla-extract/compiler@0.3.0(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3)': dependencies: '@vanilla-extract/css': 1.17.4 '@vanilla-extract/integration': 8.0.4 - vite: 6.3.5(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3) - vite-node: 3.2.4(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3) + vite: 6.3.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3) + vite-node: 3.2.4(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -7548,11 +8640,31 @@ snapshots: dependencies: '@vanilla-extract/css': 1.17.4 - '@vanilla-extract/vite-plugin@5.1.0(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3)(vite@7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3))': + '@vanilla-extract/vite-plugin@5.1.0(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3)(vite@7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3))': + dependencies: + '@vanilla-extract/compiler': 0.3.0(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3) + '@vanilla-extract/integration': 8.0.4 + vite: 7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + '@vanilla-extract/vite-plugin@5.1.0(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3))': dependencies: - '@vanilla-extract/compiler': 0.3.0(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3) + '@vanilla-extract/compiler': 0.3.0(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3) '@vanilla-extract/integration': 8.0.4 - vite: 7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -7568,23 +8680,35 @@ snapshots: - tsx - yaml - '@vitejs/plugin-react-swc@3.10.2(vite@7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3))': + '@vitejs/plugin-react-swc@3.11.0(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3))': dependencies: - '@rolldown/pluginutils': 1.0.0-beta.11 - '@swc/core': 1.12.9 - vite: 7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3) + '@rolldown/pluginutils': 1.0.0-beta.27 + '@swc/core': 1.13.2 + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3) transitivePeerDependencies: - '@swc/helpers' - '@vitejs/plugin-react@4.6.0(vite@7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3))': + '@vitejs/plugin-react@4.7.0(vite@7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3))': + dependencies: + '@babel/core': 7.28.0 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.0) + '@rolldown/pluginutils': 1.0.0-beta.27 + '@types/babel__core': 7.20.5 + react-refresh: 0.17.0 + vite: 7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-react@4.7.0(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0) '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.0) - '@rolldown/pluginutils': 1.0.0-beta.19 + '@rolldown/pluginutils': 1.0.0-beta.27 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3) transitivePeerDependencies: - supports-color @@ -7680,6 +8804,10 @@ snapshots: arg@4.1.3: {} + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + argparse@2.0.1: {} aria-query@5.3.0: @@ -7777,6 +8905,10 @@ snapshots: dependencies: open: 8.4.2 + better-path-resolve@1.0.0: + dependencies: + is-windows: 1.0.2 + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -7922,6 +9054,8 @@ snapshots: chromatic@13.1.2: {} + ci-info@3.9.0: {} + clean-stack@2.2.0: {} cli-cursor@3.1.0: @@ -7956,7 +9090,7 @@ snapshots: commander@10.0.1: {} - commander@7.2.0: {} + commander@11.1.0: {} compare-func@2.0.0: dependencies: @@ -7993,9 +9127,9 @@ snapshots: core-js-pure@3.43.0: {} - cosmiconfig-typescript-loader@6.1.0(@types/node@20.19.4)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3): + cosmiconfig-typescript-loader@6.1.0(@types/node@24.1.0)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3): dependencies: - '@types/node': 20.19.4 + '@types/node': 24.1.0 cosmiconfig: 9.0.0(typescript@5.8.3) jiti: 2.4.2 typescript: 5.8.3 @@ -8030,9 +9164,9 @@ snapshots: mdn-data: 2.0.28 source-map-js: 1.2.1 - css-tree@2.3.1: + css-tree@3.1.0: dependencies: - mdn-data: 2.0.30 + mdn-data: 2.12.2 source-map-js: 1.2.1 css-what@6.2.2: {} @@ -8124,6 +9258,8 @@ snapshots: dequal@2.0.3: {} + detect-indent@6.1.0: {} + diff@4.0.2: {} dir-glob@3.0.1: @@ -8189,6 +9325,11 @@ snapshots: iconv-lite: 0.6.3 whatwg-encoding: 3.1.1 + enquirer@2.4.1: + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + entities@4.5.0: {} entities@6.0.1: {} @@ -8302,10 +9443,10 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - esbuild-register@3.6.0(esbuild@0.25.5): + esbuild-register@3.6.0(esbuild@0.25.8): dependencies: debug: 4.4.1(supports-color@10.0.0) - esbuild: 0.25.5 + esbuild: 0.25.8 transitivePeerDependencies: - supports-color @@ -8337,6 +9478,35 @@ snapshots: '@esbuild/win32-ia32': 0.25.5 '@esbuild/win32-x64': 0.25.5 + esbuild@0.25.8: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.8 + '@esbuild/android-arm': 0.25.8 + '@esbuild/android-arm64': 0.25.8 + '@esbuild/android-x64': 0.25.8 + '@esbuild/darwin-arm64': 0.25.8 + '@esbuild/darwin-x64': 0.25.8 + '@esbuild/freebsd-arm64': 0.25.8 + '@esbuild/freebsd-x64': 0.25.8 + '@esbuild/linux-arm': 0.25.8 + '@esbuild/linux-arm64': 0.25.8 + '@esbuild/linux-ia32': 0.25.8 + '@esbuild/linux-loong64': 0.25.8 + '@esbuild/linux-mips64el': 0.25.8 + '@esbuild/linux-ppc64': 0.25.8 + '@esbuild/linux-riscv64': 0.25.8 + '@esbuild/linux-s390x': 0.25.8 + '@esbuild/linux-x64': 0.25.8 + '@esbuild/netbsd-arm64': 0.25.8 + '@esbuild/netbsd-x64': 0.25.8 + '@esbuild/openbsd-arm64': 0.25.8 + '@esbuild/openbsd-x64': 0.25.8 + '@esbuild/openharmony-arm64': 0.25.8 + '@esbuild/sunos-x64': 0.25.8 + '@esbuild/win32-arm64': 0.25.8 + '@esbuild/win32-ia32': 0.25.8 + '@esbuild/win32-x64': 0.25.8 + escalade@3.2.0: {} escape-string-regexp@1.0.5: {} @@ -8351,26 +9521,26 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@10.1.5(eslint@8.57.1): + eslint-config-prettier@10.1.8(eslint@8.57.1): dependencies: eslint: 8.57.1 - eslint-config-turbo@2.5.4(eslint@8.57.1)(turbo@2.5.4): + eslint-config-turbo@2.5.5(eslint@8.57.1)(turbo@2.5.5): dependencies: eslint: 8.57.1 - eslint-plugin-turbo: 2.5.4(eslint@8.57.1)(turbo@2.5.4) - turbo: 2.5.4 + eslint-plugin-turbo: 2.5.5(eslint@8.57.1)(turbo@2.5.5) + turbo: 2.5.5 eslint-plugin-only-warn@1.1.0: {} - eslint-plugin-prettier@5.5.1(eslint-config-prettier@10.1.5(eslint@8.57.1))(eslint@8.57.1)(prettier@3.6.2): + eslint-plugin-prettier@5.5.3(eslint-config-prettier@10.1.8(eslint@8.57.1))(eslint@8.57.1)(prettier@3.6.2): dependencies: eslint: 8.57.1 prettier: 3.6.2 prettier-linter-helpers: 1.0.0 synckit: 0.11.8 optionalDependencies: - eslint-config-prettier: 10.1.5(eslint@8.57.1) + eslint-config-prettier: 10.1.8(eslint@8.57.1) eslint-plugin-react-hooks@5.2.0(eslint@8.57.1): dependencies: @@ -8406,11 +9576,11 @@ snapshots: dependencies: eslint: 8.57.1 - eslint-plugin-turbo@2.5.4(eslint@8.57.1)(turbo@2.5.4): + eslint-plugin-turbo@2.5.5(eslint@8.57.1)(turbo@2.5.5): dependencies: dotenv: 16.0.3 eslint: 8.57.1 - turbo: 2.5.4 + turbo: 2.5.5 eslint-scope@5.1.1: dependencies: @@ -8497,7 +9667,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 20.19.4 + '@types/node': 20.19.9 require-like: 0.1.2 execa@5.1.1: @@ -8512,6 +9682,8 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 + extendable-error@0.1.7: {} + external-editor@3.1.0: dependencies: chardet: 0.7.0 @@ -8556,6 +9728,11 @@ snapshots: dependencies: to-regex-range: 5.0.1 + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -8590,6 +9767,18 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 + fs-extra@7.0.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -8789,6 +9978,8 @@ snapshots: transitivePeerDependencies: - supports-color + human-id@4.1.1: {} + human-signals@2.1.0: {} iconv-lite@0.4.24: @@ -8983,6 +10174,10 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 + is-subdir@1.2.0: + dependencies: + better-path-resolve: 1.0.0 + is-symbol@1.1.1: dependencies: call-bound: 1.0.4 @@ -9014,6 +10209,8 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 + is-windows@1.0.2: {} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -9047,6 +10244,11 @@ snapshots: js-tokens@4.0.0: {} + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + js-yaml@4.1.0: dependencies: argparse: 2.0.1 @@ -9069,6 +10271,10 @@ snapshots: json5@2.2.3: {} + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + jsonfile@6.1.0: dependencies: universalify: 2.0.1 @@ -9088,48 +10294,48 @@ snapshots: dependencies: json-buffer: 3.0.1 - lefthook-darwin-arm64@1.11.16: + lefthook-darwin-arm64@1.12.2: optional: true - lefthook-darwin-x64@1.11.16: + lefthook-darwin-x64@1.12.2: optional: true - lefthook-freebsd-arm64@1.11.16: + lefthook-freebsd-arm64@1.12.2: optional: true - lefthook-freebsd-x64@1.11.16: + lefthook-freebsd-x64@1.12.2: optional: true - lefthook-linux-arm64@1.11.16: + lefthook-linux-arm64@1.12.2: optional: true - lefthook-linux-x64@1.11.16: + lefthook-linux-x64@1.12.2: optional: true - lefthook-openbsd-arm64@1.11.16: + lefthook-openbsd-arm64@1.12.2: optional: true - lefthook-openbsd-x64@1.11.16: + lefthook-openbsd-x64@1.12.2: optional: true - lefthook-windows-arm64@1.11.16: + lefthook-windows-arm64@1.12.2: optional: true - lefthook-windows-x64@1.11.16: + lefthook-windows-x64@1.12.2: optional: true - lefthook@1.11.16: + lefthook@1.12.2: optionalDependencies: - lefthook-darwin-arm64: 1.11.16 - lefthook-darwin-x64: 1.11.16 - lefthook-freebsd-arm64: 1.11.16 - lefthook-freebsd-x64: 1.11.16 - lefthook-linux-arm64: 1.11.16 - lefthook-linux-x64: 1.11.16 - lefthook-openbsd-arm64: 1.11.16 - lefthook-openbsd-x64: 1.11.16 - lefthook-windows-arm64: 1.11.16 - lefthook-windows-x64: 1.11.16 + lefthook-darwin-arm64: 1.12.2 + lefthook-darwin-x64: 1.12.2 + lefthook-freebsd-arm64: 1.12.2 + lefthook-freebsd-x64: 1.12.2 + lefthook-linux-arm64: 1.12.2 + lefthook-linux-x64: 1.12.2 + lefthook-openbsd-arm64: 1.12.2 + lefthook-openbsd-x64: 1.12.2 + lefthook-windows-arm64: 1.12.2 + lefthook-windows-x64: 1.12.2 levn@0.4.1: dependencies: @@ -9138,6 +10344,10 @@ snapshots: lines-and-columns@1.2.4: {} + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -9223,7 +10433,7 @@ snapshots: mdn-data@2.0.28: {} - mdn-data@2.0.30: {} + mdn-data@2.12.2: {} media-query-parser@2.0.2: dependencies: @@ -9277,6 +10487,8 @@ snapshots: modern-ahocorasick@1.1.0: {} + mri@1.2.0: {} + ms@2.1.3: {} mute-stream@0.0.8: {} @@ -9413,12 +10625,22 @@ snapshots: os-tmpdir@1.0.2: {} + outdent@0.5.0: {} + own-keys@1.0.1: dependencies: get-intrinsic: 1.3.0 object-keys: 1.1.1 safe-push-apply: 1.0.0 + p-filter@2.1.0: + dependencies: + p-map: 2.1.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -9427,6 +10649,10 @@ snapshots: dependencies: yocto-queue: 1.2.1 + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + p-locate@5.0.0: dependencies: p-limit: 3.1.0 @@ -9435,10 +10661,14 @@ snapshots: dependencies: p-limit: 4.0.0 + p-map@2.1.0: {} + p-map@3.0.0: dependencies: aggregate-error: 3.1.0 + p-try@2.2.0: {} + pac-proxy-agent@7.2.0: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 @@ -9459,6 +10689,10 @@ snapshots: package-json-from-dist@1.0.1: {} + package-manager-detector@0.2.11: + dependencies: + quansync: 0.2.10 + param-case@2.1.1: dependencies: no-case: 2.3.2 @@ -9529,6 +10763,8 @@ snapshots: picomatch@4.0.2: {} + pify@4.0.1: {} + pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -9555,6 +10791,8 @@ snapshots: dependencies: fast-diff: 1.3.0 + prettier@2.8.8: {} + prettier@3.6.2: {} pretty-format@27.5.1: @@ -9588,6 +10826,8 @@ snapshots: punycode@2.3.1: {} + quansync@0.2.10: {} + queue-microtask@1.2.3: {} rc@1.2.8: @@ -9605,7 +10845,7 @@ snapshots: dependencies: '@babel/core': 7.28.0 '@babel/traverse': 7.28.0 - '@babel/types': 7.28.0 + '@babel/types': 7.28.1 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.7 '@types/doctrine': 0.0.9 @@ -9632,13 +10872,13 @@ snapshots: react-refresh@0.17.0: {} - react-router-dom@7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-router-dom@7.7.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: react: 19.1.0 react-dom: 19.1.0(react@19.1.0) - react-router: 7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react-router: 7.7.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0) - react-router@7.6.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + react-router@7.7.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: cookie: 1.0.2 react: 19.1.0 @@ -9648,6 +10888,13 @@ snapshots: react@19.1.0: {} + read-yaml-file@1.1.0: + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -9759,6 +11006,33 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.44.1 fsevents: 2.3.3 + rollup@4.45.1: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.45.1 + '@rollup/rollup-android-arm64': 4.45.1 + '@rollup/rollup-darwin-arm64': 4.45.1 + '@rollup/rollup-darwin-x64': 4.45.1 + '@rollup/rollup-freebsd-arm64': 4.45.1 + '@rollup/rollup-freebsd-x64': 4.45.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.45.1 + '@rollup/rollup-linux-arm-musleabihf': 4.45.1 + '@rollup/rollup-linux-arm64-gnu': 4.45.1 + '@rollup/rollup-linux-arm64-musl': 4.45.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.45.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.45.1 + '@rollup/rollup-linux-riscv64-gnu': 4.45.1 + '@rollup/rollup-linux-riscv64-musl': 4.45.1 + '@rollup/rollup-linux-s390x-gnu': 4.45.1 + '@rollup/rollup-linux-x64-gnu': 4.45.1 + '@rollup/rollup-linux-x64-musl': 4.45.1 + '@rollup/rollup-win32-arm64-msvc': 4.45.1 + '@rollup/rollup-win32-ia32-msvc': 4.45.1 + '@rollup/rollup-win32-x64-msvc': 4.45.1 + fsevents: 2.3.3 + optional: true + run-async@2.4.1: {} run-parallel@1.2.0: @@ -9796,6 +11070,8 @@ snapshots: safer-buffer@2.1.2: {} + sax@1.4.1: {} + scheduler@0.26.0: {} semver@6.3.1: {} @@ -9894,8 +11170,15 @@ snapshots: source-map@0.6.1: {} + spawndamnit@3.0.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + split2@4.2.0: {} + sprintf-js@1.0.3: {} + sprintf-js@1.1.3: {} stop-iteration-iterator@1.1.0: @@ -10009,15 +11292,15 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svgo@3.3.2: + svgo@4.0.0: dependencies: - '@trysound/sax': 0.2.0 - commander: 7.2.0 + commander: 11.1.0 css-select: 5.2.2 - css-tree: 2.3.1 + css-tree: 3.1.0 css-what: 6.2.2 csso: 5.0.5 picocolors: 1.1.1 + sax: 1.4.1 swap-case@1.1.2: dependencies: @@ -10030,6 +11313,8 @@ snapshots: dependencies: '@pkgr/core': 0.2.7 + term-size@2.2.1: {} + text-extensions@2.4.0: {} text-table@0.2.0: {} @@ -10071,14 +11356,14 @@ snapshots: ts-dedent@2.2.0: {} - ts-node@10.9.2(@swc/core@1.12.9)(@types/node@20.19.4)(typescript@5.8.3): + ts-node@10.9.2(@swc/core@1.13.2)(@types/node@20.19.9)(typescript@5.8.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.4 + '@types/node': 20.19.9 acorn: 8.15.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -10089,7 +11374,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.12.9 + '@swc/core': 1.13.2 tsconfck@3.1.6(typescript@5.8.3): optionalDependencies: @@ -10117,32 +11402,32 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - turbo-darwin-64@2.5.4: + turbo-darwin-64@2.5.5: optional: true - turbo-darwin-arm64@2.5.4: + turbo-darwin-arm64@2.5.5: optional: true - turbo-linux-64@2.5.4: + turbo-linux-64@2.5.5: optional: true - turbo-linux-arm64@2.5.4: + turbo-linux-arm64@2.5.5: optional: true - turbo-windows-64@2.5.4: + turbo-windows-64@2.5.5: optional: true - turbo-windows-arm64@2.5.4: + turbo-windows-arm64@2.5.5: optional: true - turbo@2.5.4: + turbo@2.5.5: optionalDependencies: - turbo-darwin-64: 2.5.4 - turbo-darwin-arm64: 2.5.4 - turbo-linux-64: 2.5.4 - turbo-linux-arm64: 2.5.4 - turbo-windows-64: 2.5.4 - turbo-windows-arm64: 2.5.4 + turbo-darwin-64: 2.5.5 + turbo-darwin-arm64: 2.5.5 + turbo-linux-64: 2.5.5 + turbo-linux-arm64: 2.5.5 + turbo-windows-64: 2.5.5 + turbo-windows-arm64: 2.5.5 type-check@0.4.0: dependencies: @@ -10203,10 +11488,14 @@ snapshots: undici-types@6.21.0: {} + undici-types@7.8.0: {} + undici@7.11.0: {} unicorn-magic@0.1.0: {} + universalify@0.1.2: {} + universalify@2.0.1: {} unplugin@1.16.1: @@ -10253,13 +11542,34 @@ snapshots: validate-npm-package-name@5.0.1: {} - vite-node@3.2.4(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3): + vite-node@3.2.4(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3): + dependencies: + cac: 6.7.14 + debug: 4.4.1(supports-color@10.0.0) + es-module-lexer: 1.7.0 + pathe: 2.0.3 + vite: 7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3) + transitivePeerDependencies: + - '@types/node' + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + vite-node@3.2.4(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3): dependencies: cac: 6.7.14 debug: 4.4.1(supports-color@10.0.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3) transitivePeerDependencies: - '@types/node' - jiti @@ -10274,18 +11584,46 @@ snapshots: - tsx - yaml - vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3)): + vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3)): dependencies: debug: 4.4.1(supports-color@10.0.0) globrex: 0.1.2 tsconfck: 3.1.6(typescript@5.8.3) optionalDependencies: - vite: 7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3) + vite: 7.0.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3) transitivePeerDependencies: - supports-color - typescript - vite@6.3.5(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3): + vite@6.3.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3): + dependencies: + esbuild: 0.25.5 + fdir: 6.4.6(picomatch@4.0.2) + picomatch: 4.0.2 + postcss: 8.5.6 + rollup: 4.44.1 + tinyglobby: 0.2.14 + optionalDependencies: + '@types/node': 20.19.9 + fsevents: 2.3.3 + jiti: 2.4.2 + tsx: 4.20.3 + + vite@6.3.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3): + dependencies: + esbuild: 0.25.5 + fdir: 6.4.6(picomatch@4.0.2) + picomatch: 4.0.2 + postcss: 8.5.6 + rollup: 4.44.1 + tinyglobby: 0.2.14 + optionalDependencies: + '@types/node': 24.1.0 + fsevents: 2.3.3 + jiti: 2.4.2 + tsx: 4.20.3 + + vite@7.0.5(@types/node@20.19.9)(jiti@2.4.2)(tsx@4.20.3): dependencies: esbuild: 0.25.5 fdir: 6.4.6(picomatch@4.0.2) @@ -10294,12 +11632,12 @@ snapshots: rollup: 4.44.1 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 20.19.4 + '@types/node': 20.19.9 fsevents: 2.3.3 jiti: 2.4.2 tsx: 4.20.3 - vite@7.0.2(@types/node@20.19.4)(jiti@2.4.2)(tsx@4.20.3): + vite@7.0.5(@types/node@24.1.0)(jiti@2.4.2)(tsx@4.20.3): dependencies: esbuild: 0.25.5 fdir: 6.4.6(picomatch@4.0.2) @@ -10308,7 +11646,7 @@ snapshots: rollup: 4.44.1 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 20.19.4 + '@types/node': 24.1.0 fsevents: 2.3.3 jiti: 2.4.2 tsx: 4.20.3