diff --git a/package.json b/package.json
index 242f7f3..d9d940d 100644
--- a/package.json
+++ b/package.json
@@ -36,7 +36,7 @@
"lucide-react": "^1.22.0",
"mathjs": "^15.2.0",
"optional": "^0.1.4",
- "radix-ui": "^1.6.0",
+ "radix-ui": "^1.6.1",
"react": "^19.2.7",
"react-dom": "^19.2.7",
"react-dropzone": "^15.0.0",
@@ -62,7 +62,7 @@
"prettier-plugin-tailwindcss": "^0.8.0",
"tailwindcss": "^4.3.2",
"typescript": "^6.0.3",
- "vite": "^8.1.0",
+ "vite": "^8.1.2",
"vite-plugin-devtools-json": "^1.0.0",
"vite-plugin-pwa": "^1.3.0",
"vitest": "^4.1.9",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f7935f5..1abf005 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -48,8 +48,8 @@ importers:
specifier: ^0.1.4
version: 0.1.4
radix-ui:
- specifier: ^1.6.0
- version: 1.6.0(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ specifier: ^1.6.1
+ version: 1.6.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react:
specifier: ^19.2.7
version: 19.2.7
@@ -80,10 +80,10 @@ importers:
devDependencies:
'@react-router/dev':
specifier: 8.1.0
- version: 8.1.0(@react-router/serve@8.1.0(react-router@8.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(typescript@6.0.3))(react-router@8.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(typescript@6.0.3)(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
+ version: 8.1.0(@react-router/serve@8.1.0(react-router@8.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(typescript@6.0.3))(react-router@8.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(typescript@6.0.3)(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
'@tailwindcss/vite':
specifier: ^4.3.2
- version: 4.3.2(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
+ version: 4.3.2(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
'@types/convert-source-map':
specifier: ^2.0.3
version: 2.0.3
@@ -101,7 +101,7 @@ importers:
version: 1.0.2
'@vitest/browser-playwright':
specifier: ^4.1.9
- version: 4.1.9(playwright@1.61.0)(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(vitest@4.1.9)
+ version: 4.1.9(playwright@1.61.1)(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(vitest@4.1.9)
babel-plugin-react-compiler:
specifier: ^1.0.0
version: 1.0.0
@@ -121,17 +121,17 @@ importers:
specifier: ^6.0.3
version: 6.0.3
vite:
- specifier: ^8.1.0
- version: 8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
+ specifier: ^8.1.2
+ version: 8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
vite-plugin-devtools-json:
specifier: ^1.0.0
- version: 1.0.0(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
+ version: 1.0.0(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
vite-plugin-pwa:
specifier: ^1.3.0
- version: 1.3.0(@vite-pwa/assets-generator@1.0.2)(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(workbox-build@7.4.1)(workbox-window@7.4.1)
+ version: 1.3.0(@vite-pwa/assets-generator@1.0.2)(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(workbox-build@7.4.1)(workbox-window@7.4.1)
vitest:
specifier: ^4.1.9
- version: 4.1.9(@types/node@26.0.1)(@vitest/browser-playwright@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
+ version: 4.1.9(@types/node@26.0.1)(@vitest/browser-playwright@4.1.9)(jsdom@29.1.1)(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
vitest-browser-react:
specifier: ^2.2.0
version: 2.2.0(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(vitest@4.1.9)
@@ -985,8 +985,8 @@ packages:
'@radix-ui/primitive@1.1.4':
resolution: {integrity: sha512-7AdCK9PQyiljKoBDbN8OuctCbd/esdwZPQ8RtOE3SsyQtUpiPb+ND75q0jEhC1m1ecBI0MFNeLJvwIh9iKHRcQ==}
- '@radix-ui/react-accessible-icon@1.1.10':
- resolution: {integrity: sha512-TraSwZUqTcVbiDV2/RXzAXC7aeVVXchq0daPFZE7zAxYFaMzjOUggLOfQH9KFLgRizuwVKZO/crveV1eeO3/ZQ==}
+ '@radix-ui/react-accessible-icon@1.1.11':
+ resolution: {integrity: sha512-HQDOFTKwSnmUij6l54wYJJtxTAnxI71+YJLOrjm2ladFB8HAV5Jt7hwaZPhWTGBkYoW4+ZAOfNZrLDh/qvxSYA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -998,8 +998,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-accordion@1.2.14':
- resolution: {integrity: sha512-iE8YB9nmTBH8zd73ofBISZ8JCzgMoMkATJr7qDwa6u5F1+7mTM81V6fa71jgZ65rpjVpecDf1vSnwIFP9Ly1zw==}
+ '@radix-ui/react-accordion@1.2.15':
+ resolution: {integrity: sha512-24Zz/0SYx8F2bSVThBnQrdJs2VbKelyuJordcFRRdA0fRAhrq/wSegGCqaQz34VQoiWqSMGYCYXEhynLSlyQlg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1011,8 +1011,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-alert-dialog@1.1.17':
- resolution: {integrity: sha512-563ygGeyWPrxyVCNp7OV4rE2aIXhFPknpFyo4wbDlcyMMPZ6ySh+zC5WTvY0ZFLgPTg/QB6tA8PyDQyJ2b4cPg==}
+ '@radix-ui/react-alert-dialog@1.1.18':
+ resolution: {integrity: sha512-6c2cXpNlAgHDhKguK24XcWHHayMpK+lk7/WwBXBco+ZJ4Dv7xP++GBM280KgTD/HCRu3jSdfe8WQiZssonYaIA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1024,8 +1024,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-arrow@1.1.10':
- resolution: {integrity: sha512-j2VTDz1vgCsmuG0k5lBfOcM8n5JPFqZBcMryasFjHYMhwxYL5SRUV5lMSUpRdNtw3D/Sv8pzJtrlAgkssYSsQQ==}
+ '@radix-ui/react-arrow@1.1.11':
+ resolution: {integrity: sha512-Kdil9BB1rIFC/khmf4hC35bn8701AJcizTU7G7cUbEbk5XqqbjDuHW60uUfKqO5WojjZcbAW51Q7P0hRmMLw8A==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1037,8 +1037,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-aspect-ratio@1.1.10':
- resolution: {integrity: sha512-kbI7NrqhDeuytYrq7JjAsoXczvL8wgj2tc1MyaYWm+50bMKHCHQtVWCryslx4cCpmCTTkBcwQckE4CmmGV2haQ==}
+ '@radix-ui/react-aspect-ratio@1.1.11':
+ resolution: {integrity: sha512-IUAhIVpBUvP5NNICjlaB1OFmtRLGqQqTF3ZOSGPoq3XeLXRFtHiWTRxSVEULgOd9GQR2c7tsYqDnhUennapZnw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1050,8 +1050,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-avatar@1.2.0':
- resolution: {integrity: sha512-am/CwltXtmtdtP+5FbYblYDnMa/zuKcMJP1i3/SJMDXXfj2mG+BTqLH2wucqeyyiQMursUtg/5cK+Nh2pCaSOA==}
+ '@radix-ui/react-avatar@1.2.1':
+ resolution: {integrity: sha512-+8PWoLLZv3AVb5m0pvoiOca/bQGzc9vPVb+982HB2x3Un0DpYEPM3zLMl4oqRpBsocJuNqLkiv/HXTnTrlwr4g==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1063,8 +1063,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-checkbox@1.3.5':
- resolution: {integrity: sha512-pREzrmNnVwGvYaBoM64huTRK7B3lrTRuwj8A9nwhPiEtMb+yudiWh6zWAqEtP0Dzd5+iBa1Ki7V1pCxV8ExMdA==}
+ '@radix-ui/react-checkbox@1.3.6':
+ resolution: {integrity: sha512-eUEUoGMDpfkgHWSE97ZZaUJtzR1M7EKnNIpD1Q16+8JR9NWghcaqMulx9PuCQ720w0UclfYn6FEbCdd5Hx087g==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1076,8 +1076,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-collapsible@1.1.14':
- resolution: {integrity: sha512-9bT+FvifX1FK2Mj6UEsTdyu0cN3JaA3KdfhaBao+ONrYFy/pyOy3TU1TNw7iOk1o+0hOEq67RojlUUmoFGwxyA==}
+ '@radix-ui/react-collapsible@1.1.15':
+ resolution: {integrity: sha512-8A1zibu5skAQ+UVbaeNH5hVMibiFCRJzgMuM14LTWGttnTZKQL9jwYnhAbHRuxrtCqPXa4JvvnVUq1pTNgyZYw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1089,8 +1089,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-collection@1.1.10':
- resolution: {integrity: sha512-IVVz4EvBcKjrzKgof714qDnz/SzQAkLA2Emh5edlHbgcE6fNd3Un6CJLlaYcnm8N4JmAtzQgse4dOKxcD2yc9g==}
+ '@radix-ui/react-collection@1.1.11':
+ resolution: {integrity: sha512-djW9+zeg137KQdlPtmE8xnaD+K2rcXXMWFrSg0hsmYZ6HRbdTA7tDHFgpaW9+huWVEu0RCabL+985T4TA0BE7g==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1111,8 +1111,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-context-menu@2.3.1':
- resolution: {integrity: sha512-XbrxS68W5dyiE4fAb96yvJwSVU5x66B20A99sD5Mk3xSWK/LqeOnx6TZnim1KieMjXS/CTFq8reOAjWxas2G8Q==}
+ '@radix-ui/react-context-menu@2.3.2':
+ resolution: {integrity: sha512-qzsA/ZPhF6yMxBOTIk1nlCkoy2mswSbwYL+ErBa2iP0s4WWrlxmczArYqMcpVfEjmM7KJj/ADPXky0yZfbSxtQ==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1133,8 +1133,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-dialog@1.1.17':
- resolution: {integrity: sha512-TDTYmpdq8dI2+Xgvgj9AJ8Ghqq+Eph/TRVEdaFQPDItIY+6QSkU7MJMeevw1568Yw/2Ijz8BTphPSP2XejKphw==}
+ '@radix-ui/react-dialog@1.1.18':
+ resolution: {integrity: sha512-apa28mldjMgORmE6g/w3sCcA0Y9UAVeeDVoozN4i7kOw12mLl9RBchfzK3Nn6qxOWjrZhK1Lfy7f07kyzxtnBw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1155,8 +1155,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-dismissable-layer@1.1.13':
- resolution: {integrity: sha512-2v+zNAWWe0ySxgC0D0yeXMPQ23xZVgXZTerTz+JKlmdRj6gfTqmCcR29jb6d290DezXPGgruHWDX/vYUebtErg==}
+ '@radix-ui/react-dismissable-layer@1.1.14':
+ resolution: {integrity: sha512-4lUhWTWAjbDIqFrAPWJ3WqBOpO5YchVZ88X3nh6H9Lu5AFi5nCUeTPj3D8FSDmabmFeRe9ME0BDA4MwKTha5GQ==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1168,8 +1168,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-dropdown-menu@2.1.18':
- resolution: {integrity: sha512-PZGV82gFk0WltDRI//SsG28ZIjlo9ANTmoNYg0jLNzXXiDsAy5PkOOYQaVD1pPxY6t7gxffb1QMD6qaUvsBZdw==}
+ '@radix-ui/react-dropdown-menu@2.1.19':
+ resolution: {integrity: sha512-HZccBkbK0LOi8nYKIp5jll/zIRW0cCOmG6WWyqsSpmXCU+ZlcBbTqIwlBvPCu886C5RVu6c/kHV7xSP8IgYNHw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1190,8 +1190,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-focus-scope@1.1.10':
- resolution: {integrity: sha512-Fas/lXQqhVvqwAb64s5RFeHiHYElZ6SUQbZaNd6EkfhP/Al7wTIQ9WIR4QVX475tlu5yFCEdDcJH6/UwsZjMWw==}
+ '@radix-ui/react-focus-scope@1.1.11':
+ resolution: {integrity: sha512-Mn88Vg2whaRocGJNOH+DKFqYm6ySFPQaiwHNxZPyjn99B52KAEJWWY9NP83+nWdk2HM3rdov+STu9AG471Rt9w==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1203,8 +1203,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-form@0.1.10':
- resolution: {integrity: sha512-1NfuvctVtX4sU3Mmq/IdrR8UunxiCMiVg3A5UENKhFzxUBeOyaQQ+lmaQaV7Tc8cqvBKsJL3/KGBsixK0D8WFg==}
+ '@radix-ui/react-form@0.1.11':
+ resolution: {integrity: sha512-0mTMJHv1gQAuEQoq5VDpTD3MRgmfUFdXAVFhpqR7wBeUr+tyRsof0wv/4XdPHLwQrefhoH2FiGHCggrCJhalIw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1216,8 +1216,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-hover-card@1.1.17':
- resolution: {integrity: sha512-GjZQIEANVkuuWeztlKz6QEHe31ZX2iDfHzcTMCQVZXC0JyQrgfKWSC+LOOEw6aVV64zyjzobIzSA4AU4eKWrHA==}
+ '@radix-ui/react-hover-card@1.1.18':
+ resolution: {integrity: sha512-rt+Fx4HoCeEwFL2IdoV2QaPltqDLlzxN77i9nwB3Y70scFlfAHh1QCdE2TXKuFJtA1TNygb0oivnFBZifgtZOw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1238,8 +1238,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-label@2.1.10':
- resolution: {integrity: sha512-ib0zvq2ZsAqKm5tRnqGJn3vOxSgIts5ToxsXT0q1S/GfLD1Zj7UOEnkw8u2w6sRmn47djpQWuSU1DCL1R29/yw==}
+ '@radix-ui/react-label@2.1.11':
+ resolution: {integrity: sha512-3PKvDDxOn62k0oV1n4QtNtD2vpu+zYjXR7ojLBPaO6SPvhy53yg0vAmgNeBQeJW5rV3dffoRG+HYfLBZuzw0CQ==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1251,8 +1251,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-menu@2.1.18':
- resolution: {integrity: sha512-lj8Rxjtn6zJq1oSbE/uDtAwCbB9BnxgHD+8MwJMuTh6u1dPamYhW9iuELr/Z8d0D/UysFblYYHeBPwi7T4k0YQ==}
+ '@radix-ui/react-menu@2.1.19':
+ resolution: {integrity: sha512-Mht9BVd1AIsNFVQr4KG3bIK7XQn5IXF0TL/2ObsrzOdc1loaly/+kBDL5roSCYn8j8XZkvpOD0WYLz2FQtH1Eg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1264,8 +1264,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-menubar@1.1.18':
- resolution: {integrity: sha512-hX7EGx/oFq6DPY27GQuP/2wP48GHf5LG6r06VgNJlG+znmDS8OfopZcRcGly3L4lsB9FqpmLx6JQSE9P3BUpyw==}
+ '@radix-ui/react-menubar@1.1.19':
+ resolution: {integrity: sha512-Glt6mebxcgQvLeVkH3HiqV5bgQubE+31ELxLs7q0GlYI5k0XYkOkeuPrhXoylxK8eufvIt9CJjzY1TfFMXK3qw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1277,8 +1277,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-navigation-menu@1.2.16':
- resolution: {integrity: sha512-nJ0SkrSQgudyYhMiYeHA1ayLVuduEJCFLan1RZZN7c9kqzzCFLaU9kuy81uNtqzweM9YaQPgWzxi9MwQ9jZ04g==}
+ '@radix-ui/react-navigation-menu@1.2.17':
+ resolution: {integrity: sha512-fYeYQvbeNn5AQk2RBbpO7koLm2YbS00UYxC/IL2sgLlninEH5UNIv+X3E0KJ1Vy4WIo+dhN9w8GNqSHhbHWCIg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1290,8 +1290,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-one-time-password-field@0.1.10':
- resolution: {integrity: sha512-GHkcJ+WVj91At+OvUVTD4R3W0/wxw9t/sG5xFUBYXaCbtWiooZX5Md376QjJqgH4VsVyXrbVNHO2O4NYcmjfVg==}
+ '@radix-ui/react-one-time-password-field@0.1.11':
+ resolution: {integrity: sha512-Rsgab65u73E5kPVh8OS6PgPwJgPyf08GFfJDGAbMdF4DL7CgDhFOaDnXuk/DiMEVF6kgQwl0oJmFklvipmiOLg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1303,8 +1303,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-password-toggle-field@0.1.5':
- resolution: {integrity: sha512-fVuA82u0b/fClpbEJv8yp1nU9eSvoSEOERsU/hhf3FXGPIvkmE7oEaHEu8poowoXO39/Va7zq2E0TUcYr1dBRg==}
+ '@radix-ui/react-password-toggle-field@0.1.6':
+ resolution: {integrity: sha512-pQ3xGp/uemomASPH97Eb3shfXX8QlG11bBJyEvRBV+vwtO4HvQlS06Yj9f31Ao7XepvF98SFrRgVDQ7jv+2xjQ==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1316,8 +1316,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-popover@1.1.17':
- resolution: {integrity: sha512-/YSAOdJ7YJvdn7bn5sdSx2egW+SKY+u7O5RyAVs94Ymrg2fg5QTSFPMRkzvhGyFuE4/qsmPBdrwYoZMZh/4f+g==}
+ '@radix-ui/react-popover@1.1.18':
+ resolution: {integrity: sha512-qdXDes+eHlnMUGlBAAAe5EG7oOQvqsXuq4mq585diMudg80iB+jHbsSeG3+Q4eWNsogNyhqU2p/3i+Y0iEepqg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1329,8 +1329,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-popper@1.3.1':
- resolution: {integrity: sha512-bhnq/0DEPTi2lsOD3J5rTL65qUKHbKbhqHsmN9TMiclSXpipi651ooUKPPp6G5lF/WiHBdn1s0Wuqsn+myVAvw==}
+ '@radix-ui/react-popper@1.3.2':
+ resolution: {integrity: sha512-3QXNeMkdshed1MR3LNoiCirBywRFPkD8ETJa/HlPuLwSajaQixf2ro+isoDNJlGABg9ug41XuZpINZJIle4XWg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1342,8 +1342,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-portal@1.1.12':
- resolution: {integrity: sha512-m309havGzsjLHHaIX50G5PlvRs3xkgPCsGk/5PTvYm8D5q33yG0J7w/712PTOhid7NTaFETtnSXjngHQavvhVw==}
+ '@radix-ui/react-portal@1.1.13':
+ resolution: {integrity: sha512-z3oXfmaHLJTF1wktbjgD6cn9jiEbq3WSondB10LIuIt2m2Ym4iJlrW04/euMwENDdWDdE7z+OuY7Qyp1YpRSwA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1368,8 +1368,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-primitive@2.1.6':
- resolution: {integrity: sha512-wetd0QI77DbvrPpTAvH1SqOxsYF2wZe5TNxqwOd5Ty4XDpV3dpV0s8K/1MGMJBeY5o7lg8ub5VIt1Ub+yVen6g==}
+ '@radix-ui/react-primitive@2.1.7':
+ resolution: {integrity: sha512-bC3NiwsprbxKjuon9l7X6BUTw7FPVzEYaL92MPEY5SCd/9hUTPXVFtVwRix7778wtRsVao+zE062gL79FZleeQ==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1381,8 +1381,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-progress@1.1.10':
- resolution: {integrity: sha512-JYzEg60lk79PwKM27WZyKd7PW8O4OM5jOaFfRPfOyeXmMw7tLJh5kSj+CEjVTehszuwml/AdCzPGMXBTGf4BBw==}
+ '@radix-ui/react-progress@1.1.11':
+ resolution: {integrity: sha512-KqiGJcFaZDc+BvveAgU3ZhACg2MvSUDrCBx4lRR/ZVRNal0bvt8lBpvnSkep9heeOuF8Qfw3fszLDX4OpQ2NVw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1394,8 +1394,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-radio-group@1.4.1':
- resolution: {integrity: sha512-/SSxZdKEo2Eo29FFRKd06EfFDYp8HryKg0WYg7QLXaydPzl52YfSvCH2a3QDBRdtcuwACroJT8UVjQVgOJ7P9A==}
+ '@radix-ui/react-radio-group@1.4.2':
+ resolution: {integrity: sha512-W8Uo9riHnlzLLWy+r2mVHUyuEWqD/+be4PZzbEvaGoFSBDHkm+GYWjtcE6u3AmPKNyfanWpnVfpZ2GqPCdzzsw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1407,8 +1407,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-roving-focus@1.1.13':
- resolution: {integrity: sha512-9gkwneI0guf8JDmrFxPjJF6Ozzgioyw+/lonYNCwefS9ZHA05er0BVHiXr+LbWGHxUfczvMY6G1oiZZi1VzjRw==}
+ '@radix-ui/react-roving-focus@1.1.14':
+ resolution: {integrity: sha512-8Qcnx9447tx/aCBgw6Jenfqg4Skq+vqab9mCBmuGNipIS5YXvL275wbKEu7+ICYHIlAPgCduUMJH1XOYewKF6Q==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1420,8 +1420,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-scroll-area@1.2.12':
- resolution: {integrity: sha512-xuafVzQiTCLsyEjakowTdG3OgTXsmO7IdCiO77otIa+z44xoLNs9Do5eg7POFumIOCjtG6djfm6RKUKpUa/csA==}
+ '@radix-ui/react-scroll-area@1.2.13':
+ resolution: {integrity: sha512-7tncSubo2G0UY1e8rk+72qe3XRzrGnOLtZQ1PL1KoBfRUNX0NrJT5akb+0kfwSCc3gVR4wdHqyhAQBDpDNOwDw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1433,8 +1433,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-select@2.3.1':
- resolution: {integrity: sha512-w6eDvY78LE9ZUiNnXCA1QVK8RYN7k9galFv09kjVydJqBAgHd7Y9A6h0UJ/6DCZNGZMZrB2ohcSW1Bo9d8+wWA==}
+ '@radix-ui/react-select@2.3.2':
+ resolution: {integrity: sha512-brXD6C/V0fVK0DDbscLVw6LsXrjQ+ay8jdOBaN+tLb4vsHsAMm6Gt6eT77wHX1Eq8GPtD5rJ+RxFtfDozsb4+Q==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1446,8 +1446,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-separator@1.1.10':
- resolution: {integrity: sha512-Y6K6jLQCVfCnTL2MEtGxDLffkhNfEfHsEg3Wa8JU+IWdn3EWbLXd3OuOfQRN7p/W/cUce1WyTk3QeuAoDBzN9g==}
+ '@radix-ui/react-separator@1.1.11':
+ resolution: {integrity: sha512-jRhe86+8PF7VZ1u14eOWVOuh2BuAhALg/FT1VcMC4OHedMTRUazDnDlKTt+yxo5cRNKHMfmvZ4sSQtWDeMV4CQ==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1459,8 +1459,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-slider@1.4.1':
- resolution: {integrity: sha512-r91WSpQucNGFKAIxT8FT0H0zyjd5tJlqObLp7LOMV4z49KoDCwjy01w3vDOU4e1wxhF9IgjYco7SB6byOW7Buw==}
+ '@radix-ui/react-slider@1.4.2':
+ resolution: {integrity: sha512-qt5C1ppJz66aUDrH1VccjPrq7aFchK0wBrn6xsxlCHNUyE57dRRQ7lp1QFpF7OscMexZF8MCGBTVBlENHPkNiA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1481,8 +1481,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-switch@1.3.1':
- resolution: {integrity: sha512-55bQtCnOB0BohomSHi6qvQXpJEEqUGDm6hRrM0Bph5OXwhSegqkd8IqgBAQkM1IlgUlWZIxpxRcpOEfRIgimyw==}
+ '@radix-ui/react-switch@1.3.2':
+ resolution: {integrity: sha512-tgRBI3DdNwAJYE4BBZyZcz/HRRCvAsPkRvG1wvKc+41tBGMxPn/a87T/wikXAvyDypNQ9kaZwHbeZe+veHCGpA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1494,8 +1494,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-tabs@1.1.15':
- resolution: {integrity: sha512-kxc9gI6/HfcU4nfMMVS3AmQK414kbU1IE6UCJmMmxjhO3cRPXOyYnmvyKD+ODt7q56nRq9l7Wovi6uaGwKgMlg==}
+ '@radix-ui/react-tabs@1.1.16':
+ resolution: {integrity: sha512-v3Ab2l7z6U7tRB4xA0IyKdq0OsqaO1o9ZjsIEoKKnSZ/l96mZz8aCTX0NCXw+YVHJXr8Km4d+Mn6/Q8YjXa+gw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1507,8 +1507,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-toast@1.2.17':
- resolution: {integrity: sha512-uL4kyyWy000pPL43fGGCV5qT6ZchCWEQZOSlkYiPwPt8Hy1iW38RjeptIvz1/SZesrW6Vn58Ct3sV7tfEfiAbw==}
+ '@radix-ui/react-toast@1.2.18':
+ resolution: {integrity: sha512-YNEnTHV47hPep+U0QvVM02OJNka9uygREc+k4Nh5VSZBg4MmE+myI442x3hCGfRpX7N2WSSYSJKws4gE+Z8lgg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1520,8 +1520,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-toggle-group@1.1.13':
- resolution: {integrity: sha512-Xb9PLtlvU66F36LiKba6dFswu6V2mDkgidO4fNSbQHQwmZ9ObxMIO17MN/LJ4aWJecVuSVLAHPZjyeMzJrgeiA==}
+ '@radix-ui/react-toggle-group@1.1.14':
+ resolution: {integrity: sha512-TK1vusNKb8IRhF23FTbRgUNZ9zfs5rGIyI7LfR3h26p9LrQ060i0uW9QWeD8baZMddaaP0DBGlIa6pbZG+mitg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1533,8 +1533,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-toggle@1.1.12':
- resolution: {integrity: sha512-AsAVsYNZIlRBsci7BhE+QyQeKd1h6TffJYt+lF0QQkd5OpQ3klfIByPsCb4G0h/Fq6PJwh1FYNluzBFYzhk4+w==}
+ '@radix-ui/react-toggle@1.1.13':
+ resolution: {integrity: sha512-bI2ILJrzwgmAsH05TsJ9pVrzqQwAip7OM2/krqAdYn0R16bl86UPWbe5VPHsALat0EnqpV01cGtkleaUKPNdNg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1546,8 +1546,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-toolbar@1.1.13':
- resolution: {integrity: sha512-Za1l4f6fzTkGgz/iynAMN8iaqiKff2wm2/QwiLmHPtDQreWEBrvSimgQFIekxMUdRPhILM7xdIXxuS/o/DGZag==}
+ '@radix-ui/react-toolbar@1.1.14':
+ resolution: {integrity: sha512-L/EkWVqlnj3lL2toHh4C7PwH2jxfa7OCq6lGfXSCii99ve2S4Ux5rc9HnOa7LN9exHa/Nl9kmCAmP9BuDPy5UA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1559,8 +1559,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-tooltip@1.2.10':
- resolution: {integrity: sha512-NlNe8D0dWEpVfXFli90IO6X07Josx/b1iu98tDnx9Xv0HT4wLIL+m2VOheMHhK7qbp2HoTBqALEFzGyZs/levw==}
+ '@radix-ui/react-tooltip@1.2.11':
+ resolution: {integrity: sha512-8XZ6Py3y3W2nEzAUGCN5cfVKaUi+CVApcz1d6lrNVVf2hvYEixMRkq8k9ggPKnQUpRRuOV5avt8uvxViH2jLwA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -1599,8 +1599,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-use-escape-keydown@1.1.2':
- resolution: {integrity: sha512-2uVLvLjgO7NZCWw01/FdqRwmA42J0BcjPMUCA+koFEOAb+zjqIP7SiFz/7zWPrKnVmSqr76Omq2ALyCuX4dhLw==}
+ '@radix-ui/react-use-escape-keydown@1.1.3':
+ resolution: {integrity: sha512-3wEkMiPHXha/2VadZ68rYBcmYnPINVGl4Y3gtcM7fKRjANk0OscK+cdqBgUWdozb7YJxsh0vefM7vgAMHXOjqg==}
peerDependencies:
'@types/react': '*'
react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
@@ -1653,8 +1653,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-visually-hidden@1.2.6':
- resolution: {integrity: sha512-jCE0WljWifTI4niIMCll06kGpsJTAPiZVU9H4WR1N6qW7At9ystHbN7dDB+we2xH535roFHj7qKS+RGj0FMDWQ==}
+ '@radix-ui/react-visually-hidden@1.2.7':
+ resolution: {integrity: sha512-1wNZBggTDK3GRuuQ6nP4k2yi7a6l7I5qbMPbZcRsrGsGVead/f/d5FhEzUvqFs0bcrDLx7n1zKQ3JvLR6whaaw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -2380,8 +2380,8 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
- caniuse-lite@1.0.30001799:
- resolution: {integrity: sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==}
+ caniuse-lite@1.0.30001800:
+ resolution: {integrity: sha512-MMHtuAz9Ys840zAY5F4k6fV5GaivZ9sPk+nz0mY+GYVzRBnYkN0mpqkSR92oWRQ19yQWo4HvBV/FnC16AJX8MA==}
chai@6.2.2:
resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==}
@@ -2651,8 +2651,8 @@ packages:
engines: {node: '>=0.10.0'}
hasBin: true
- electron-to-chromium@1.5.380:
- resolution: {integrity: sha512-W6d5AbuEoRayO447cqrg6lKJIlscgRnnxOZl/08kfV71BQDoEBC7Wwis68z87LjyK6f4kWyTaubuDbhHKrZkbA==}
+ electron-to-chromium@1.5.381:
+ resolution: {integrity: sha512-n9Wa6yB+vDsGuA8AKbl/0z7HbvWqt5jxIdvr1IUicd0ryPrk7/xzwqLv8D9AbbvZ6avVNtXYLTfmgFHkwkyelg==}
emoji-regex@10.6.0:
resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
@@ -2791,8 +2791,8 @@ packages:
fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
- fast-uri@3.1.2:
- resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==}
+ fast-uri@3.1.3:
+ resolution: {integrity: sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==}
fastq@1.20.1:
resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==}
@@ -2848,8 +2848,8 @@ packages:
resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==}
engines: {node: '>= 0.8'}
- fs-extra@11.3.5:
- resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==}
+ fs-extra@11.3.6:
+ resolution: {integrity: sha512-w8ZNZr2mKIc7qeNaQ9AVPT1+iFaI+Avd4xudVOvdDJ8VytREi1Ft5Ih7hd9jjehod8vAM5GMsfQ/TpPf4EyoEA==}
engines: {node: '>=14.14'}
fs-extra@9.1.0:
@@ -3590,8 +3590,8 @@ packages:
resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
engines: {node: '>=6'}
- p-map@7.0.4:
- resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==}
+ p-map@7.0.5:
+ resolution: {integrity: sha512-e8vJF4XdVkzqqSHguEMz41mQO1wKwxKm5ENrUJQUu9kLDCtn83cxbyHZcszr4QC5zEA7WffRRC4gsTecC7J9oA==}
engines: {node: '>=18'}
p-try@2.2.0:
@@ -3670,13 +3670,13 @@ packages:
resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==}
engines: {node: '>=8'}
- playwright-core@1.61.0:
- resolution: {integrity: sha512-caX7TrY3Ml6egyDX0WUcTHDxodl/b51y5wJOdCEA36QviK/s2g081hvmGs8eaE3DWb6NYZQ6BjO/QkNRPenoPA==}
+ playwright-core@1.61.1:
+ resolution: {integrity: sha512-h7Qlt6m4REp25qvIdvbDtVmD4LqVXfpRxhORv9L0jzETM05p4fuPJ3dKyuSXQxDSbXnmS79HAgi9589lGSpLkg==}
engines: {node: '>=18'}
hasBin: true
- playwright@1.61.0:
- resolution: {integrity: sha512-Z+7BeeqQPRRzklHsVFP4KTGIyMxKUmfeRA4WisM6G3/XW6nwGeX6fX9qYaDa+CiUqpOkb2f6X3nar05R3kSuJQ==}
+ playwright@1.61.1:
+ resolution: {integrity: sha512-DWnY5o3YbLWK4GovuAVwpqL+1VwGNdUGrRr++8j8PtQQzvAVZUIMjKQ90fY689sEJZJBbZVw1rXaOKSTitkzPQ==}
engines: {node: '>=18'}
hasBin: true
@@ -3797,8 +3797,8 @@ packages:
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- radix-ui@1.6.0:
- resolution: {integrity: sha512-EUEC70O03EgxWMP5aoqfBZ6iLC5bczFagGy7zhSYRt8o5DP7IWNiP3ywetse3L9b8843ExB0OGWZvgbYVJuNeg==}
+ radix-ui@1.6.1:
+ resolution: {integrity: sha512-QXDXJtB6sK83mLASONYUZCauatcWb+knFviFpN1EhtdbbmlsRmzCLrbZSKztnNiem2KOHIBbiDbauVB7SORXMw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -4430,8 +4430,8 @@ packages:
'@vite-pwa/assets-generator':
optional: true
- vite@8.1.0:
- resolution: {integrity: sha512-BuJcQK/56NQTWDGn4ABea3q4SSBdNPWwNZKTkkUpcMPnLoquSYH8llRtSUIgoL1KSCpHt5eghLShn50mH36y7Q==}
+ vite@8.1.2:
+ resolution: {integrity: sha512-6YYPbRXTxx6bRXmOn7XdnQAy5DQNHhDgtjhDHI13oe4pY93kkcdGJWxpGwOm++/Wh0QpQhDrpIoVMrmrsI5AGQ==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -5658,25 +5658,25 @@ snapshots:
'@radix-ui/primitive@1.1.4': {}
- '@radix-ui/react-accessible-icon@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-accessible-icon@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
- '@radix-ui/react-visually-hidden': 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-visually-hidden': 1.2.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-accordion@1.2.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-accordion@1.2.15(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
- '@radix-ui/react-collapsible': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collapsible': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -5684,41 +5684,41 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-alert-dialog@1.1.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-alert-dialog@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-dialog': 1.1.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dialog': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-arrow@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-arrow@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-aspect-ratio@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-aspect-ratio@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-avatar@1.2.0(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-avatar@1.2.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-is-hydrated': 0.1.1(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7)
@@ -5728,13 +5728,13 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-checkbox@1.3.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-checkbox@1.3.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-size': 1.1.2(@types/react@19.2.17)(react@19.2.7)
@@ -5744,14 +5744,14 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-collapsible@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-collapsible@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
@@ -5760,11 +5760,11 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-collection@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-collection@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -5778,12 +5778,12 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.17
- '@radix-ui/react-context-menu@2.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-context-menu@2.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-menu': 2.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-menu': 2.1.19(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -5797,18 +5797,18 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.17
- '@radix-ui/react-dialog@1.1.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-dialog@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-dismissable-layer': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-focus-scope': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-portal': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
aria-hidden: 1.2.6
@@ -5825,27 +5825,27 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.17
- '@radix-ui/react-dismissable-layer@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-dismissable-layer@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-use-escape-keydown': 1.1.2(@types/react@19.2.17)(react@19.2.7)
+ '@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-dropdown-menu@2.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-dropdown-menu@2.1.19(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-menu': 2.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-menu': 2.1.19(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -5859,10 +5859,10 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.17
- '@radix-ui/react-focus-scope@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-focus-scope@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -5870,30 +5870,30 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-form@0.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-form@0.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-label': 2.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-label': 2.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-hover-card@1.1.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-hover-card@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-dismissable-layer': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-popper': 1.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-portal': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-popper': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -5908,31 +5908,31 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.17
- '@radix-ui/react-label@2.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-label@2.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-menu@2.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-menu@2.1.19(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
- '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-dismissable-layer': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-focus-scope': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-popper': 1.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-portal': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-popper': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-roving-focus': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7)
aria-hidden: 1.2.6
@@ -5943,17 +5943,17 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-menubar@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-menubar@1.1.19(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
- '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-menu': 2.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-roving-focus': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-menu': 2.1.19(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -5961,38 +5961,38 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-navigation-menu@1.2.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-navigation-menu@1.2.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
- '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-dismissable-layer': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-visually-hidden': 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-visually-hidden': 1.2.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-one-time-password-field@0.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-one-time-password-field@0.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/number': 1.1.2
'@radix-ui/primitive': 1.1.4
- '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-roving-focus': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-is-hydrated': 0.1.1(@types/react@19.2.17)(react@19.2.7)
@@ -6003,13 +6003,13 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-password-toggle-field@0.1.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-password-toggle-field@0.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-is-hydrated': 0.1.1(@types/react@19.2.17)(react@19.2.7)
@@ -6019,19 +6019,19 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-popover@1.1.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-popover@1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-dismissable-layer': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-focus-scope': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-popper': 1.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-portal': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-popper': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
aria-hidden: 1.2.6
@@ -6042,13 +6042,13 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-popper@1.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-popper@1.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@floating-ui/react-dom': 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-arrow': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-arrow': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-rect': 1.1.2(@types/react@19.2.17)(react@19.2.7)
@@ -6060,9 +6060,9 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-portal@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-portal@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -6079,7 +6079,7 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-primitive@2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-primitive@2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
@@ -6088,25 +6088,25 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-progress@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-progress@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-radio-group@1.4.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-radio-group@1.4.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-roving-focus': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-size': 1.1.2(@types/react@19.2.17)(react@19.2.7)
@@ -6116,15 +6116,15 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-roving-focus@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-roving-focus@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
- '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
@@ -6133,7 +6133,7 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-scroll-area@1.2.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-scroll-area@1.2.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/number': 1.1.2
'@radix-ui/primitive': 1.1.4
@@ -6141,7 +6141,7 @@ snapshots:
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
@@ -6150,28 +6150,28 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-select@2.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-select@2.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/number': 1.1.2
'@radix-ui/primitive': 1.1.4
- '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-dismissable-layer': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-focus-scope': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-popper': 1.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-portal': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-popper': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-visually-hidden': 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-visually-hidden': 1.2.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
aria-hidden: 1.2.6
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -6180,24 +6180,24 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-separator@1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-separator@1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-slider@1.4.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-slider@1.4.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/number': 1.1.2
'@radix-ui/primitive': 1.1.4
- '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.17)(react@19.2.7)
@@ -6215,12 +6215,12 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.17
- '@radix-ui/react-switch@1.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-switch@1.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-previous': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-size': 1.1.2(@types/react@19.2.17)(react@19.2.7)
@@ -6230,15 +6230,15 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-tabs@1.1.15(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-tabs@1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-roving-focus': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -6246,34 +6246,34 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-toast@1.2.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-toast@1.2.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
- '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-dismissable-layer': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-portal': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-visually-hidden': 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-visually-hidden': 1.2.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-toggle-group@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-toggle-group@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-roving-focus': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-toggle': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-toggle': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -6281,10 +6281,10 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-toggle@1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-toggle@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -6292,35 +6292,35 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-toolbar@1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-toolbar@1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-roving-focus': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-separator': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-toggle-group': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-separator': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-toggle-group': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@radix-ui/react-tooltip@1.2.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-tooltip@1.2.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@radix-ui/primitive': 1.1.4
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-dismissable-layer': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-id': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-popper': 1.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-portal': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-popper': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-visually-hidden': 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-visually-hidden': 1.2.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
@@ -6348,7 +6348,7 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.17
- '@radix-ui/react-use-escape-keydown@1.1.2(@types/react@19.2.17)(react@19.2.7)':
+ '@radix-ui/react-use-escape-keydown@1.1.3(@types/react@19.2.17)(react@19.2.7)':
dependencies:
'@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7)
react: 19.2.7
@@ -6387,9 +6387,9 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.17
- '@radix-ui/react-visually-hidden@1.2.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@radix-ui/react-visually-hidden@1.2.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
@@ -6398,7 +6398,7 @@ snapshots:
'@radix-ui/rect@1.1.2': {}
- '@react-router/dev@8.1.0(@react-router/serve@8.1.0(react-router@8.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(typescript@6.0.3))(react-router@8.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(typescript@6.0.3)(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))':
+ '@react-router/dev@8.1.0(@react-router/serve@8.1.0(react-router@8.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(typescript@6.0.3))(react-router@8.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(typescript@6.0.3)(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))':
dependencies:
'@babel/core': 7.29.7
'@babel/generator': 7.29.7
@@ -6417,7 +6417,7 @@ snapshots:
isbot: 5.1.44
jsesc: 3.1.0
lodash: 4.18.1
- p-map: 7.0.4
+ p-map: 7.0.5
pathe: 2.0.3
picocolors: 1.1.1
pkg-types: 2.3.1
@@ -6427,7 +6427,7 @@ snapshots:
semver: 7.8.5
tinyglobby: 0.2.17
valibot: 1.4.2(typescript@6.0.3)
- vite: 8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
+ vite: 8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
optionalDependencies:
'@react-router/serve': 8.1.0(react-router@8.1.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(typescript@6.0.3)
typescript: 6.0.3
@@ -6704,12 +6704,12 @@ snapshots:
'@tailwindcss/oxide-win32-arm64-msvc': 4.3.2
'@tailwindcss/oxide-win32-x64-msvc': 4.3.2
- '@tailwindcss/vite@4.3.2(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))':
+ '@tailwindcss/vite@4.3.2(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))':
dependencies:
'@tailwindcss/node': 4.3.2
'@tailwindcss/oxide': 4.3.2
tailwindcss: 4.3.2
- vite: 8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
+ vite: 8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
'@trickfilm400/rollup-plugin-off-main-thread@3.0.0-pre1':
dependencies:
@@ -6767,29 +6767,29 @@ snapshots:
sharp-ico: 0.1.5
unconfig: 7.5.0
- '@vitest/browser-playwright@4.1.9(playwright@1.61.0)(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(vitest@4.1.9)':
+ '@vitest/browser-playwright@4.1.9(playwright@1.61.1)(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(vitest@4.1.9)':
dependencies:
- '@vitest/browser': 4.1.9(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(vitest@4.1.9)
- '@vitest/mocker': 4.1.9(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
- playwright: 1.61.0
+ '@vitest/browser': 4.1.9(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(vitest@4.1.9)
+ '@vitest/mocker': 4.1.9(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
+ playwright: 1.61.1
tinyrainbow: 3.1.0
- vitest: 4.1.9(@types/node@26.0.1)(@vitest/browser-playwright@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
+ vitest: 4.1.9(@types/node@26.0.1)(@vitest/browser-playwright@4.1.9)(jsdom@29.1.1)(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
transitivePeerDependencies:
- bufferutil
- msw
- utf-8-validate
- vite
- '@vitest/browser@4.1.9(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(vitest@4.1.9)':
+ '@vitest/browser@4.1.9(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(vitest@4.1.9)':
dependencies:
'@blazediff/core': 1.9.1
- '@vitest/mocker': 4.1.9(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
+ '@vitest/mocker': 4.1.9(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
'@vitest/utils': 4.1.9
magic-string: 0.30.21
pngjs: 7.0.0
sirv: 3.0.2
tinyrainbow: 3.1.0
- vitest: 4.1.9(@types/node@26.0.1)(@vitest/browser-playwright@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
+ vitest: 4.1.9(@types/node@26.0.1)(@vitest/browser-playwright@4.1.9)(jsdom@29.1.1)(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
ws: 8.21.0
transitivePeerDependencies:
- bufferutil
@@ -6806,13 +6806,13 @@ snapshots:
chai: 6.2.2
tinyrainbow: 3.1.0
- '@vitest/mocker@4.1.9(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))':
+ '@vitest/mocker@4.1.9(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))':
dependencies:
'@vitest/spy': 4.1.9
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
+ vite: 8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
'@vitest/pretty-format@4.1.9':
dependencies:
@@ -6856,7 +6856,7 @@ snapshots:
ajv@8.20.0:
dependencies:
fast-deep-equal: 3.1.3
- fast-uri: 3.1.2
+ fast-uri: 3.1.3
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
@@ -6987,8 +6987,8 @@ snapshots:
browserslist@4.28.4:
dependencies:
baseline-browser-mapping: 2.10.40
- caniuse-lite: 1.0.30001799
- electron-to-chromium: 1.5.380
+ caniuse-lite: 1.0.30001800
+ electron-to-chromium: 1.5.381
node-releases: 2.0.50
update-browserslist-db: 1.2.3(browserslist@4.28.4)
@@ -7021,7 +7021,7 @@ snapshots:
callsites@3.1.0: {}
- caniuse-lite@1.0.30001799: {}
+ caniuse-lite@1.0.30001800: {}
chai@6.2.2: {}
@@ -7260,7 +7260,7 @@ snapshots:
dependencies:
jake: 10.9.4
- electron-to-chromium@1.5.380: {}
+ electron-to-chromium@1.5.381: {}
emoji-regex@10.6.0: {}
@@ -7483,7 +7483,7 @@ snapshots:
fast-json-stable-stringify@2.1.0: {}
- fast-uri@3.1.2: {}
+ fast-uri@3.1.3: {}
fastq@1.20.1:
dependencies:
@@ -7539,7 +7539,7 @@ snapshots:
fresh@2.0.0: {}
- fs-extra@11.3.5:
+ fs-extra@11.3.6:
dependencies:
graceful-fs: 4.2.11
jsonfile: 6.2.1
@@ -8205,7 +8205,7 @@ snapshots:
dependencies:
p-limit: 2.3.0
- p-map@7.0.4: {}
+ p-map@7.0.5: {}
p-try@2.2.0: {}
@@ -8267,11 +8267,11 @@ snapshots:
dependencies:
find-up: 3.0.0
- playwright-core@1.61.0: {}
+ playwright-core@1.61.1: {}
- playwright@1.61.0:
+ playwright@1.61.1:
dependencies:
- playwright-core: 1.61.0
+ playwright-core: 1.61.1
optionalDependencies:
fsevents: 2.3.2
@@ -8333,63 +8333,63 @@ snapshots:
queue-microtask@1.2.3: {}
- radix-ui@1.6.0(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
+ radix-ui@1.6.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
dependencies:
'@radix-ui/primitive': 1.1.4
- '@radix-ui/react-accessible-icon': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-accordion': 1.2.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-alert-dialog': 1.1.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-arrow': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-aspect-ratio': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-avatar': 1.2.0(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-checkbox': 1.3.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-collapsible': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-collection': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-accessible-icon': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-accordion': 1.2.15(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-alert-dialog': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-arrow': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-aspect-ratio': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-avatar': 1.2.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-checkbox': 1.3.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collapsible': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-collection': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-compose-refs': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-context-menu': 2.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-dialog': 1.1.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-context-menu': 2.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dialog': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-direction': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-dismissable-layer': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-dropdown-menu': 2.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dismissable-layer': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-dropdown-menu': 2.1.19(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-focus-guards': 1.1.4(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-focus-scope': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-form': 0.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-hover-card': 1.1.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-label': 2.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-menu': 2.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-menubar': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-navigation-menu': 1.2.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-one-time-password-field': 0.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-password-toggle-field': 0.1.5(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-popover': 1.1.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-popper': 1.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-portal': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-focus-scope': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-form': 0.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-hover-card': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-label': 2.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-menu': 2.1.19(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-menubar': 1.1.19(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-navigation-menu': 1.2.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-one-time-password-field': 0.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-password-toggle-field': 0.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-popover': 1.1.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-popper': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-portal': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-presence': 1.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-primitive': 2.1.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-progress': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-radio-group': 1.4.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-roving-focus': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-scroll-area': 1.2.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-select': 2.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-separator': 1.1.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-slider': 1.4.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-primitive': 2.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-progress': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-radio-group': 1.4.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-roving-focus': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-scroll-area': 1.2.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-select': 2.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-separator': 1.1.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-slider': 1.4.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-slot': 1.3.0(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-switch': 1.3.1(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-tabs': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-toast': 1.2.17(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-toggle': 1.1.12(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-toggle-group': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-toolbar': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- '@radix-ui/react-tooltip': 1.2.10(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-switch': 1.3.2(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-tabs': 1.1.16(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-toast': 1.2.18(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-toggle': 1.1.13(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-toggle-group': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-toolbar': 1.1.14(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-tooltip': 1.2.11(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-use-callback-ref': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-controllable-state': 1.2.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-effect-event': 0.0.3(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-use-escape-keydown': 1.1.2(@types/react@19.2.17)(react@19.2.7)
+ '@radix-ui/react-use-escape-keydown': 1.1.3(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-is-hydrated': 0.1.1(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-layout-effect': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-use-size': 1.1.2(@types/react@19.2.17)(react@19.2.7)
- '@radix-ui/react-visually-hidden': 1.2.6(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@radix-ui/react-visually-hidden': 1.2.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
optionalDependencies:
@@ -8703,7 +8703,7 @@ snapshots:
diff: 8.0.4
execa: 9.6.1
fast-glob: 3.3.3
- fs-extra: 11.3.5
+ fs-extra: 11.3.6
fuzzysort: 3.1.0
kleur: 4.1.5
open: 11.0.0
@@ -9123,17 +9123,17 @@ snapshots:
vary@1.1.2: {}
- vite-plugin-devtools-json@1.0.0(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)):
+ vite-plugin-devtools-json@1.0.0(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)):
dependencies:
uuid: 11.1.1
- vite: 8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
+ vite: 8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
- vite-plugin-pwa@1.3.0(@vite-pwa/assets-generator@1.0.2)(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(workbox-build@7.4.1)(workbox-window@7.4.1):
+ vite-plugin-pwa@1.3.0(@vite-pwa/assets-generator@1.0.2)(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(workbox-build@7.4.1)(workbox-window@7.4.1):
dependencies:
debug: 4.4.3
pretty-bytes: 6.1.1
tinyglobby: 0.2.17
- vite: 8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
+ vite: 8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
workbox-build: 7.4.1
workbox-window: 7.4.1
optionalDependencies:
@@ -9141,7 +9141,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0):
+ vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0):
dependencies:
lightningcss: 1.32.0
picomatch: 4.0.4
@@ -9158,15 +9158,15 @@ snapshots:
dependencies:
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
- vitest: 4.1.9(@types/node@26.0.1)(@vitest/browser-playwright@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
+ vitest: 4.1.9(@types/node@26.0.1)(@vitest/browser-playwright@4.1.9)(jsdom@29.1.1)(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
optionalDependencies:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- vitest@4.1.9(@types/node@26.0.1)(@vitest/browser-playwright@4.1.9)(jsdom@29.1.1)(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)):
+ vitest@4.1.9(@types/node@26.0.1)(@vitest/browser-playwright@4.1.9)(jsdom@29.1.1)(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)):
dependencies:
'@vitest/expect': 4.1.9
- '@vitest/mocker': 4.1.9(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
+ '@vitest/mocker': 4.1.9(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))
'@vitest/pretty-format': 4.1.9
'@vitest/runner': 4.1.9
'@vitest/snapshot': 4.1.9
@@ -9183,11 +9183,11 @@ snapshots:
tinyexec: 1.2.4
tinyglobby: 0.2.17
tinyrainbow: 3.1.0
- vite: 8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
+ vite: 8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 26.0.1
- '@vitest/browser-playwright': 4.1.9(playwright@1.61.0)(vite@8.1.0(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(vitest@4.1.9)
+ '@vitest/browser-playwright': 4.1.9(playwright@1.61.1)(vite@8.1.2(@types/node@26.0.1)(jiti@2.7.0)(terser@5.48.0))(vitest@4.1.9)
jsdom: 29.1.1
transitivePeerDependencies:
- msw
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 09c0f3c..56ea498 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -1,33 +1,76 @@
packages:
- - '.'
+ - '.'
allowBuilds:
- esbuild: true
- msw: true
- sharp: true
+ esbuild: true
+ msw: true
+ sharp: true
minimumReleaseAgeExclude:
- - isbot@5.1.44
- - vite@8.1.0
- - prettier@3.9.4
- - shadcn@4.12.0
- - lucide-react@1.22.0
- - '@react-router/dev@8.1.0'
- - '@react-router/express@8.1.0'
- - '@react-router/node@8.1.0'
- - '@react-router/serve@8.1.0'
- - '@tailwindcss/node@4.3.2'
- - '@tailwindcss/oxide-android-arm64@4.3.2'
- - '@tailwindcss/oxide-darwin-arm64@4.3.2'
- - '@tailwindcss/oxide-darwin-x64@4.3.2'
- - '@tailwindcss/oxide-freebsd-x64@4.3.2'
- - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2'
- - '@tailwindcss/oxide-linux-arm64-gnu@4.3.2'
- - '@tailwindcss/oxide-linux-arm64-musl@4.3.2'
- - '@tailwindcss/oxide-linux-x64-gnu@4.3.2'
- - '@tailwindcss/oxide-linux-x64-musl@4.3.2'
- - '@tailwindcss/oxide-wasm32-wasi@4.3.2'
- - '@tailwindcss/oxide-win32-arm64-msvc@4.3.2'
- - '@tailwindcss/oxide-win32-x64-msvc@4.3.2'
- - '@tailwindcss/oxide@4.3.2'
- - '@tailwindcss/vite@4.3.2'
- - react-router@8.1.0
- - tailwindcss@4.3.2
+ - isbot@5.1.44
+ - vite@8.1.0 || 8.1.2
+ - prettier@3.9.4
+ - shadcn@4.12.0
+ - lucide-react@1.22.0
+ - '@react-router/dev@8.1.0'
+ - '@react-router/express@8.1.0'
+ - '@react-router/node@8.1.0'
+ - '@react-router/serve@8.1.0'
+ - '@tailwindcss/node@4.3.2'
+ - '@tailwindcss/oxide-android-arm64@4.3.2'
+ - '@tailwindcss/oxide-darwin-arm64@4.3.2'
+ - '@tailwindcss/oxide-darwin-x64@4.3.2'
+ - '@tailwindcss/oxide-freebsd-x64@4.3.2'
+ - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.2'
+ - '@tailwindcss/oxide-linux-arm64-gnu@4.3.2'
+ - '@tailwindcss/oxide-linux-arm64-musl@4.3.2'
+ - '@tailwindcss/oxide-linux-x64-gnu@4.3.2'
+ - '@tailwindcss/oxide-linux-x64-musl@4.3.2'
+ - '@tailwindcss/oxide-wasm32-wasi@4.3.2'
+ - '@tailwindcss/oxide-win32-arm64-msvc@4.3.2'
+ - '@tailwindcss/oxide-win32-x64-msvc@4.3.2'
+ - '@tailwindcss/oxide@4.3.2'
+ - '@tailwindcss/vite@4.3.2'
+ - react-router@8.1.0
+ - tailwindcss@4.3.2
+ - '@radix-ui/react-accessible-icon@1.1.11'
+ - '@radix-ui/react-accordion@1.2.15'
+ - '@radix-ui/react-alert-dialog@1.1.18'
+ - '@radix-ui/react-arrow@1.1.11'
+ - '@radix-ui/react-aspect-ratio@1.1.11'
+ - '@radix-ui/react-avatar@1.2.1'
+ - '@radix-ui/react-checkbox@1.3.6'
+ - '@radix-ui/react-collapsible@1.1.15'
+ - '@radix-ui/react-collection@1.1.11'
+ - '@radix-ui/react-context-menu@2.3.2'
+ - '@radix-ui/react-dialog@1.1.18'
+ - '@radix-ui/react-dismissable-layer@1.1.14'
+ - '@radix-ui/react-dropdown-menu@2.1.19'
+ - '@radix-ui/react-focus-scope@1.1.11'
+ - '@radix-ui/react-form@0.1.11'
+ - '@radix-ui/react-hover-card@1.1.18'
+ - '@radix-ui/react-label@2.1.11'
+ - '@radix-ui/react-menu@2.1.19'
+ - '@radix-ui/react-menubar@1.1.19'
+ - '@radix-ui/react-navigation-menu@1.2.17'
+ - '@radix-ui/react-one-time-password-field@0.1.11'
+ - '@radix-ui/react-password-toggle-field@0.1.6'
+ - '@radix-ui/react-popover@1.1.18'
+ - '@radix-ui/react-popper@1.3.2'
+ - '@radix-ui/react-portal@1.1.13'
+ - '@radix-ui/react-primitive@2.1.7'
+ - '@radix-ui/react-progress@1.1.11'
+ - '@radix-ui/react-radio-group@1.4.2'
+ - '@radix-ui/react-roving-focus@1.1.14'
+ - '@radix-ui/react-scroll-area@1.2.13'
+ - '@radix-ui/react-select@2.3.2'
+ - '@radix-ui/react-separator@1.1.11'
+ - '@radix-ui/react-slider@1.4.2'
+ - '@radix-ui/react-switch@1.3.2'
+ - '@radix-ui/react-tabs@1.1.16'
+ - '@radix-ui/react-toast@1.2.18'
+ - '@radix-ui/react-toggle-group@1.1.14'
+ - '@radix-ui/react-toggle@1.1.13'
+ - '@radix-ui/react-toolbar@1.1.14'
+ - '@radix-ui/react-tooltip@1.2.11'
+ - '@radix-ui/react-use-escape-keydown@1.1.3'
+ - '@radix-ui/react-visually-hidden@1.2.7'
+ - radix-ui@1.6.1
diff --git a/tests/browser/components/converters/bytes.browser.test.tsx b/tests/browser/components/converters/bytes.browser.test.tsx
new file mode 100644
index 0000000..5a03b70
--- /dev/null
+++ b/tests/browser/components/converters/bytes.browser.test.tsx
@@ -0,0 +1,74 @@
+import { describe, expect, test } from 'vitest';
+import { render } from 'vitest-browser-react';
+import Bytes from '~/components/pages/converters/bytes';
+
+describe('Bytes', () => {
+ describe('rendering', () => {
+ test('shows all unit labels', async () => {
+ const screen = await render();
+ for (const label of [
+ 'Bytes (B)',
+ 'Kilobytes (KB)',
+ 'Megabytes (MB)',
+ 'Gigabytes (GB)',
+ 'Terabytes (TB)',
+ 'Petabytes (PB)',
+ ]) {
+ await expect.element(screen.getByLabelText(label)).toBeInTheDocument();
+ }
+ });
+
+ test('inputs start empty', async () => {
+ const screen = await render();
+ await expect.element(screen.getByLabelText('Bytes (B)')).toHaveValue('');
+ });
+ });
+
+ describe('conversion', () => {
+ test.each([
+ ['1000', 'Bytes (B)', 'Kilobytes (KB)', '1'],
+ ['1', 'Kilobytes (KB)', 'Bytes (B)', '1000'],
+ ['1', 'Megabytes (MB)', 'Kilobytes (KB)', '1000'],
+ ['1', 'Gigabytes (GB)', 'Megabytes (MB)', '1000'],
+ ['1', 'Terabytes (TB)', 'Gigabytes (GB)', '1000'],
+ ['1', 'Petabytes (PB)', 'Terabytes (TB)', '1000'],
+ ['0.5', 'Kilobytes (KB)', 'Bytes (B)', '500'],
+ ])('%s %s → %s %s', async (value, inputLabel, outputLabel, expected) => {
+ const screen = await render();
+ await screen.getByLabelText(inputLabel).fill(value);
+ await expect.element(screen.getByLabelText(outputLabel)).toHaveValue(expected);
+ });
+
+ test('comma decimal separator converts correctly', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Kilobytes (KB)').fill('1,5');
+ await expect.element(screen.getByLabelText('Bytes (B)')).toHaveValue('1500');
+ });
+ });
+
+ describe('invalid input', () => {
+ test('ignores letters', async () => {
+ const screen = await render();
+ const input = screen.getByLabelText('Bytes (B)');
+ await input.fill('abc');
+ await expect.element(input).toHaveValue('');
+ });
+
+ test('ignores special characters', async () => {
+ const screen = await render();
+ const input = screen.getByLabelText('Kilobytes (KB)');
+ await input.fill('!@#');
+ await expect.element(input).toHaveValue('');
+ });
+ });
+
+ describe('clearing', () => {
+ test('clearing the active field clears all others', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Bytes (B)').fill('1000');
+ await screen.getByLabelText('Bytes (B)').fill('');
+ await expect.element(screen.getByLabelText('Kilobytes (KB)')).toHaveValue('');
+ await expect.element(screen.getByLabelText('Megabytes (MB)')).toHaveValue('');
+ });
+ });
+});
diff --git a/tests/browser/components/converters/length.browser.test.tsx b/tests/browser/components/converters/length.browser.test.tsx
new file mode 100644
index 0000000..7f2655c
--- /dev/null
+++ b/tests/browser/components/converters/length.browser.test.tsx
@@ -0,0 +1,57 @@
+import { describe, expect, test } from 'vitest';
+import { render } from 'vitest-browser-react';
+import Length from '~/components/pages/converters/length';
+
+describe('Length', () => {
+ describe('rendering', () => {
+ test('shows all unit labels', async () => {
+ const screen = await render();
+ for (const label of [
+ 'Kilometers (km)',
+ 'Meters (m)',
+ 'Centimeters (cm)',
+ 'Millimeters (mm)',
+ 'Miles (mi)',
+ 'Yards (yd)',
+ 'Inches (in)',
+ 'Feet (ft)',
+ 'Nautical Miles (nmi)',
+ ]) {
+ await expect.element(screen.getByLabelText(label)).toBeInTheDocument();
+ }
+ });
+ });
+
+ describe('conversion', () => {
+ test.each([
+ ['1', 'Kilometers (km)', 'Meters (m)', '1000'],
+ ['1000', 'Meters (m)', 'Kilometers (km)', '1'],
+ ['1', 'Meters (m)', 'Centimeters (cm)', '100'],
+ ['100', 'Centimeters (cm)', 'Meters (m)', '1'],
+ ['1', 'Meters (m)', 'Millimeters (mm)', '1000'],
+ ['1', 'Miles (mi)', 'Meters (m)', '1609.34'],
+ ])('%s %s → %s %s', async (value, inputLabel, outputLabel, expected) => {
+ const screen = await render();
+ await screen.getByLabelText(inputLabel).fill(value);
+ await expect.element(screen.getByLabelText(outputLabel)).toHaveValue(expected);
+ });
+ });
+
+ describe('invalid input', () => {
+ test('ignores letters', async () => {
+ const screen = await render();
+ const input = screen.getByLabelText('Meters (m)');
+ await input.fill('xyz');
+ await expect.element(input).toHaveValue('');
+ });
+ });
+
+ describe('clearing', () => {
+ test('clearing the active field clears all others', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Kilometers (km)').fill('1');
+ await screen.getByLabelText('Kilometers (km)').fill('');
+ await expect.element(screen.getByLabelText('Meters (m)')).toHaveValue('');
+ });
+ });
+});
diff --git a/tests/browser/components/converters/mass.browser.test.tsx b/tests/browser/components/converters/mass.browser.test.tsx
new file mode 100644
index 0000000..ea500c6
--- /dev/null
+++ b/tests/browser/components/converters/mass.browser.test.tsx
@@ -0,0 +1,55 @@
+import { describe, expect, test } from 'vitest';
+import { render } from 'vitest-browser-react';
+import Mass from '~/components/pages/converters/mass';
+
+describe('Mass', () => {
+ describe('rendering', () => {
+ test('shows all unit labels', async () => {
+ const screen = await render();
+ for (const label of [
+ 'Tonnes (t)',
+ 'Kilograms (kg)',
+ 'Grams (g)',
+ 'Milligrams (mg)',
+ 'Pounds (lb)',
+ 'Ounces (oz)',
+ 'Stones (st)',
+ ]) {
+ await expect.element(screen.getByLabelText(label)).toBeInTheDocument();
+ }
+ });
+ });
+
+ describe('conversion', () => {
+ test.each([
+ ['1', 'Kilograms (kg)', 'Grams (g)', '1000'],
+ ['1000', 'Grams (g)', 'Kilograms (kg)', '1'],
+ ['1', 'Tonnes (t)', 'Kilograms (kg)', '1000'],
+ ['1', 'Kilograms (kg)', 'Pounds (lb)', '2.204623'],
+ ['1', 'Pounds (lb)', 'Grams (g)', '453.592'],
+ ['1', 'Kilograms (kg)', 'Ounces (oz)', '35.27396'],
+ ])('%s %s → %s %s', async (value, inputLabel, outputLabel, expected) => {
+ const screen = await render();
+ await screen.getByLabelText(inputLabel).fill(value);
+ await expect.element(screen.getByLabelText(outputLabel)).toHaveValue(expected);
+ });
+ });
+
+ describe('invalid input', () => {
+ test('ignores letters', async () => {
+ const screen = await render();
+ const input = screen.getByLabelText('Kilograms (kg)');
+ await input.fill('abc');
+ await expect.element(input).toHaveValue('');
+ });
+ });
+
+ describe('clearing', () => {
+ test('clearing the active field clears all others', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Kilograms (kg)').fill('1');
+ await screen.getByLabelText('Kilograms (kg)').fill('');
+ await expect.element(screen.getByLabelText('Grams (g)')).toHaveValue('');
+ });
+ });
+});
diff --git a/tests/browser/components/converters/speed.browser.test.tsx b/tests/browser/components/converters/speed.browser.test.tsx
new file mode 100644
index 0000000..df87a37
--- /dev/null
+++ b/tests/browser/components/converters/speed.browser.test.tsx
@@ -0,0 +1,52 @@
+import { describe, expect, test } from 'vitest';
+import { render } from 'vitest-browser-react';
+import Speed from '~/components/pages/converters/speed';
+
+describe('Speed', () => {
+ describe('rendering', () => {
+ test('shows all unit labels', async () => {
+ const screen = await render();
+ for (const label of [
+ 'Kilometers per hour (km/h)',
+ 'Miles per hour (mph)',
+ 'Meters per second (m/s)',
+ 'Feet per second (ft/s)',
+ 'Knots (kn)',
+ 'Mach (Ma)',
+ ]) {
+ await expect.element(screen.getByLabelText(label)).toBeInTheDocument();
+ }
+ });
+ });
+
+ describe('conversion', () => {
+ test.each([
+ ['3.6', 'Meters per second (m/s)', 'Kilometers per hour (km/h)', '12.96'],
+ ['1', 'Kilometers per hour (km/h)', 'Meters per second (m/s)', '0.277778'],
+ ['1', 'Miles per hour (mph)', 'Kilometers per hour (km/h)', '1.609'],
+ ['1', 'Knots (kn)', 'Kilometers per hour (km/h)', '1.852'],
+ ])('%s %s → %s %s', async (value, inputLabel, outputLabel, expected) => {
+ const screen = await render();
+ await screen.getByLabelText(inputLabel).fill(value);
+ await expect.element(screen.getByLabelText(outputLabel)).toHaveValue(expected);
+ });
+ });
+
+ describe('invalid input', () => {
+ test('ignores letters', async () => {
+ const screen = await render();
+ const input = screen.getByLabelText('Kilometers per hour (km/h)');
+ await input.fill('fast');
+ await expect.element(input).toHaveValue('');
+ });
+ });
+
+ describe('clearing', () => {
+ test('clearing the active field clears all others', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Kilometers per hour (km/h)').fill('100');
+ await screen.getByLabelText('Kilometers per hour (km/h)').fill('');
+ await expect.element(screen.getByLabelText('Miles per hour (mph)')).toHaveValue('');
+ });
+ });
+});
diff --git a/tests/browser/components/converters/temperature.browser.test.tsx b/tests/browser/components/converters/temperature.browser.test.tsx
new file mode 100644
index 0000000..04a29d0
--- /dev/null
+++ b/tests/browser/components/converters/temperature.browser.test.tsx
@@ -0,0 +1,72 @@
+import { describe, expect, test } from 'vitest';
+import { render } from 'vitest-browser-react';
+import Temperature from '~/components/pages/converters/temperature';
+
+describe('Temperature', () => {
+ describe('rendering', () => {
+ test('shows fahrenheit, celsius, and kelvin inputs', async () => {
+ const screen = await render();
+ await expect.element(screen.getByPlaceholder('32')).toBeInTheDocument();
+ await expect.element(screen.getByPlaceholder('0')).toBeInTheDocument();
+ await expect.element(screen.getByPlaceholder('273.15')).toBeInTheDocument();
+ });
+ });
+
+ describe('from Fahrenheit', () => {
+ test.each([
+ ['32', '0.00', '273.15'],
+ ['212', '100.00', '373.15'],
+ ['0', '-17.78', '255.37'],
+ ])('%s°F → %s°C, %sK', async (f, expectedC, expectedK) => {
+ const screen = await render();
+ await screen.getByPlaceholder('32').fill(f);
+ await expect.element(screen.getByPlaceholder('0')).toHaveValue(expectedC);
+ await expect.element(screen.getByPlaceholder('273.15')).toHaveValue(expectedK);
+ });
+ });
+
+ describe('from Celsius', () => {
+ test.each([
+ ['0', '32.00', '273.15'],
+ ['100', '212.00', '373.15'],
+ ['-40', '-40.00', '233.15'],
+ ])('%s°C → %s°F, %sK', async (c, expectedF, expectedK) => {
+ const screen = await render();
+ await screen.getByPlaceholder('0').fill(c);
+ await expect.element(screen.getByPlaceholder('32')).toHaveValue(expectedF);
+ await expect.element(screen.getByPlaceholder('273.15')).toHaveValue(expectedK);
+ });
+ });
+
+ describe('from Kelvin', () => {
+ test.each([
+ ['273.15', '32.00', '0.00'],
+ ['373.15', '212.00', '100.00'],
+ ['0', '-459.67', '-273.15'],
+ ])('%sK → %s°F, %s°C', async (k, expectedF, expectedC) => {
+ const screen = await render();
+ await screen.getByPlaceholder('273.15').fill(k);
+ await expect.element(screen.getByPlaceholder('32')).toHaveValue(expectedF);
+ await expect.element(screen.getByPlaceholder('0')).toHaveValue(expectedC);
+ });
+ });
+
+ describe('invalid input', () => {
+ test('ignores letters', async () => {
+ const screen = await render();
+ const input = screen.getByPlaceholder('32');
+ await input.fill('abc');
+ await expect.element(input).toHaveValue('');
+ });
+ });
+
+ describe('clearing', () => {
+ test('clearing a field clears the others', async () => {
+ const screen = await render();
+ await screen.getByPlaceholder('32').fill('212');
+ await screen.getByPlaceholder('32').fill('');
+ await expect.element(screen.getByPlaceholder('0')).toHaveValue('');
+ await expect.element(screen.getByPlaceholder('273.15')).toHaveValue('');
+ });
+ });
+});
diff --git a/tests/browser/components/converters/time.browser.test.tsx b/tests/browser/components/converters/time.browser.test.tsx
new file mode 100644
index 0000000..a8a028e
--- /dev/null
+++ b/tests/browser/components/converters/time.browser.test.tsx
@@ -0,0 +1,56 @@
+import { describe, expect, test } from 'vitest';
+import { render } from 'vitest-browser-react';
+import Time from '~/components/pages/converters/time';
+
+describe('Time', () => {
+ describe('rendering', () => {
+ test('shows all unit labels', async () => {
+ const screen = await render();
+ for (const label of [
+ 'Seconds (s)',
+ 'Minutes (min)',
+ 'Hours (h)',
+ 'Days (d)',
+ 'Weeks (wk)',
+ 'Months (mo)',
+ 'Years (yr)',
+ ]) {
+ await expect.element(screen.getByLabelText(label)).toBeInTheDocument();
+ }
+ });
+ });
+
+ describe('conversion', () => {
+ test.each([
+ ['1', 'Minutes (min)', 'Seconds (s)', '60'],
+ ['60', 'Seconds (s)', 'Minutes (min)', '1'],
+ ['1', 'Hours (h)', 'Minutes (min)', '60'],
+ ['24', 'Hours (h)', 'Days (d)', '1'],
+ ['1', 'Days (d)', 'Hours (h)', '24'],
+ ['7', 'Days (d)', 'Weeks (wk)', '1'],
+ ['1', 'Years (yr)', 'Days (d)', '365.25'],
+ ])('%s %s → %s %s', async (value, inputLabel, outputLabel, expected) => {
+ const screen = await render();
+ await screen.getByLabelText(inputLabel).fill(value);
+ await expect.element(screen.getByLabelText(outputLabel)).toHaveValue(expected);
+ });
+ });
+
+ describe('invalid input', () => {
+ test('ignores letters', async () => {
+ const screen = await render();
+ const input = screen.getByLabelText('Seconds (s)');
+ await input.fill('abc');
+ await expect.element(input).toHaveValue('');
+ });
+ });
+
+ describe('clearing', () => {
+ test('clearing the active field clears all others', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Minutes (min)').fill('1');
+ await screen.getByLabelText('Minutes (min)').fill('');
+ await expect.element(screen.getByLabelText('Seconds (s)')).toHaveValue('');
+ });
+ });
+});
diff --git a/tests/browser/components/programming/base64-text-decode.browser.test.tsx b/tests/browser/components/programming/base64-text-decode.browser.test.tsx
new file mode 100644
index 0000000..418a339
--- /dev/null
+++ b/tests/browser/components/programming/base64-text-decode.browser.test.tsx
@@ -0,0 +1,55 @@
+import { describe, expect, test } from 'vitest';
+import { render } from 'vitest-browser-react';
+import Base64TextDecode from '~/components/pages/programming/base64-text-handlers/base64-text-decode';
+
+describe('Base64TextDecode', () => {
+ describe('validation', () => {
+ test('shows error when submitting empty input', async () => {
+ const screen = await render();
+ const form = screen.container.querySelector('form');
+ expect(form).not.toBeNull();
+ form?.setAttribute('novalidate', '');
+ await screen.getByRole('button', { name: /decode/i }).click();
+ await expect.element(screen.getByRole('alert')).toBeInTheDocument();
+ });
+
+ test('shows error for invalid base64', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Text').fill('not-valid-base64!!!');
+ await screen.getByRole('button', { name: /decode/i }).click();
+ await expect.element(screen.getByRole('alert')).toHaveTextContent('not valid Base64');
+ });
+ });
+
+ describe('decoding', () => {
+ test.each([
+ ['SGVsbG8=', 'Hello'],
+ ['SGVsbG8sIFdvcmxkIQ==', 'Hello, World!'],
+ ['dGVzdA==', 'test'],
+ ['MTIz', '123'],
+ ])('decodes "%s" to "%s"', async (input, expected) => {
+ const screen = await render();
+ await screen.getByLabelText('Text').fill(input);
+ await screen.getByRole('button', { name: /decode/i }).click();
+ await expect.element(screen.getByText(expected)).toBeInTheDocument();
+ });
+
+ test('shows partial result section after decoding', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Text').fill('SGVsbG8=');
+ await screen.getByRole('button', { name: /decode/i }).click();
+ await expect.element(screen.getByText(/partial result/i)).toBeInTheDocument();
+ });
+ });
+
+ describe('reset', () => {
+ test('clears result after reset', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Text').fill('SGVsbG8=');
+ await screen.getByRole('button', { name: /decode/i }).click();
+ await expect.element(screen.getByText('Hello')).toBeInTheDocument();
+ await screen.getByRole('button', { name: /reset/i }).click();
+ await expect.element(screen.getByText(/paste base64/i)).toBeInTheDocument();
+ });
+ });
+});
diff --git a/tests/browser/components/programming/base64-text-encode.browser.test.tsx b/tests/browser/components/programming/base64-text-encode.browser.test.tsx
new file mode 100644
index 0000000..f073f3b
--- /dev/null
+++ b/tests/browser/components/programming/base64-text-encode.browser.test.tsx
@@ -0,0 +1,55 @@
+import { describe, expect, test } from 'vitest';
+import { render } from 'vitest-browser-react';
+import Base64TextEncode from '~/components/pages/programming/base64-text-handlers/base64-text-encode';
+
+describe('Base64TextEncode', () => {
+ describe('validation', () => {
+ test('shows error when submitting empty text', async () => {
+ const screen = await render();
+ const form = screen.container.querySelector('form');
+ expect(form).not.toBeNull();
+ form?.setAttribute('novalidate', '');
+ await screen.getByRole('button', { name: /encode/i }).click();
+ await expect.element(screen.getByRole('alert')).toHaveTextContent('Text is required.');
+ });
+ });
+
+ describe('encoding', () => {
+ test.each([
+ ['Hello', 'SGVsbG8='],
+ ['Hello, World!', 'SGVsbG8sIFdvcmxkIQ=='],
+ ['test', 'dGVzdA=='],
+ ['123', 'MTIz'],
+ ])('encodes "%s" to "%s"', async (input, expected) => {
+ const screen = await render();
+ await screen.getByLabelText('Text').fill(input);
+ await screen.getByRole('button', { name: /encode/i }).click();
+ await expect.element(screen.getByText(expected)).toBeInTheDocument();
+ });
+
+ test('shows result section after encoding', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Text').fill('hello');
+ await screen.getByRole('button', { name: /encode/i }).click();
+ await expect.element(screen.getByText(/partial result/i)).toBeInTheDocument();
+ });
+
+ test('shows character count', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Text').fill('Hello');
+ await screen.getByRole('button', { name: /encode/i }).click();
+ expect(screen.container.querySelector('strong')?.textContent).toBe('8');
+ });
+ });
+
+ describe('reset', () => {
+ test('clears form and result', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Text').fill('Hello');
+ await screen.getByRole('button', { name: /encode/i }).click();
+ await expect.element(screen.getByText('SGVsbG8=')).toBeInTheDocument();
+ await screen.getByRole('button', { name: /reset/i }).click();
+ await expect.element(screen.getByText(/paste text/i)).toBeInTheDocument();
+ });
+ });
+});
diff --git a/tests/browser/components/programming/base64-to-image.browser.test.tsx b/tests/browser/components/programming/base64-to-image.browser.test.tsx
new file mode 100644
index 0000000..adeca9d
--- /dev/null
+++ b/tests/browser/components/programming/base64-to-image.browser.test.tsx
@@ -0,0 +1,84 @@
+import { MemoryRouter } from 'react-router';
+import { describe, expect, test } from 'vitest';
+import { render } from 'vitest-browser-react';
+import Base64ToImage from '~/components/pages/programming/base64-to-image';
+
+// Minimal 1x1 transparent PNG as a plain base64 string
+const PNG_BASE64 = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==';
+
+function renderWithRouter() {
+ return render(
+
+
+ ,
+ );
+}
+
+describe('Base64ToImage', () => {
+ describe('rendering', () => {
+ test('shows base64 input, format selector, and action buttons', async () => {
+ const screen = await renderWithRouter();
+ await expect.element(screen.getByLabelText('Base64 String')).toBeInTheDocument();
+ await expect.element(screen.getByRole('button', { name: /parse/i })).toBeInTheDocument();
+ await expect.element(screen.getByRole('button', { name: /reset/i })).toBeInTheDocument();
+ });
+
+ test('shows placeholder message before parsing', async () => {
+ const screen = await renderWithRouter();
+ await expect.element(screen.getByText(/image preview will appear here/i)).toBeInTheDocument();
+ });
+ });
+
+ describe('validation', () => {
+ test('shows error when submitting empty base64', async () => {
+ const screen = await renderWithRouter();
+ const form = screen.container.querySelector('form');
+ expect(form).not.toBeNull();
+ form?.setAttribute('novalidate', '');
+ await screen.getByRole('button', { name: /parse/i }).click();
+ await expect.element(screen.getByRole('alert')).toBeInTheDocument();
+ });
+
+ test('shows error for invalid base64 string', async () => {
+ const screen = await renderWithRouter();
+ await screen.getByLabelText('Base64 String').fill('not-valid-base64!!!');
+ await screen.getByRole('button', { name: /parse/i }).click();
+ await expect.element(screen.getByRole('alert')).toHaveTextContent('not valid Base64');
+ });
+ });
+
+ describe('parsing', () => {
+ test('shows image preview for valid base64', async () => {
+ const screen = await renderWithRouter();
+ await screen.getByLabelText('Base64 String').fill(PNG_BASE64);
+ await screen.getByRole('button', { name: /parse/i }).click();
+ await expect.element(screen.getByRole('img', { name: /preview/i })).toBeInTheDocument();
+ });
+
+ test('enables the download button after parsing', async () => {
+ const screen = await renderWithRouter();
+ await screen.getByLabelText('Base64 String').fill(PNG_BASE64);
+ await screen.getByRole('button', { name: /parse/i }).click();
+ await expect.element(screen.getByRole('link', { name: /download/i })).toBeInTheDocument();
+ });
+
+ test('accepts data-url prefixed base64', async () => {
+ const screen = await renderWithRouter();
+ const dataUrl = `data:image/png;base64,${PNG_BASE64}`;
+ await screen.getByLabelText('Base64 String').fill(dataUrl);
+ await screen.getByRole('button', { name: /parse/i }).click();
+ await expect.element(screen.getByRole('img', { name: /preview/i })).toBeInTheDocument();
+ });
+ });
+
+ describe('reset', () => {
+ test('clears preview and form after reset', async () => {
+ const screen = await renderWithRouter();
+ await screen.getByLabelText('Base64 String').fill(PNG_BASE64);
+ await screen.getByRole('button', { name: /parse/i }).click();
+ await expect.element(screen.getByRole('img', { name: /preview/i })).toBeInTheDocument();
+ await screen.getByRole('button', { name: /reset/i }).click();
+ await expect.element(screen.getByText(/image preview will appear here/i)).toBeInTheDocument();
+ });
+ });
+});
diff --git a/tests/browser/components/programming/image-to-base64.browser.test.tsx b/tests/browser/components/programming/image-to-base64.browser.test.tsx
new file mode 100644
index 0000000..705077b
--- /dev/null
+++ b/tests/browser/components/programming/image-to-base64.browser.test.tsx
@@ -0,0 +1,70 @@
+import { describe, expect, test } from 'vitest';
+import { render } from 'vitest-browser-react';
+import ImageToBase64 from '~/components/pages/programming/image-to-base64';
+
+async function uploadFile(screen: Awaited>, file: File) {
+ const input = screen.container.querySelector('input[type="file"]') as HTMLInputElement | null;
+ if (!input) throw new Error('File input not found.');
+
+ const transfer = new DataTransfer();
+ transfer.items.add(file);
+
+ Object.defineProperty(input, 'files', {
+ value: transfer.files,
+ configurable: true,
+ });
+
+ input.dispatchEvent(new Event('change', { bubbles: true }));
+}
+
+// Use a file larger than the component minSize (1024 bytes)
+const PNG_BYTES = new Uint8Array(2048);
+
+describe('ImageToBase64', () => {
+ describe('rendering', () => {
+ test('shows the dropzone upload button', async () => {
+ const screen = await render();
+ await expect.element(screen.getByRole('button', { name: /upload a file/i })).toBeInTheDocument();
+ });
+
+ test('shows no error or result initially', async () => {
+ const screen = await render();
+ expect(screen.container.querySelector('[role="alert"]')).toBeNull();
+ });
+ });
+
+ describe('file drop', () => {
+ test('shows error for non-image file type', async () => {
+ const screen = await render();
+ const textFile = new File(['hello'], 'hello.txt', { type: 'text/plain' });
+ await uploadFile(screen, textFile);
+
+ await expect.element(screen.getByRole('alert')).toBeInTheDocument();
+ });
+
+ test('converts a valid PNG to base64 and shows output options', async () => {
+ const screen = await render();
+ const imageFile = new File([PNG_BYTES], 'pixel.png', { type: 'image/png' });
+ await uploadFile(screen, imageFile);
+
+ await expect.element(screen.getByText(/raw base64/i)).toBeInTheDocument();
+ await expect.element(screen.getByText(/data url/i)).toBeInTheDocument();
+ });
+
+ test('shows image preview after dropping a valid PNG', async () => {
+ const screen = await render();
+ const imageFile = new File([PNG_BYTES], 'pixel.png', { type: 'image/png' });
+ await uploadFile(screen, imageFile);
+
+ await expect.element(screen.getByRole('img', { name: /preview/i })).toBeInTheDocument();
+ });
+
+ test('shows file metadata after valid drop', async () => {
+ const screen = await render();
+ const imageFile = new File([PNG_BYTES], 'pixel.png', { type: 'image/png' });
+ await uploadFile(screen, imageFile);
+
+ await expect.element(screen.getByText('image/png')).toBeInTheDocument();
+ });
+ });
+});
diff --git a/tests/browser/components/programming/md-hashing.browser.test.tsx b/tests/browser/components/programming/md-hashing.browser.test.tsx
new file mode 100644
index 0000000..774149f
--- /dev/null
+++ b/tests/browser/components/programming/md-hashing.browser.test.tsx
@@ -0,0 +1,52 @@
+import { describe, expect, test } from 'vitest';
+import { render } from 'vitest-browser-react';
+import MdHashing from '~/components/pages/programming/hashing/md-hashing';
+
+describe('MdHashing', () => {
+ describe('validation', () => {
+ test('shows error when submitting empty text', async () => {
+ const screen = await render();
+ const form = screen.container.querySelector('form');
+ expect(form).not.toBeNull();
+ form?.setAttribute('novalidate', '');
+ await screen.getByRole('button', { name: /^hash$/i }).click();
+ await expect.element(screen.getByRole('alert')).toHaveTextContent('Text is required.');
+ });
+
+ test('shows placeholder message before any hashing', async () => {
+ const screen = await render();
+ await expect.element(screen.getByText(/no hashed results yet/i)).toBeInTheDocument();
+ });
+ });
+
+ describe('hashing', () => {
+ test.each([
+ ['MD5', 'hello', '5d41402abc4b2a76b9719d911017c592'],
+ ['MD4', 'hello', '866437cb7a794bce2b727acc0362ee27'],
+ ])('produces correct %s hash for "hello"', async (algorithm, input, expected) => {
+ const screen = await render();
+ await screen.getByLabelText('Text to Hash').fill(input);
+ await screen.getByRole('button', { name: /^hash$/i }).click();
+ await expect.element(screen.getByText(expected)).toBeInTheDocument();
+ });
+
+ test('populates both MD4 and MD5 results', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Text to Hash').fill('hello');
+ await screen.getByRole('button', { name: /^hash$/i }).click();
+ await expect.element(screen.getByText('MD4:')).toBeInTheDocument();
+ await expect.element(screen.getByText('MD5:')).toBeInTheDocument();
+ });
+ });
+
+ describe('reset', () => {
+ test('clears results and form', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Text to Hash').fill('hello');
+ await screen.getByRole('button', { name: /^hash$/i }).click();
+ await expect.element(screen.getByText('MD5:')).toBeInTheDocument();
+ await screen.getByRole('button', { name: /reset/i }).click();
+ await expect.element(screen.getByText(/no hashed results yet/i)).toBeInTheDocument();
+ });
+ });
+});
diff --git a/tests/browser/components/programming/sha-hashing.browser.test.tsx b/tests/browser/components/programming/sha-hashing.browser.test.tsx
new file mode 100644
index 0000000..e31b999
--- /dev/null
+++ b/tests/browser/components/programming/sha-hashing.browser.test.tsx
@@ -0,0 +1,68 @@
+import { describe, expect, test } from 'vitest';
+import { render } from 'vitest-browser-react';
+import ShaHashing from '~/components/pages/programming/hashing/sha-hashing';
+
+describe('ShaHashing', () => {
+ describe('validation', () => {
+ test('shows error when submitting empty text', async () => {
+ const screen = await render();
+ const form = screen.container.querySelector('form');
+ expect(form).not.toBeNull();
+ form?.setAttribute('novalidate', '');
+ await screen.getByRole('button', { name: /^hash$/i }).click();
+ await expect.element(screen.getByRole('alert')).toHaveTextContent('Text is required.');
+ });
+
+ test('shows placeholder message before any hashing', async () => {
+ const screen = await render();
+ await expect.element(screen.getByText(/no hashed results yet/i)).toBeInTheDocument();
+ });
+ });
+
+ describe('hashing', () => {
+ test.each([
+ ['SHA-256', 'hello', '2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824'],
+ ['SHA-1', 'hello', 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d'],
+ [
+ 'SHA-512',
+ 'hello',
+ '9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043',
+ ],
+ ])('produces correct %s hash for "hello"', async (algorithm, input, expected) => {
+ const screen = await render();
+ await screen.getByLabelText('Text to Hash').fill(input);
+ await screen.getByRole('button', { name: /^hash$/i }).click();
+ await expect.element(screen.getByText(expected)).toBeInTheDocument();
+ });
+
+ test('populates all SHA algorithm results', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Text to Hash').fill('hello');
+ await screen.getByRole('button', { name: /^hash$/i }).click();
+ for (const algo of [
+ 'SHA-1:',
+ 'SHA-224:',
+ 'SHA-256:',
+ 'SHA-384:',
+ 'SHA-512:',
+ 'SHA3-224:',
+ 'SHA3-256:',
+ 'SHA3-384:',
+ 'SHA3-512:',
+ ]) {
+ await expect.element(screen.getByText(algo)).toBeInTheDocument();
+ }
+ });
+ });
+
+ describe('reset', () => {
+ test('clears results and form', async () => {
+ const screen = await render();
+ await screen.getByLabelText('Text to Hash').fill('hello');
+ await screen.getByRole('button', { name: /^hash$/i }).click();
+ await expect.element(screen.getByText('SHA-256:')).toBeInTheDocument();
+ await screen.getByRole('button', { name: /reset/i }).click();
+ await expect.element(screen.getByText(/no hashed results yet/i)).toBeInTheDocument();
+ });
+ });
+});