Compare commits

..

1 commit

Author SHA1 Message Date
dependabot[bot]
2b6eb487dd
chore(deps): Bump xunit.runner.visualstudio from 3.1.5 to 4.0.0
---
updated-dependencies:
- dependency-name: xunit.runner.visualstudio
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-15 04:45:17 +00:00
20 changed files with 432 additions and 381 deletions

View file

@ -19,7 +19,7 @@ permissions:
jobs:
dotnet:
name: .NET Build & Test
uses: Sea-Haven-Industries/.github/.github/workflows/ci-dotnet.yaml@e5691d8a7f96ac4d5a841a82975ff0a4354d53ac # v1.0.7
uses: Sea-Haven-Industries/.github/.github/workflows/ci-dotnet.yaml@7ac3528750b346f181347bb09f6af927a1c0aa14 # v1.0.6
with:
working-directory: api
solution: ProposalSystem.sln
@ -29,7 +29,7 @@ jobs:
# Phase 5: full frontend pipeline — format:check, build (tsc -b included),
# vitest, Playwright chromium smoke. Replaces the old typecheck-only job
# plus the standalone Web Tests job. No lint script yet (run-lint: false).
uses: Sea-Haven-Industries/.github/.github/workflows/ci-typescript-frontend.yaml@e5691d8a7f96ac4d5a841a82975ff0a4354d53ac # v1.0.7
uses: Sea-Haven-Industries/.github/.github/workflows/ci-typescript-frontend.yaml@7ac3528750b346f181347bb09f6af927a1c0aa14 # v1.0.6
with:
working-directory: web
cache-dependency-path: web/package-lock.json
@ -39,7 +39,7 @@ jobs:
python:
name: Python Lint
uses: Sea-Haven-Industries/.github/.github/workflows/ci-python-sam.yaml@e5691d8a7f96ac4d5a841a82975ff0a4354d53ac # v1.0.7
uses: Sea-Haven-Industries/.github/.github/workflows/ci-python-sam.yaml@7ac3528750b346f181347bb09f6af927a1c0aa14 # v1.0.6
with:
source-dirs: "lambdas/"
run-sam-validate: false
@ -67,7 +67,7 @@ jobs:
mobile:
name: Mobile Typecheck
uses: Sea-Haven-Industries/.github/.github/workflows/ci-typescript-cdk.yaml@e5691d8a7f96ac4d5a841a82975ff0a4354d53ac # v1.0.7
uses: Sea-Haven-Industries/.github/.github/workflows/ci-typescript-cdk.yaml@7ac3528750b346f181347bb09f6af927a1c0aa14 # v1.0.6
with:
working-directory: mobile
cache-dependency-path: mobile/package-lock.json
@ -77,7 +77,7 @@ jobs:
infra:
name: CDK Synth
uses: Sea-Haven-Industries/.github/.github/workflows/ci-typescript-cdk.yaml@e5691d8a7f96ac4d5a841a82975ff0a4354d53ac # v1.0.7
uses: Sea-Haven-Industries/.github/.github/workflows/ci-typescript-cdk.yaml@7ac3528750b346f181347bb09f6af927a1c0aa14 # v1.0.6
with:
working-directory: infra
cache-dependency-path: infra/package-lock.json

View file

@ -15,7 +15,7 @@ permissions:
jobs:
deploy-ios:
name: Build & Upload to TestFlight
uses: Sea-Haven-Industries/.github/.github/workflows/cd-mobile-ios.yaml@e5691d8a7f96ac4d5a841a82975ff0a4354d53ac # v1.0.7
uses: Sea-Haven-Industries/.github/.github/workflows/cd-mobile-ios.yaml@7ac3528750b346f181347bb09f6af927a1c0aa14 # v1.0.6
with:
working-directory: mobile
cache-dependency-path: mobile/package-lock.json

View file

@ -15,7 +15,7 @@ permissions:
jobs:
deploy:
name: Deploy to AWS
uses: Sea-Haven-Industries/.github/.github/workflows/cd-cdk.yaml@e5691d8a7f96ac4d5a841a82975ff0a4354d53ac # v1.0.7
uses: Sea-Haven-Industries/.github/.github/workflows/cd-cdk.yaml@7ac3528750b346f181347bb09f6af927a1c0aa14 # v1.0.6
with:
cdk-dir: infra
dotnet-version: "8.0.x"

View file

@ -10,4 +10,4 @@ permissions:
jobs:
label:
uses: Sea-Haven-Industries/.github/.github/workflows/callable-labeler.yaml@e5691d8a7f96ac4d5a841a82975ff0a4354d53ac # v1.0.7
uses: Sea-Haven-Industries/.github/.github/workflows/callable-labeler.yaml@7ac3528750b346f181347bb09f6af927a1c0aa14 # v1.0.6

View file

@ -15,7 +15,7 @@ permissions:
jobs:
policy:
uses: Sea-Haven-Industries/.github/.github/workflows/callable-pr-policy.yaml@e5691d8a7f96ac4d5a841a82975ff0a4354d53ac # v1.0.7
uses: Sea-Haven-Industries/.github/.github/workflows/callable-pr-policy.yaml@7ac3528750b346f181347bb09f6af927a1c0aa14 # v1.0.6
secrets:
JIRA_CLOUD_ID: ${{ secrets.JIRA_CLOUD_ID }}
JIRA_SERVICE_ACCOUNT_EMAIL: ${{ secrets.JIRA_SERVICE_ACCOUNT_EMAIL }}

View file

@ -22,10 +22,10 @@
<ItemGroup>
<PackageReference Include="Amazon.Lambda.AspNetCoreServer.Hosting" Version="2.2.0" />
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="3.7.400.2" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.30" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.29" />
<PackageReference Include="FluentValidation.AspNetCore" Version="11.3.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.30" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="8.0.30" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.29" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="8.0.29" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.9.0" />
</ItemGroup>

View file

@ -14,8 +14,8 @@
<PackageReference Include="AWSSDK.DynamoDBv2" Version="3.7.513.4" />
<PackageReference Include="FluentValidation" Version="11.12.0" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.30" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.30" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.29" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.29" />
<PackageReference Include="AWSSDK.S3" Version="3.7.511.8" />
<PackageReference Include="AWSSDK.SimpleEmailV2" Version="3.7.509.10" />
<PackageReference Include="AWSSDK.SQS" Version="3.7.502.57" />

View file

@ -9,16 +9,16 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.30" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.9.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.29" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.8.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="4.0.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="FluentAssertions" Version="7.2.2" />
<PackageReference Include="NSubstitute" Version="6.2.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="8.0.30" />
<PackageReference Include="NSubstitute" Version="6.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="8.0.29" />
<PackageReference Include="coverlet.collector" Version="6.0.4">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>

View file

@ -8,20 +8,20 @@
"name": "proposal-system-infra",
"version": "1.0.0",
"dependencies": {
"aws-cdk-lib": "2.265.0",
"aws-cdk-lib": "2.263.0",
"constructs": "^10.8.1"
},
"devDependencies": {
"@types/node": "^25.9.5",
"aws-cdk": "^2.1136.0",
"tsx": "^4.23.12",
"aws-cdk": "^2.1135.0",
"tsx": "^4.23.6",
"typescript": "~7.0.2"
}
},
"node_modules/@aws-cdk/asset-awscli-v1": {
"version": "2.2.292",
"resolved": "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.292.tgz",
"integrity": "sha512-d4aMFsAFj19FtxVyw8IzlUKv5Zu4sIvgnEjI2IU6IWBJgVbJ4aFnadANqYa+6MwB1CQbGOg0jh8WE77M+Nb/9A==",
"version": "2.2.282",
"resolved": "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.282.tgz",
"integrity": "sha512-7hKMi5tTxDcKGIMIOq14PnY0GBcugW33Uh/2YHDZiEwSxLeFOCYBwhR+BFXONb/EJeVI3RETFgailNZbkcKF6g==",
"license": "Apache-2.0"
},
"node_modules/@aws-cdk/asset-node-proxy-agent-v6": {
@ -859,9 +859,9 @@
}
},
"node_modules/aws-cdk": {
"version": "2.1136.0",
"resolved": "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.1136.0.tgz",
"integrity": "sha512-n6kCL9R9uuvb7WXEwiSs3rYGwnTy9AHHmxOT5Pj5/++E4PYz2bLDXIxzoiOMIj5maoyC52PTe/0GezFV+O0ILQ==",
"version": "2.1135.0",
"resolved": "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.1135.0.tgz",
"integrity": "sha512-Vfz2kllheB+8y9audOtcw0qo0v6EnjxfO2pK7x6eSulHmD0GaAvkqrg6MF+20wxE2KTyuY1UDBzICO+nHUaFtA==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@ -872,9 +872,9 @@
}
},
"node_modules/aws-cdk-lib": {
"version": "2.265.0",
"resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.265.0.tgz",
"integrity": "sha512-Ur96d/ZW+gqAW4XtqKQp//D9O/jQvyRoXhAqoHGybpV03qjckGIQcLcGkLV68+jv03TX/rOXHCsa2IEFcCXa4w==",
"version": "2.263.0",
"resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.263.0.tgz",
"integrity": "sha512-cXC9wnOr+LknMee9x0kYwofgVs8aN8eBKsbzcE90sDUtpLTgWG2Bd+9koqxBKPeIU8kig/GGBFwJ69Wr+hLKDg==",
"bundleDependencies": [
"@aws/cloudformation-validate",
"@balena/dockerignore",
@ -891,11 +891,11 @@
],
"license": "Apache-2.0",
"dependencies": {
"@aws-cdk/asset-awscli-v1": "2.2.292",
"@aws-cdk/asset-awscli-v1": "2.2.282",
"@aws-cdk/asset-node-proxy-agent-v6": "^2.1.2",
"@aws-cdk/cloud-assembly-api": "^2.2.6",
"@aws-cdk/cloud-assembly-schema": "^54.11.0",
"@aws/cloudformation-validate": "1.7.0-beta",
"@aws/cloudformation-validate": "1.6.0-beta",
"@balena/dockerignore": "^1.0.2",
"case": "1.6.3",
"fs-extra": "^11.3.6",
@ -930,7 +930,7 @@
}
},
"node_modules/aws-cdk-lib/node_modules/@aws/cloudformation-validate": {
"version": "1.7.0-beta",
"version": "1.6.0-beta",
"inBundle": true,
"license": "Apache-2.0",
"engines": {
@ -951,7 +951,7 @@
}
},
"node_modules/aws-cdk-lib/node_modules/brace-expansion": {
"version": "5.0.9",
"version": "5.0.8",
"inBundle": true,
"license": "MIT",
"dependencies": {
@ -1146,9 +1146,9 @@
}
},
"node_modules/tsx": {
"version": "4.23.12",
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.12.tgz",
"integrity": "sha512-FDf4L4sYzKtzWYhU/Xm0AQFdTjdIxNo9ElTf2mxXM6k8YMHXzYUe4yODVaXP4V9uMFbVg8c0qyBccK2OOxb45Q==",
"version": "4.23.6",
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.6.tgz",
"integrity": "sha512-D/YYGUDqKlLvXhM5fBBbiENaGICxLfU4viHnZEkgmgplnDFa+Kczy34VV7AmLJgdzisv0I/J3zitfC26JH3GXg==",
"dev": true,
"license": "MIT",
"dependencies": {

View file

@ -10,13 +10,13 @@
"deploy": "cdk deploy --all --require-approval broadening"
},
"dependencies": {
"aws-cdk-lib": "2.265.0",
"aws-cdk-lib": "2.263.0",
"constructs": "^10.8.1"
},
"devDependencies": {
"@types/node": "^25.9.5",
"aws-cdk": "^2.1136.0",
"tsx": "^4.23.12",
"aws-cdk": "^2.1135.0",
"tsx": "^4.23.6",
"typescript": "~7.0.2"
}
}

View file

@ -1 +1 @@
boto3>=1.43.71,<2.0
boto3>=1.43.64,<2.0

View file

@ -1,2 +1,2 @@
boto3>=1.43.71,<2.0
boto3>=1.43.64,<2.0
httpx>=0.28.1,<1.0

View file

@ -1,3 +1,3 @@
pdfplumber>=0.11.10,<1.0
boto3>=1.43.71,<2.0
boto3>=1.43.64,<2.0
httpx>=0.28.1,<1.0

View file

@ -1,3 +1,3 @@
reportlab>=5.0.0,<6.0
boto3>=1.43.71,<2.0
boto3>=1.43.64,<2.0
httpx>=0.28.1,<1.0

View file

@ -1,2 +1,2 @@
boto3>=1.43.71,<2.0
boto3>=1.43.64,<2.0
httpx>=0.28.1,<1.0

531
mobile/package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -13,23 +13,23 @@
"@proposal-system/api-contracts": "file:../shared/api-contracts",
"@react-native-async-storage/async-storage": "^2.1.0",
"@react-native-community/netinfo": "^12.0.1",
"@react-navigation/bottom-tabs": "^7.18.16",
"@react-navigation/native": "^7.3.16",
"@react-navigation/native-stack": "^7.18.8",
"@react-navigation/bottom-tabs": "^7.18.14",
"@react-navigation/native": "^7.3.14",
"@react-navigation/native-stack": "^7.18.6",
"@reduxjs/toolkit": "^2.11.2",
"@tanstack/react-query": "^5.101.4",
"amazon-cognito-identity-js": "^6.3.20",
"axios": "^1.19.0",
"react": "19.2.8",
"react-native": "^0.87.0",
"react-native": "^0.86.2",
"react-native-app-auth": "^8.4.1",
"react-native-document-picker": "^9.3.0",
"react-native-haptic-feedback": "^2.3.0",
"react-native-image-picker": "^7.2.0",
"react-native-keychain": "^9.2.0",
"react-native-paper": "^5.15.3",
"react-native-safe-area-context": "^5.9.0",
"react-native-screens": "^4.27.0",
"react-native-safe-area-context": "^5.8.1",
"react-native-screens": "^4.26.2",
"react-native-share": "^11.0.0",
"react-native-vector-icons": "^10.2.0",
"react-redux": "^9.2.0"
@ -37,8 +37,8 @@
"devDependencies": {
"@react-native-community/cli": "^20.2.0",
"@react-native-community/cli-platform-ios": "^20.1.3",
"@react-native/babel-preset": "^0.87.0",
"@react-native/metro-config": "^0.87.0",
"@react-native/babel-preset": "^0.86.2",
"@react-native/metro-config": "^0.86.2",
"@types/react": "^19.2.18",
"@types/react-native-vector-icons": "^6.4.18",
"patch-package": "^8.0.1",

View file

@ -94,7 +94,7 @@ export function ProposalQueueScreen() {
<RefreshControl refreshing={refreshing} onRefresh={reload} />
}
contentContainerStyle={rows.length === 0 ? styles.empty : styles.list}
ListEmptyComponent={() =>
ListEmptyComponent={
!loading ? (
<EmptyState
icon="file-search-outline"

160
web/package-lock.json generated
View file

@ -14,32 +14,32 @@
"@fontsource/dm-sans": "^5.3.0",
"@fontsource/jetbrains-mono": "^5.3.0",
"@fontsource/montserrat": "^5.3.0",
"@hookform/resolvers": "^5.8.0",
"@mui/icons-material": "^9.3.1",
"@hookform/resolvers": "^5.7.1",
"@mui/icons-material": "^9.2.0",
"@mui/material": "^9.1.1",
"@proposal-system/api-contracts": "file:../shared/api-contracts",
"@tanstack/react-query": "^5.101.4",
"axios": "^1.19.0",
"lucide-react": "^1.31.0",
"lucide-react": "^1.28.0",
"react": "^19.2.8",
"react-dom": "^19.2.8",
"react-hook-form": "^7.85.0",
"react-hook-form": "^7.84.0",
"react-router-dom": "^7.18.2",
"react-toastify": "^11.0.5",
"zod": "^4.4.3"
},
"devDependencies": {
"@playwright/test": "^1.62.1",
"@testing-library/jest-dom": "^7.0.1",
"@testing-library/jest-dom": "^7.0.0",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.4",
"@testing-library/user-event": "^14.6.3",
"@types/react": "^19.2.18",
"@types/react-dom": "^19.2.4",
"@vitejs/plugin-react": "^6.0.5",
"jsdom": "^30.0.1",
"prettier": "^3.9.6",
"typescript": "~7.0.2",
"vite": "^8.2.1",
"vite": "^8.2.0",
"vitest": "^4.1.10"
}
},
@ -577,9 +577,9 @@
}
},
"node_modules/@hookform/resolvers": {
"version": "5.8.0",
"resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-5.8.0.tgz",
"integrity": "sha512-2m6GvRLmYYK1Fwt093lGMf7db9l/+8pNuAtwoNkpBntJT4xcA5lNthYGWKViOc3z2SuaPD0HjE81pyXmqc1JyA==",
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-5.7.1.tgz",
"integrity": "sha512-8wS/P4UDr5sQDe4nFaV51TVyfDPrWgNIXweqG0Bs9Z5LSuzKLb+RQNPvkN2oHM5SRrJyWrVH/F+LOUcFjUyvwQ==",
"license": "MIT",
"dependencies": {
"@standard-schema/utils": "^0.3.0"
@ -607,7 +607,7 @@
"superstruct": ">=0.12.0",
"typanion": "^3.3.2",
"valibot": ">=0.31.0 || ^1.0.0-beta.4 || ^1.0.0-rc",
"vest": ">=6.0.0",
"vest": ">=3.0.0",
"yup": "^1.0.0",
"zod": "^3.25.0 || ^4.0.0"
},
@ -722,9 +722,9 @@
}
},
"node_modules/@mui/core-downloads-tracker": {
"version": "9.3.1",
"resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-9.3.1.tgz",
"integrity": "sha512-IAyAFNQbT7hysJ9HXphiOmWJF7G1OglzHanqCgvQgH9LA2ydxtmaTBDbcBqw6euZesyShiwvpvbnYO1GY1AyXQ==",
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-9.2.0.tgz",
"integrity": "sha512-+XMav+ZaXkZKUFUgzjrfMEedfyJKxxviAske2q8N8CWDMeqZdDU2lWMkiUPiB388hGaDqhwvOAwkrsc/pUyp8g==",
"license": "MIT",
"funding": {
"type": "opencollective",
@ -732,12 +732,12 @@
}
},
"node_modules/@mui/icons-material": {
"version": "9.3.1",
"resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-9.3.1.tgz",
"integrity": "sha512-rZj5ccG7vkpV38o/l4ys+chfE9GFypmvZr9dSNBoYVCNBD9yC6KfKq1TYpEMshWbjic7GKQ8MA1LQlcpGgcq9Q==",
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-9.2.0.tgz",
"integrity": "sha512-VgBd3z7Qc3vd/thcNSMC03nHRh/U4DzMUd+1dRyJTbm/hGo7+N6N4GDuJZDNHa6LZhhwG6Cu1X3DNvrVv8sNag==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.29.7"
"@babel/runtime": "^7.29.2"
},
"engines": {
"node": ">=14.0.0"
@ -747,7 +747,7 @@
"url": "https://opencollective.com/mui-org"
},
"peerDependencies": {
"@mui/material": "^9.3.1",
"@mui/material": "^9.2.0",
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
"react": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
@ -758,22 +758,22 @@
}
},
"node_modules/@mui/material": {
"version": "9.3.1",
"resolved": "https://registry.npmjs.org/@mui/material/-/material-9.3.1.tgz",
"integrity": "sha512-NahAEGIXqS1K0bA4th1jeFxBguS59NOcLbMA0vU+fSaPWKjtwGBGGHeTwlc9PSmzMjOZKceeFWESB8fVHr31hA==",
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/@mui/material/-/material-9.2.0.tgz",
"integrity": "sha512-+YTRSgGKGrrRo2XJZXs7JRA6qHoHWvNtxyqxnrRJTBmIuLOUpxxh7m4G9lF4tWberxGFY+EqkkRPgJCl+fSMJg==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.29.7",
"@mui/core-downloads-tracker": "^9.3.1",
"@mui/system": "^9.3.0",
"@mui/types": "^9.3.0",
"@mui/utils": "^9.3.0",
"@babel/runtime": "^7.29.2",
"@mui/core-downloads-tracker": "^9.2.0",
"@mui/system": "^9.2.0",
"@mui/types": "^9.1.1",
"@mui/utils": "^9.2.0",
"@popperjs/core": "^2.11.8",
"@types/react-transition-group": "^4.4.12",
"clsx": "^2.1.1",
"csstype": "^3.2.3",
"prop-types": "^15.8.1",
"react-is": "^19.2.8",
"react-is": "^19.2.6",
"react-transition-group": "^4.4.5"
},
"engines": {
@ -786,7 +786,7 @@
"peerDependencies": {
"@emotion/react": "^11.5.0",
"@emotion/styled": "^11.3.0",
"@mui/material-pigment-css": "^9.3.0",
"@mui/material-pigment-css": "^9.2.0",
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
@ -807,13 +807,13 @@
}
},
"node_modules/@mui/private-theming": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-9.3.0.tgz",
"integrity": "sha512-ERvqk5pejf9aRnQcDILSWGtFmsEMiVxlQ4+xsVCjsEvmK0fV9BiVP/cQwAF5dwyDFbve4lTrlcgeFEecVzTNiA==",
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-9.2.0.tgz",
"integrity": "sha512-w9wpyDxGPGnAACPB2hKhCDmILJIAvQxrfjUbIAEa0AznX1rOjaz5N+yB1uuw8ixnJcpEh/tPbD9oEe19wcWPHw==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.29.7",
"@mui/utils": "^9.3.0",
"@babel/runtime": "^7.29.2",
"@mui/utils": "^9.2.0",
"prop-types": "^15.8.1"
},
"engines": {
@ -834,12 +834,12 @@
}
},
"node_modules/@mui/styled-engine": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-9.3.0.tgz",
"integrity": "sha512-x9+KYxhjoHYZ4nioxdKnvQWdw0RScbhoZfQ4tv3Db742683U3wlYSp6zV6Us78dMFnKnyTrPTkQKyutp14gnKA==",
"version": "9.1.1",
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-9.1.1.tgz",
"integrity": "sha512-neaYKdJfvEG54q8efHLJR7swpHG/gfSv9xGqW5iTSMsubD7yPCPFrhVBt284j1DOF3uZaaDJSHQL7gz6jGF21Q==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.29.7",
"@babel/runtime": "^7.29.2",
"@emotion/cache": "^11.14.0",
"@emotion/serialize": "^1.3.3",
"@emotion/sheet": "^1.4.0",
@ -868,16 +868,16 @@
}
},
"node_modules/@mui/system": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/@mui/system/-/system-9.3.0.tgz",
"integrity": "sha512-0l4LqHJxZj65xSrioniGsxm7VNoGXonPo203oZjhBUvIDPeBqRTb7Mqc45Qxs6sO6WGR7WE/9cJ6lb4lkvHkjg==",
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/@mui/system/-/system-9.2.0.tgz",
"integrity": "sha512-YvUJwKoGVtbnOm2PyPi5TvX2d1rOA6sqSpEWVs4WmXNIaFTuYmNUaVdU2o1NKUEe31URnD3E8ZVUMcsLQXwcYg==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.29.7",
"@mui/private-theming": "^9.3.0",
"@mui/styled-engine": "^9.3.0",
"@mui/types": "^9.3.0",
"@mui/utils": "^9.3.0",
"@babel/runtime": "^7.29.2",
"@mui/private-theming": "^9.2.0",
"@mui/styled-engine": "^9.1.1",
"@mui/types": "^9.1.1",
"@mui/utils": "^9.2.0",
"clsx": "^2.1.1",
"csstype": "^3.2.3",
"prop-types": "^15.8.1"
@ -908,12 +908,12 @@
}
},
"node_modules/@mui/types": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/@mui/types/-/types-9.3.0.tgz",
"integrity": "sha512-2JSxyfpEFWNUB2vKs/T1BvkfyNisMHWph8bLMj8T0uHwmLl/0qfAwQkfwMT6kxLXN9uIum9AEbECXU8er3amIg==",
"version": "9.1.1",
"resolved": "https://registry.npmjs.org/@mui/types/-/types-9.1.1.tgz",
"integrity": "sha512-Zjt7u8wNvDg40rPTGoL+TnfkpuSKjwubsNSFRH1KAVZLcaV4I3AFNHIFbvH7p4F3alEibSbdd90xAgn5Rnfndg==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.29.7"
"@babel/runtime": "^7.29.2"
},
"peerDependencies": {
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0"
@ -925,17 +925,17 @@
}
},
"node_modules/@mui/utils": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.3.0.tgz",
"integrity": "sha512-2HZdHwWJ6eB+7lVGSOHsByGw8jeRulT4g0NZ608Wb8Q57DE2jbNqrWPFuJsvkQQiBiTmlpvQL3i+/62zsiPrkw==",
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-9.2.0.tgz",
"integrity": "sha512-OsUH5zhlSOM4xmLl53+agug1M1UyWb4zxFxWQCqwKTKUeQPvTENtg3JhrroBD2qpCLKsX5W/DYGERJ4mBUbc8g==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.29.7",
"@mui/types": "^9.3.0",
"@babel/runtime": "^7.29.2",
"@mui/types": "^9.1.1",
"@types/prop-types": "^15.7.15",
"clsx": "^2.1.1",
"prop-types": "^15.8.1",
"react-is": "^19.2.8"
"react-is": "^19.2.6"
},
"engines": {
"node": ">=14.0.0"
@ -1318,9 +1318,9 @@
}
},
"node_modules/@testing-library/jest-dom": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-7.0.1.tgz",
"integrity": "sha512-oMDTC3oA+6CXSO2JZnvOI7CA6oVub6kij5ggk9ohwye5slmkwxYDXcPOVxgMw/RQlticjtO0C1RZkR97HgrWMw==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-7.0.0.tgz",
"integrity": "sha512-HKAH9C6mBo5yBG6yRO5i43L2iisencAo5z+o5P/saHUoY+miC5ivXRxHBJcFyB5ypPNxHJdK3BoF/3O4DIptMg==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -1337,13 +1337,7 @@
"yarn": ">=1"
},
"peerDependencies": {
"@testing-library/dom": ">=10 <11",
"vitest": ">= 0.32"
},
"peerDependenciesMeta": {
"vitest": {
"optional": true
}
"@testing-library/dom": ">=10 <11"
}
},
"node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": {
@ -1382,9 +1376,9 @@
}
},
"node_modules/@testing-library/user-event": {
"version": "14.6.4",
"resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.4.tgz",
"integrity": "sha512-QCGwP6QrjypBLwyj5cuyfVamkaIEy/XGY+1VDehbtbQqOggYmTFpFOdWR5mPz14vX8vXLMVjDHlRNBcClyO9ew==",
"version": "14.6.3",
"resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.3.tgz",
"integrity": "sha512-6dBq67jT8lE+JTE8Exm02Kt6ze43hz1jdiSpSJwtTZiT1xQQ6b7nZYTTQ9njdArdU8XklOwaDp/AbT/eYSKF4g==",
"dev": true,
"license": "MIT",
"engines": {
@ -3032,9 +3026,9 @@
}
},
"node_modules/lucide-react": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.31.0.tgz",
"integrity": "sha512-G8u2eEtoHUnUa9f8lbvqDhCiORMnYLdUEo06EEG9MQvHQrInKcX3Pa2TH39MM5qyzRcWETxB0+aOwAPI1g1kEg==",
"version": "1.28.0",
"resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.28.0.tgz",
"integrity": "sha512-fARAFJULsGuDDydjp6+6blekG/sBIM29TerzLjc9bQUKAcEfrSc4ZQKb25KRz4OMKd87cZTb5dgq0w/T6KufVg==",
"license": "ISC",
"peerDependencies": {
"react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
@ -3414,9 +3408,9 @@
}
},
"node_modules/react-hook-form": {
"version": "7.85.0",
"resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.85.0.tgz",
"integrity": "sha512-U2MTriFXnclmV4rOE20p2DcRFv5WEg3FIcBFOKcOLFHDVvGIMPvLTkTWefUsonmlaVy23khVDxDWym6uJVGOzw==",
"version": "7.84.0",
"resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.84.0.tgz",
"integrity": "sha512-+hWvQP6GLco56mDwrbU4XnHix8t1z90ltZsDIrREl+jnQFQxYLX8oAzqe/Xn8nHpmoXTY5M6oEXrAhbP1qevNQ==",
"license": "MIT",
"engines": {
"node": ">=18.0.0"
@ -3430,9 +3424,9 @@
}
},
"node_modules/react-is": {
"version": "19.2.8",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.8.tgz",
"integrity": "sha512-s5un28nYxKJw5gvUHyW5PCC28CvBqLu9r3cWgzHT4Vo/5fqqkFcdRYsGcKf50WMPpjjFZS5d76fn3YCo2njKwQ==",
"version": "19.2.7",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz",
"integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==",
"license": "MIT"
},
"node_modules/react-router": {
@ -3828,16 +3822,16 @@
}
},
"node_modules/vite": {
"version": "8.2.1",
"resolved": "https://registry.npmjs.org/vite/-/vite-8.2.1.tgz",
"integrity": "sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw==",
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/vite/-/vite-8.2.0.tgz",
"integrity": "sha512-pn+CFpM0lwDeKwmOq1ZaBK/9sjorZcgqxki6MbY/jPEVd9vichIlmlD4HmQ5wdP5EgqQCFRaACBxMC7uEGc6lQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"lightningcss": "^1.33.0",
"picomatch": "^4.0.5",
"postcss": "^8.5.25",
"rolldown": "~1.2.1",
"postcss": "^8.5.23",
"rolldown": "~1.2.0",
"tinyglobby": "^0.2.17"
},
"bin": {

View file

@ -20,32 +20,32 @@
"@fontsource/dm-sans": "^5.3.0",
"@fontsource/jetbrains-mono": "^5.3.0",
"@fontsource/montserrat": "^5.3.0",
"@hookform/resolvers": "^5.8.0",
"@mui/icons-material": "^9.3.1",
"@hookform/resolvers": "^5.7.1",
"@mui/icons-material": "^9.2.0",
"@mui/material": "^9.1.1",
"@proposal-system/api-contracts": "file:../shared/api-contracts",
"@tanstack/react-query": "^5.101.4",
"axios": "^1.19.0",
"lucide-react": "^1.31.0",
"lucide-react": "^1.28.0",
"react": "^19.2.8",
"react-dom": "^19.2.8",
"react-hook-form": "^7.85.0",
"react-hook-form": "^7.84.0",
"react-router-dom": "^7.18.2",
"react-toastify": "^11.0.5",
"zod": "^4.4.3"
},
"devDependencies": {
"@playwright/test": "^1.62.1",
"@testing-library/jest-dom": "^7.0.1",
"@testing-library/jest-dom": "^7.0.0",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.4",
"@testing-library/user-event": "^14.6.3",
"@types/react": "^19.2.18",
"@types/react-dom": "^19.2.4",
"@vitejs/plugin-react": "^6.0.5",
"jsdom": "^30.0.1",
"prettier": "^3.9.6",
"typescript": "~7.0.2",
"vite": "^8.2.1",
"vite": "^8.2.0",
"vitest": "^4.1.10"
},
"overrides": {