Merged in feature/IO-3499-React-19 (pull request #2894)

feature/IO-3499-React-19 -Checkpoint
This commit is contained in:
Dave Richer
2026-01-26 19:06:47 +00:00
7 changed files with 348 additions and 323 deletions

384
client/package-lock.json generated
View File

@@ -9,9 +9,9 @@
"version": "0.2.1",
"hasInstallScript": true,
"dependencies": {
"@amplitude/analytics-browser": "^2.33.4",
"@amplitude/analytics-browser": "^2.33.5",
"@ant-design/pro-layout": "^7.22.6",
"@apollo/client": "^4.1.1",
"@apollo/client": "^4.1.2",
"@emotion/is-prop-valid": "^1.4.0",
"@fingerprintjs/fingerprintjs": "^5.0.1",
"@firebase/analytics": "^0.10.19",
@@ -22,14 +22,14 @@
"@jsreport/browser-client": "^3.1.0",
"@reduxjs/toolkit": "^2.11.2",
"@sentry/cli": "^3.1.0",
"@sentry/react": "^10.35.0",
"@sentry/vite-plugin": "^4.7.0",
"@sentry/react": "^10.36.0",
"@sentry/vite-plugin": "^4.8.0",
"@splitsoftware/splitio-react": "^2.6.1",
"@tanem/react-nprogress": "^5.0.56",
"antd": "^6.2.1",
"@tanem/react-nprogress": "^5.0.58",
"antd": "^6.2.2",
"apollo-link-logger": "^3.0.0",
"autosize": "^6.0.1",
"axios": "^1.13.2",
"axios": "^1.13.3",
"classnames": "^2.5.1",
"css-box-model": "^1.2.1",
"dayjs": "^1.11.19",
@@ -43,15 +43,15 @@
"i18next": "^25.8.0",
"i18next-browser-languagedetector": "^8.2.0",
"immutability-helper": "^3.1.1",
"libphonenumber-js": "^1.12.34",
"lightningcss": "^1.31.0",
"libphonenumber-js": "^1.12.35",
"lightningcss": "^1.31.1",
"logrocket": "^11.0.0",
"markerjs2": "^2.32.7",
"memoize-one": "^6.0.0",
"normalize-url": "^8.1.1",
"object-hash": "^3.0.0",
"phone": "^3.1.69",
"posthog-js": "^1.335.0",
"phone": "^3.1.70",
"posthog-js": "^1.335.2",
"prop-types": "^15.8.1",
"query-string": "^9.3.1",
"raf-schd": "^4.0.3",
@@ -72,10 +72,10 @@
"react-product-fruits": "^2.2.62",
"react-redux": "^9.2.0",
"react-resizable": "^3.1.3",
"react-router-dom": "^7.12.0",
"react-router-dom": "^7.13.0",
"react-sticky": "^6.0.3",
"react-virtuoso": "^4.18.1",
"recharts": "^3.6.0",
"recharts": "^3.7.0",
"redux": "^5.0.1",
"redux-actions": "^3.0.3",
"redux-persist": "^6.0.0",
@@ -83,7 +83,7 @@
"redux-state-sync": "^3.1.4",
"reselect": "^5.1.1",
"rxjs": "^7.8.2",
"sass": "^1.97.2",
"sass": "^1.97.3",
"socket.io-client": "^4.8.3",
"styled-components": "^6.3.8",
"vite-plugin-ejs": "^1.7.0",
@@ -148,17 +148,17 @@
"license": "MIT"
},
"node_modules/@amplitude/analytics-browser": {
"version": "2.33.4",
"resolved": "https://registry.npmjs.org/@amplitude/analytics-browser/-/analytics-browser-2.33.4.tgz",
"integrity": "sha512-5oeZ3fsxbXiE6S7Jq/bsYn10DJ+IPSY1dC08PO2kD9cfaviWtXVrehSwThitEZGKHGs4NeJXCGS1xAhOLR2g0g==",
"version": "2.33.5",
"resolved": "https://registry.npmjs.org/@amplitude/analytics-browser/-/analytics-browser-2.33.5.tgz",
"integrity": "sha512-iOP+QeFFCO99BDbHZvB1PfHYKYbWSXyBQNQYBUQ4mtyvQ5qpQ7pbYIsDs9LOIAwlfcZvBqJ3tidgnnh2QOpmfw==",
"license": "MIT",
"dependencies": {
"@amplitude/analytics-core": "2.36.0",
"@amplitude/plugin-autocapture-browser": "1.18.6",
"@amplitude/plugin-network-capture-browser": "1.7.6",
"@amplitude/plugin-page-url-enrichment-browser": "0.5.12",
"@amplitude/plugin-page-view-tracking-browser": "2.6.9",
"@amplitude/plugin-web-vitals-browser": "1.1.7",
"@amplitude/analytics-core": "2.36.1",
"@amplitude/plugin-autocapture-browser": "1.18.7",
"@amplitude/plugin-network-capture-browser": "1.7.7",
"@amplitude/plugin-page-url-enrichment-browser": "0.5.13",
"@amplitude/plugin-page-view-tracking-browser": "2.6.10",
"@amplitude/plugin-web-vitals-browser": "1.1.8",
"tslib": "^2.4.1"
}
},
@@ -169,9 +169,9 @@
"license": "MIT"
},
"node_modules/@amplitude/analytics-core": {
"version": "2.36.0",
"resolved": "https://registry.npmjs.org/@amplitude/analytics-core/-/analytics-core-2.36.0.tgz",
"integrity": "sha512-VPkqVK7PZBwkatD22Xu0kshtLeM8bd6KjCsFcnje0FA/LHgixYw1O4ihWpPlUzDNMIXSb2+opN3SkINImmBOnQ==",
"version": "2.36.1",
"resolved": "https://registry.npmjs.org/@amplitude/analytics-core/-/analytics-core-2.36.1.tgz",
"integrity": "sha512-1Z/azFaF0rDAI+Z5RK7KC2jyIQ/S24xGdY1sd0TQrkPp1IbqE6on/UjRWk2ai4El3OfOlQitX1AGfUNQuX8Xyw==",
"license": "MIT",
"dependencies": {
"@amplitude/analytics-connector": "^1.6.4",
@@ -180,52 +180,52 @@
}
},
"node_modules/@amplitude/plugin-autocapture-browser": {
"version": "1.18.6",
"resolved": "https://registry.npmjs.org/@amplitude/plugin-autocapture-browser/-/plugin-autocapture-browser-1.18.6.tgz",
"integrity": "sha512-8oZ0jGHjs9Sm98L7l2X5nVjT/qAv+ezk/eibYdHiwA10haHRjXc+v4cFuGeboQkSd87gWvD4LyA7iamVUUak/Q==",
"version": "1.18.7",
"resolved": "https://registry.npmjs.org/@amplitude/plugin-autocapture-browser/-/plugin-autocapture-browser-1.18.7.tgz",
"integrity": "sha512-K037jbUU7qfuEGCHiCHkwZYU2wtWGEwnK++JSVEobmcApsesKwfLqgHcUaxFDzJqCM09ytRQzDl73dCvSpZH+g==",
"license": "MIT",
"dependencies": {
"@amplitude/analytics-core": "2.36.0",
"@amplitude/analytics-core": "2.36.1",
"tslib": "^2.4.1"
}
},
"node_modules/@amplitude/plugin-network-capture-browser": {
"version": "1.7.6",
"resolved": "https://registry.npmjs.org/@amplitude/plugin-network-capture-browser/-/plugin-network-capture-browser-1.7.6.tgz",
"integrity": "sha512-FJMdpeOV9e4+TYUfUTSIuBuBU4dLRwB7Qq/tFbFHEogAH8NFcsYKxe0rAWmTqMTmKxb2SHTIEC35D+aWVJzWCQ==",
"version": "1.7.7",
"resolved": "https://registry.npmjs.org/@amplitude/plugin-network-capture-browser/-/plugin-network-capture-browser-1.7.7.tgz",
"integrity": "sha512-BcE/noeR9gj9FNMeiNiynC70DE+KL1meBNM9Iz67hAA/PPNiKQ4zfKJyYQzo4E6fRTm1nWa0Jld4a7KORGG86w==",
"license": "MIT",
"dependencies": {
"@amplitude/analytics-core": "2.36.0",
"@amplitude/analytics-core": "2.36.1",
"tslib": "^2.4.1"
}
},
"node_modules/@amplitude/plugin-page-url-enrichment-browser": {
"version": "0.5.12",
"resolved": "https://registry.npmjs.org/@amplitude/plugin-page-url-enrichment-browser/-/plugin-page-url-enrichment-browser-0.5.12.tgz",
"integrity": "sha512-FMPaY+apoyULJSzTMdz2UQ0c8Ry3J/m1yD9sjsRy2VGhbXyLFV5zrfcHkiIZAtDHy2sVpsv130j1eGZIK2aqZw==",
"version": "0.5.13",
"resolved": "https://registry.npmjs.org/@amplitude/plugin-page-url-enrichment-browser/-/plugin-page-url-enrichment-browser-0.5.13.tgz",
"integrity": "sha512-nsVkszZKoOgkNhkyJcNKaIEINFOQ/KS3TWZX+snGp+tQJi946nMp66046MxgTuLeRyD3VeM98WzwQIV3Q8NWBQ==",
"license": "MIT",
"dependencies": {
"@amplitude/analytics-core": "2.36.0",
"@amplitude/analytics-core": "2.36.1",
"tslib": "^2.4.1"
}
},
"node_modules/@amplitude/plugin-page-view-tracking-browser": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/@amplitude/plugin-page-view-tracking-browser/-/plugin-page-view-tracking-browser-2.6.9.tgz",
"integrity": "sha512-LfV+4t8V7Kq6TKecaggC2rOszE9sVTs73xPok1UXGvlvVkY+KaEc9ngkansBOKCfCU7inNaIMlGRj1YZDrEjjA==",
"version": "2.6.10",
"resolved": "https://registry.npmjs.org/@amplitude/plugin-page-view-tracking-browser/-/plugin-page-view-tracking-browser-2.6.10.tgz",
"integrity": "sha512-LsJuKGUcbMnQtb9gpxHo4LDaq84yyYuCt+ekWTZ+lXqYWdAA2ZJ9lQX7gg4JfmvbpBpeTZ2Hm8AUMLsw4o17sw==",
"license": "MIT",
"dependencies": {
"@amplitude/analytics-core": "2.36.0",
"@amplitude/analytics-core": "2.36.1",
"tslib": "^2.4.1"
}
},
"node_modules/@amplitude/plugin-web-vitals-browser": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/@amplitude/plugin-web-vitals-browser/-/plugin-web-vitals-browser-1.1.7.tgz",
"integrity": "sha512-n1zOsE1RFE3y2IN1OUKTZYQnR7NZMATarHjBsf/tJ+6fQ2g5QDwyTRLzBHmdUcsLe559+ek9QTtIhXmbBOXR3Q==",
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/@amplitude/plugin-web-vitals-browser/-/plugin-web-vitals-browser-1.1.8.tgz",
"integrity": "sha512-/MPXNRDh3C2WfQI47222VRj8fSouca/Uh+mbll0NJqorvc0sJ7b/12yEH3qKD9w7zSHBeKxBxrO/I2FxwfBZKQ==",
"license": "MIT",
"dependencies": {
"@amplitude/analytics-core": "2.36.0",
"@amplitude/analytics-core": "2.36.1",
"tslib": "^2.4.1",
"web-vitals": "5.1.0"
}
@@ -302,9 +302,9 @@
}
},
"node_modules/@ant-design/fast-color": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@ant-design/fast-color/-/fast-color-3.0.0.tgz",
"integrity": "sha512-eqvpP7xEDm2S7dUzl5srEQCBTXZMmY3ekf97zI+M2DHOYyKdJGH0qua0JACHTqbkRnD/KHFQP9J1uMJ/XWVzzA==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@ant-design/fast-color/-/fast-color-3.0.1.tgz",
"integrity": "sha512-esKJegpW4nckh0o6kV3Tkb7NPIZYbPnnFxmQDUmL08ukXZAvV85TZBr70eGuke/CIArLaP6aw8lt9KILjnWuOw==",
"license": "MIT",
"engines": {
"node": ">=8.x"
@@ -540,9 +540,9 @@
}
},
"node_modules/@apollo/client": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/@apollo/client/-/client-4.1.1.tgz",
"integrity": "sha512-EizMzR+qfn3kRZ7dy9LxEI2omkyaylWNbBy3Sce8QBmeQP+sOlmYqx2uu5aDFk+uGdrf/QtzHLOI6hUPGfm34A==",
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/@apollo/client/-/client-4.1.2.tgz",
"integrity": "sha512-MxlWuO94Y6TRf6+d4KfG5bCUXg5NP4s7zPKRA0PDNNa18K86zcbpHUgWKdx6wMT/5KVMeC5rsZkDqZLr/R0mFw==",
"license": "MIT",
"workspaces": [
"dist",
@@ -2288,9 +2288,9 @@
}
},
"node_modules/@babel/runtime": {
"version": "7.28.4",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
"integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
"version": "7.28.6",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz",
"integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -4848,18 +4848,18 @@
}
},
"node_modules/@posthog/core": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.13.0.tgz",
"integrity": "sha512-knjncrk7qRmssFRbGzBl1Tunt21GRpe0Wv+uVelyL0Rh7PdQUsgguulzXFTps8hA6wPwTU4kq85qnbAJ3eH6Wg==",
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/@posthog/core/-/core-1.14.0.tgz",
"integrity": "sha512-havjGYHwL8Gy6LXIR911h+M/sYlJLQbepxP/cc1M7Cp3v8F92bzpqkbuvUIUyb7/izkxfGwc9wMqKAo0QxMTrg==",
"license": "MIT",
"dependencies": {
"cross-spawn": "^7.0.6"
}
},
"node_modules/@posthog/types": {
"version": "1.335.0",
"resolved": "https://registry.npmjs.org/@posthog/types/-/types-1.335.0.tgz",
"integrity": "sha512-KvxF9Dd9bM/LJyFTm7j8NM8EV6Mect4N8A0Q/gSQknu5pAgOfplToN9hLg+v8aWvtIEDlPHV7mBMKLUE19kVBA==",
"version": "1.335.2",
"resolved": "https://registry.npmjs.org/@posthog/types/-/types-1.335.2.tgz",
"integrity": "sha512-cyl6eFrt0nR7lxb8+oGXyS16wDxQJz6awMWPyDB423lI+MiM64vz0VV5LNABahEc4BuytJzfEOyvyA3LPJ4hOQ==",
"license": "MIT"
},
"node_modules/@protobufjs/aspromise": {
@@ -5577,9 +5577,9 @@
}
},
"node_modules/@rc-component/select": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@rc-component/select/-/select-1.5.0.tgz",
"integrity": "sha512-Zz0hpToAfOdWo/1jj3dW5iooBNU8F6fVgVaYN4Jy1SL3Xcx2OO+IqiQnxqk/PjY6hg1HVt7LjkkrYvpJQyZxoQ==",
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/@rc-component/select/-/select-1.5.1.tgz",
"integrity": "sha512-ARXtwfCVnpDJj1bQjh1cimUlNQkZiN72hvtL2G4mKXIYfkokYdA2Vyu2deAfY7kuHSWpmZygVuohQt6TxOYjnA==",
"license": "MIT",
"dependencies": {
"@rc-component/overflow": "^1.0.0",
@@ -6626,88 +6626,88 @@
]
},
"node_modules/@sentry-internal/browser-utils": {
"version": "10.35.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-10.35.0.tgz",
"integrity": "sha512-YjVbyqpJu6E6U/BCdOgIUuUQPUDZ7XdFiBYXtGy59xqQB1qSqNfei163hkfnXxIN90csDubxWNrnit+W5Wo/uQ==",
"version": "10.36.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-10.36.0.tgz",
"integrity": "sha512-WILVR8HQBWOxbqLRuTxjzRCMIACGsDTo6jXvzA8rz6ezElElLmIrn3CFAswrESLqEEUa4CQHl5bLgSVJCRNweA==",
"license": "MIT",
"dependencies": {
"@sentry/core": "10.35.0"
"@sentry/core": "10.36.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry-internal/feedback": {
"version": "10.35.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-10.35.0.tgz",
"integrity": "sha512-h/rtGcgvGtZIY9njxnzHHMzMwFYAYG/UwDaNtpf8jN63JD6cTQDQ8wNWp0arD9gmUr96YjER55BNRRF8oSg6Fw==",
"version": "10.36.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-10.36.0.tgz",
"integrity": "sha512-zPjz7AbcxEyx8AHj8xvp28fYtPTPWU1XcNtymhAHJLS9CXOblqSC7W02Jxz6eo3eR1/pLyOo6kJBUjvLe9EoFA==",
"license": "MIT",
"dependencies": {
"@sentry/core": "10.35.0"
"@sentry/core": "10.36.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry-internal/replay": {
"version": "10.35.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-10.35.0.tgz",
"integrity": "sha512-9hGP3lD+7o/4ovGTdwv3T9K2t9LxSlR/CAcRQeFApW2c0AGsjTdcglOxsgxYei4YmaISx0CBJ/YqJfQVYxaxWw==",
"version": "10.36.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-10.36.0.tgz",
"integrity": "sha512-nLMkJgvHq+uCCrQKV2KgSdVHxTsmDk0r2hsAoTcKCbzUpXyW5UhCziMRS6ULjBlzt5sbxoIIplE25ZpmIEeNgg==",
"license": "MIT",
"dependencies": {
"@sentry-internal/browser-utils": "10.35.0",
"@sentry/core": "10.35.0"
"@sentry-internal/browser-utils": "10.36.0",
"@sentry/core": "10.36.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry-internal/replay-canvas": {
"version": "10.35.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-10.35.0.tgz",
"integrity": "sha512-efaz8ETDLd0rSpoqX4m8fMnq7abzUJAdqeChz9Jdq6OgvHeBgM6tTfqWSes6sFnSCvFUVkdFngZQfgmBxWGuEA==",
"version": "10.36.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-10.36.0.tgz",
"integrity": "sha512-DLGIwmT2LX+O6TyYPtOQL5GiTm2rN0taJPDJ/Lzg2KEJZrdd5sKkzTckhh2x+vr4JQyeaLmnb8M40Ch1hvG/vQ==",
"license": "MIT",
"dependencies": {
"@sentry-internal/replay": "10.35.0",
"@sentry/core": "10.35.0"
"@sentry-internal/replay": "10.36.0",
"@sentry/core": "10.36.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry/babel-plugin-component-annotate": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-4.7.0.tgz",
"integrity": "sha512-MkyajDiO17/GaHHFgOmh05ZtOwF5hmm9KRjVgn9PXHIdpz+TFM5mkp1dABmR6Y75TyNU98Z1aOwPOgyaR5etJw==",
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-4.8.0.tgz",
"integrity": "sha512-cy/9Eipkv23MsEJ4IuB4dNlVwS9UqOzI3Eu+QPake5BVFgPYCX0uP0Tr3Z43Ime6Rb+BiDnWC51AJK9i9afHYw==",
"license": "MIT",
"engines": {
"node": ">= 14"
}
},
"node_modules/@sentry/browser": {
"version": "10.35.0",
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-10.35.0.tgz",
"integrity": "sha512-3wCdmKOTqg6Fvmb9HLHzCVIpSSYCPhXFQ95VaYsb1rESIgL7BMS9nyqhecPcPR3oJppU2a/TqZk4YH3nFrPXmA==",
"version": "10.36.0",
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-10.36.0.tgz",
"integrity": "sha512-yHhXbgdGY1s+m8CdILC9U/II7gb6+s99S2Eh8VneEn/JG9wHc+UOzrQCeFN0phFP51QbLkjkiQbbanjT1HP8UQ==",
"license": "MIT",
"dependencies": {
"@sentry-internal/browser-utils": "10.35.0",
"@sentry-internal/feedback": "10.35.0",
"@sentry-internal/replay": "10.35.0",
"@sentry-internal/replay-canvas": "10.35.0",
"@sentry/core": "10.35.0"
"@sentry-internal/browser-utils": "10.36.0",
"@sentry-internal/feedback": "10.36.0",
"@sentry-internal/replay": "10.36.0",
"@sentry-internal/replay-canvas": "10.36.0",
"@sentry/core": "10.36.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry/bundler-plugin-core": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@sentry/bundler-plugin-core/-/bundler-plugin-core-4.7.0.tgz",
"integrity": "sha512-gFdEtiup/7qYhN3vp1v2f0WL9AG9OorWLtIpfSBYbWjtzklVNg1sizvNyZ8nEiwtnb25LzvvCUbOP1SyP6IodQ==",
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@sentry/bundler-plugin-core/-/bundler-plugin-core-4.8.0.tgz",
"integrity": "sha512-QaXd/NzaZ2vmiA2FNu2nBkgQU+17N3fE+zVOTzG0YK54QDSJMd4n3AeJIEyPhSzkOob+GqtO22nbYf6AATFMAw==",
"license": "MIT",
"dependencies": {
"@babel/core": "^7.18.5",
"@sentry/babel-plugin-component-annotate": "4.7.0",
"@sentry/babel-plugin-component-annotate": "4.8.0",
"@sentry/cli": "^2.57.0",
"dotenv": "^16.3.1",
"find-up": "^5.0.0",
@@ -7103,22 +7103,22 @@
}
},
"node_modules/@sentry/core": {
"version": "10.35.0",
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.35.0.tgz",
"integrity": "sha512-lEK1WFqt6oHtMq5dDLVE/FDzHDGs1PlYT5cZH4aBirYtJVyUiTf0NknKFob4a2zTywczlq7SbLv6Ba8UMU9dYg==",
"version": "10.36.0",
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-10.36.0.tgz",
"integrity": "sha512-EYJjZvofI+D93eUsPLDIUV0zQocYqiBRyXS6CCV6dHz64P/Hob5NJQOwPa8/v6nD+UvJXvwsFfvXOHhYZhZJOQ==",
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/@sentry/react": {
"version": "10.35.0",
"resolved": "https://registry.npmjs.org/@sentry/react/-/react-10.35.0.tgz",
"integrity": "sha512-RJsJVZRVe646euf1HLlhbjeAHn2ABd54Y7Zpy4XUJaL4FdKqaaFmqeHKi6IxXFf6IE35onk/kn8CfR7xWBhe2g==",
"version": "10.36.0",
"resolved": "https://registry.npmjs.org/@sentry/react/-/react-10.36.0.tgz",
"integrity": "sha512-k2GwMKgepJLXvEQffQymQyxsTVjsLiY6YXG0bcceM3vulii9Sy29uqGhpqwaPOfM4bPQzUXJzAxS/c9S7n5hTw==",
"license": "MIT",
"dependencies": {
"@sentry/browser": "10.35.0",
"@sentry/core": "10.35.0"
"@sentry/browser": "10.36.0",
"@sentry/core": "10.36.0"
},
"engines": {
"node": ">=18"
@@ -7128,12 +7128,12 @@
}
},
"node_modules/@sentry/vite-plugin": {
"version": "4.7.0",
"resolved": "https://registry.npmjs.org/@sentry/vite-plugin/-/vite-plugin-4.7.0.tgz",
"integrity": "sha512-eQXDghOQLsYwnHutJo8TCzhG4gp0KLNq3h96iqFMhsbjnNnfYeCX1lIw1pJEh/az3cDwSyPI/KGkvf8hr0dZmQ==",
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/@sentry/vite-plugin/-/vite-plugin-4.8.0.tgz",
"integrity": "sha512-/YZJitGsx/o72FFQYy3tucUfs4w3COvSI1d2NYyAhIzay4tjLLRjpM5PdwFnoBT7Uj/7jSbuHkg87PAliLiu2g==",
"license": "MIT",
"dependencies": {
"@sentry/bundler-plugin-core": "4.7.0",
"@sentry/bundler-plugin-core": "4.8.0",
"unplugin": "1.0.1"
},
"engines": {
@@ -7239,12 +7239,12 @@
}
},
"node_modules/@tanem/react-nprogress": {
"version": "5.0.56",
"resolved": "https://registry.npmjs.org/@tanem/react-nprogress/-/react-nprogress-5.0.56.tgz",
"integrity": "sha512-OI5rXB6jxC/RLJqnIuaKNXu3qQ6Lf3+g1HqkqGz01E25iV3pZFYBihMdGsEeg/4pAm0O7xo/umcAA3jsdeibHA==",
"version": "5.0.58",
"resolved": "https://registry.npmjs.org/@tanem/react-nprogress/-/react-nprogress-5.0.58.tgz",
"integrity": "sha512-VbO2PF/lYwyV5axQTLQWrC2l7amVadCikg/WnpncdgkGHzcWgkdV/h+SoYgkB2cfc8yQm0Qpv9DCGK8q4wWvsw==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.28.4",
"@babel/runtime": "^7.28.6",
"hoist-non-react-statics": "^3.3.2"
},
"peerDependencies": {
@@ -7941,15 +7941,15 @@
}
},
"node_modules/antd": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/antd/-/antd-6.2.1.tgz",
"integrity": "sha512-ycw/XX7So4MdrwYKGfvZJdkGiCYUOSTebAIi+ejE95WJ138b11oy/iJg7iH0qydaD/B5sFd7Tz8XfPBuW7CRmw==",
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/antd/-/antd-6.2.2.tgz",
"integrity": "sha512-f5RvWnhjt2gZTpBMW3msHwA3IeaCJBHDwVyEsskYGp0EXcRhhklWrltkybDki0ysBNywkjLPp3wuuWhIKfplcQ==",
"license": "MIT",
"dependencies": {
"@ant-design/colors": "^8.0.1",
"@ant-design/cssinjs": "^2.0.3",
"@ant-design/cssinjs-utils": "^2.0.2",
"@ant-design/fast-color": "^3.0.0",
"@ant-design/fast-color": "^3.0.1",
"@ant-design/icons": "^6.1.0",
"@ant-design/react-slick": "~2.0.0",
"@babel/runtime": "^7.28.4",
@@ -7976,7 +7976,7 @@
"@rc-component/rate": "~1.0.1",
"@rc-component/resize-observer": "^1.1.1",
"@rc-component/segmented": "~1.3.0",
"@rc-component/select": "~1.5.0",
"@rc-component/select": "~1.5.1",
"@rc-component/slider": "~1.0.1",
"@rc-component/steps": "~1.2.2",
"@rc-component/switch": "~1.0.3",
@@ -8325,9 +8325,9 @@
}
},
"node_modules/axios": {
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz",
"integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==",
"version": "1.13.3",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.13.3.tgz",
"integrity": "sha512-ERT8kdX7DZjtUm7IitEyV7InTHAF42iJuMArIiDIV5YtPanJkgw4hw5Dyg9fh0mihdWNn1GKaeIWErfe56UQ1g==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.15.6",
@@ -12859,15 +12859,15 @@
}
},
"node_modules/libphonenumber-js": {
"version": "1.12.34",
"resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.12.34.tgz",
"integrity": "sha512-v/Ip8k8eYdp7bINpzqDh46V/PaQ8sK+qi97nMQgjZzFlb166YFqlR/HVI+MzsI9JqcyyVWCOipmmretiaSyQyw==",
"version": "1.12.35",
"resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.12.35.tgz",
"integrity": "sha512-T/Cz6iLcsZdb5jDncDcUNhSAJ0VlSC9TnsqtBNdpkaAmy24/R1RhErtNWVWBrcUZKs9hSgaVsBkc7HxYnazIfw==",
"license": "MIT"
},
"node_modules/lightningcss": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.0.tgz",
"integrity": "sha512-mKXR8TIPqVNcs0qQplcnLgDSmyMW5q9Bt5GmcvABpeexaGGPILxDmMNoabSsS9pAPgICYmgzL2wYFPf84/fQ2A==",
"version": "1.31.1",
"resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz",
"integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==",
"license": "MPL-2.0",
"dependencies": {
"detect-libc": "^2.0.3"
@@ -12880,23 +12880,23 @@
"url": "https://opencollective.com/parcel"
},
"optionalDependencies": {
"lightningcss-android-arm64": "1.31.0",
"lightningcss-darwin-arm64": "1.31.0",
"lightningcss-darwin-x64": "1.31.0",
"lightningcss-freebsd-x64": "1.31.0",
"lightningcss-linux-arm-gnueabihf": "1.31.0",
"lightningcss-linux-arm64-gnu": "1.31.0",
"lightningcss-linux-arm64-musl": "1.31.0",
"lightningcss-linux-x64-gnu": "1.31.0",
"lightningcss-linux-x64-musl": "1.31.0",
"lightningcss-win32-arm64-msvc": "1.31.0",
"lightningcss-win32-x64-msvc": "1.31.0"
"lightningcss-android-arm64": "1.31.1",
"lightningcss-darwin-arm64": "1.31.1",
"lightningcss-darwin-x64": "1.31.1",
"lightningcss-freebsd-x64": "1.31.1",
"lightningcss-linux-arm-gnueabihf": "1.31.1",
"lightningcss-linux-arm64-gnu": "1.31.1",
"lightningcss-linux-arm64-musl": "1.31.1",
"lightningcss-linux-x64-gnu": "1.31.1",
"lightningcss-linux-x64-musl": "1.31.1",
"lightningcss-win32-arm64-msvc": "1.31.1",
"lightningcss-win32-x64-msvc": "1.31.1"
}
},
"node_modules/lightningcss-android-arm64": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.0.tgz",
"integrity": "sha512-qRdhuBXBgGfO3NZ37l/lA1qqjqptBQoa37YiMDeMRpJpv/+0CGKtL4o5+VUFaHzZb9+hS/DOg3XNff3YmwY2ug==",
"version": "1.31.1",
"resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz",
"integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==",
"cpu": [
"arm64"
],
@@ -12914,9 +12914,9 @@
}
},
"node_modules/lightningcss-darwin-arm64": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.0.tgz",
"integrity": "sha512-ctMERKCPJHgEhkCUvcCT5Z1wB+pCyFO+XskTNFB3uTrE9i3LzQXvrlm2PSuYhOYSExrzfmfD/HVyfqZYnfpjvQ==",
"version": "1.31.1",
"resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz",
"integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==",
"cpu": [
"arm64"
],
@@ -12934,9 +12934,9 @@
}
},
"node_modules/lightningcss-darwin-x64": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.0.tgz",
"integrity": "sha512-7+8dwpz4qj/IiKxSs210WKWoJg59npBxvEXrpuxAkfZDPSgXiPcNZfaL9HtcaRntd7DbzVSI5SHMsmlsl+NZgA==",
"version": "1.31.1",
"resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz",
"integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==",
"cpu": [
"x64"
],
@@ -12954,9 +12954,9 @@
}
},
"node_modules/lightningcss-freebsd-x64": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.0.tgz",
"integrity": "sha512-HZdu0reyMXO0TzJnK3D37dxgijjJsZt9muQRi+df/sr6WnkSZJKHfOufm0amWz+LiWg9X3H+XIBW24s/y3itmQ==",
"version": "1.31.1",
"resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz",
"integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==",
"cpu": [
"x64"
],
@@ -12974,9 +12974,9 @@
}
},
"node_modules/lightningcss-linux-arm-gnueabihf": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.0.tgz",
"integrity": "sha512-pqp0rGHc9rebDT7vVtu92JqU6gP5zm19m+zCqvHHMI+cEQrCjbNlMbPqn9UEfPYfRltL4pti9MJQ62558nVHnw==",
"version": "1.31.1",
"resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz",
"integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==",
"cpu": [
"arm"
],
@@ -12994,9 +12994,9 @@
}
},
"node_modules/lightningcss-linux-arm64-gnu": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.0.tgz",
"integrity": "sha512-EpAQTq6TXL+200bDNMzhbFpqAJsto01R//xuE8yAWN0l4wmJhmS1r/FxoudIUM9PxHMPEiWeLw+1thdF5ZPg7Q==",
"version": "1.31.1",
"resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz",
"integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==",
"cpu": [
"arm64"
],
@@ -13014,9 +13014,9 @@
}
},
"node_modules/lightningcss-linux-arm64-musl": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.0.tgz",
"integrity": "sha512-6tuU37nXStA3kxNnjC49z1tPFEoviC9ZLyB34O3X1/VTLXdZX2vmPZ+45XesagvlgoeJQ9r9XVSovUZny41AQA==",
"version": "1.31.1",
"resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz",
"integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==",
"cpu": [
"arm64"
],
@@ -13034,9 +13034,9 @@
}
},
"node_modules/lightningcss-linux-x64-gnu": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.0.tgz",
"integrity": "sha512-enNePbgDKmJybVz90/8dAGTOulvpn0IwxamHHnIj32gmdbuSPJ9mk+Nob4UmiqLMAdHlH+0c+lpsZkv4TSxi3w==",
"version": "1.31.1",
"resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz",
"integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==",
"cpu": [
"x64"
],
@@ -13054,9 +13054,9 @@
}
},
"node_modules/lightningcss-linux-x64-musl": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.0.tgz",
"integrity": "sha512-EM4jGT+V+PdFkcrIB5m5yiSzfV7z43k0pOtUmODhFSbuay5JvbVChK1uoaMmwPTKGWatwSRbiu90BUzU262B9g==",
"version": "1.31.1",
"resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz",
"integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==",
"cpu": [
"x64"
],
@@ -13074,9 +13074,9 @@
}
},
"node_modules/lightningcss-win32-arm64-msvc": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.0.tgz",
"integrity": "sha512-IGvE0eCsWrYWerlkXFitANJ2vdkzs4EVCm1sEttanqVc4lqdRKyZ7ZIapBfo5OckE+zuq/JNaIkbWHdYDpOblQ==",
"version": "1.31.1",
"resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz",
"integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==",
"cpu": [
"arm64"
],
@@ -13094,9 +13094,9 @@
}
},
"node_modules/lightningcss-win32-x64-msvc": {
"version": "1.31.0",
"resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.0.tgz",
"integrity": "sha512-7V6CPCLNO1Pv5gPPvXWst7V8cvZjbRKgwht1qd4/OH7yacV/kMV5VDq/RDnmdQpXUTnn4ye+vZkU8REXU46iZA==",
"version": "1.31.1",
"resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz",
"integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==",
"cpu": [
"x64"
],
@@ -14870,9 +14870,9 @@
"license": "MIT"
},
"node_modules/phone": {
"version": "3.1.69",
"resolved": "https://registry.npmjs.org/phone/-/phone-3.1.69.tgz",
"integrity": "sha512-Nc6lY9p4bbdYdmHewuIC5lZdLOnu5r0Vm9imL4leZCz0tUD5RFPqRtdGmYR6VMpFT5oP+8ty2nu6lxVV3Jzprw==",
"version": "3.1.70",
"resolved": "https://registry.npmjs.org/phone/-/phone-3.1.70.tgz",
"integrity": "sha512-MFRQaIe8UJmkosaU/OlLRDhSoLw9wJRwqtacNHy8cZjDomTQ9ic8+8nKdGFLpRsaqnLHAXSuiIYTzWggMkSG5Q==",
"license": "MIT",
"engines": {
"node": ">=12"
@@ -15002,9 +15002,9 @@
"license": "MIT"
},
"node_modules/posthog-js": {
"version": "1.335.0",
"resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.335.0.tgz",
"integrity": "sha512-gWNcSb3RZIpzKu8zDWIPzEaMmGxsRKtCCbW0iTCI153PtBVOmiEsYdmMfg7weWUcf8QYc7yWNPl2AhhydnBDMA==",
"version": "1.335.2",
"resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.335.2.tgz",
"integrity": "sha512-xiPh9eXqNiNiFZjVe+HMcuEeqhbMJuL+bOVUM6ywGAfxUe71av71q6hK/zlzIiPNsPxhV6PL08LC6yPooStQxA==",
"license": "SEE LICENSE IN LICENSE",
"dependencies": {
"@opentelemetry/api": "^1.9.0",
@@ -15012,8 +15012,8 @@
"@opentelemetry/exporter-logs-otlp-http": "^0.208.0",
"@opentelemetry/resources": "^2.2.0",
"@opentelemetry/sdk-logs": "^0.208.0",
"@posthog/core": "1.13.0",
"@posthog/types": "1.335.0",
"@posthog/core": "1.14.0",
"@posthog/types": "1.335.2",
"core-js": "^3.38.1",
"dompurify": "^3.3.1",
"fflate": "^0.4.8",
@@ -15701,9 +15701,9 @@
}
},
"node_modules/react-router": {
"version": "7.12.0",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-7.12.0.tgz",
"integrity": "sha512-kTPDYPFzDVGIIGNLS5VJykK0HfHLY5MF3b+xj0/tTyNYL1gF1qs7u67Z9jEhQk2sQ98SUaHxlG31g1JtF7IfVw==",
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-7.13.0.tgz",
"integrity": "sha512-PZgus8ETambRT17BUm/LL8lX3Of+oiLaPuVTRH3l1eLvSPpKO3AvhAEb5N7ihAFZQrYDqkvvWfFh9p0z9VsjLw==",
"license": "MIT",
"dependencies": {
"cookie": "^1.0.1",
@@ -15723,12 +15723,12 @@
}
},
"node_modules/react-router-dom": {
"version": "7.12.0",
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.12.0.tgz",
"integrity": "sha512-pfO9fiBcpEfX4Tx+iTYKDtPbrSLLCbwJ5EqP+SPYQu1VYCXdy79GSj0wttR0U4cikVdlImZuEZ/9ZNCgoaxwBA==",
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.13.0.tgz",
"integrity": "sha512-5CO/l5Yahi2SKC6rGZ+HDEjpjkGaG/ncEP7eWFTvFxbHP8yeeI0PxTDjimtpXYlR3b3i9/WIL4VJttPrESIf2g==",
"license": "MIT",
"dependencies": {
"react-router": "7.12.0"
"react-router": "7.13.0"
},
"engines": {
"node": ">=20.0.0"
@@ -15800,9 +15800,9 @@
}
},
"node_modules/recharts": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/recharts/-/recharts-3.6.0.tgz",
"integrity": "sha512-L5bjxvQRAe26RlToBAziKUB7whaGKEwD3znoM6fz3DrTowCIC/FnJYnuq1GEzB8Zv2kdTfaxQfi5GoH0tBinyg==",
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/recharts/-/recharts-3.7.0.tgz",
"integrity": "sha512-l2VCsy3XXeraxIID9fx23eCb6iCBsxUQDnE8tWm6DFdszVAO7WVY/ChAD9wVit01y6B2PMupYiMmQwhgPHc9Ew==",
"license": "MIT",
"workspaces": [
"www"
@@ -16423,9 +16423,9 @@
}
},
"node_modules/sass": {
"version": "1.97.2",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.97.2.tgz",
"integrity": "sha512-y5LWb0IlbO4e97Zr7c3mlpabcbBtS+ieiZ9iwDooShpFKWXf62zz5pEPdwrLYm+Bxn1fnbwFGzHuCLSA9tBmrw==",
"version": "1.97.3",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz",
"integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==",
"license": "MIT",
"dependencies": {
"chokidar": "^4.0.0",

View File

@@ -8,9 +8,9 @@
"private": true,
"proxy": "http://localhost:4000",
"dependencies": {
"@amplitude/analytics-browser": "^2.33.4",
"@amplitude/analytics-browser": "^2.33.5",
"@ant-design/pro-layout": "^7.22.6",
"@apollo/client": "^4.1.1",
"@apollo/client": "^4.1.2",
"@emotion/is-prop-valid": "^1.4.0",
"@fingerprintjs/fingerprintjs": "^5.0.1",
"@firebase/analytics": "^0.10.19",
@@ -21,14 +21,14 @@
"@jsreport/browser-client": "^3.1.0",
"@reduxjs/toolkit": "^2.11.2",
"@sentry/cli": "^3.1.0",
"@sentry/react": "^10.35.0",
"@sentry/vite-plugin": "^4.7.0",
"@sentry/react": "^10.36.0",
"@sentry/vite-plugin": "^4.8.0",
"@splitsoftware/splitio-react": "^2.6.1",
"@tanem/react-nprogress": "^5.0.56",
"antd": "^6.2.1",
"@tanem/react-nprogress": "^5.0.58",
"antd": "^6.2.2",
"apollo-link-logger": "^3.0.0",
"autosize": "^6.0.1",
"axios": "^1.13.2",
"axios": "^1.13.3",
"classnames": "^2.5.1",
"css-box-model": "^1.2.1",
"dayjs": "^1.11.19",
@@ -42,15 +42,15 @@
"i18next": "^25.8.0",
"i18next-browser-languagedetector": "^8.2.0",
"immutability-helper": "^3.1.1",
"libphonenumber-js": "^1.12.34",
"lightningcss": "^1.31.0",
"libphonenumber-js": "^1.12.35",
"lightningcss": "^1.31.1",
"logrocket": "^11.0.0",
"markerjs2": "^2.32.7",
"memoize-one": "^6.0.0",
"normalize-url": "^8.1.1",
"object-hash": "^3.0.0",
"phone": "^3.1.69",
"posthog-js": "^1.335.0",
"phone": "^3.1.70",
"posthog-js": "^1.335.2",
"prop-types": "^15.8.1",
"query-string": "^9.3.1",
"raf-schd": "^4.0.3",
@@ -71,10 +71,10 @@
"react-product-fruits": "^2.2.62",
"react-redux": "^9.2.0",
"react-resizable": "^3.1.3",
"react-router-dom": "^7.12.0",
"react-router-dom": "^7.13.0",
"react-sticky": "^6.0.3",
"react-virtuoso": "^4.18.1",
"recharts": "^3.6.0",
"recharts": "^3.7.0",
"redux": "^5.0.1",
"redux-actions": "^3.0.3",
"redux-persist": "^6.0.0",
@@ -82,7 +82,7 @@
"redux-state-sync": "^3.1.4",
"reselect": "^5.1.1",
"rxjs": "^7.8.2",
"sass": "^1.97.2",
"sass": "^1.97.3",
"socket.io-client": "^4.8.3",
"styled-components": "^6.3.8",
"vite-plugin-ejs": "^1.7.0",

View File

@@ -1,4 +1,4 @@
import { useEffect, useRef, useState } from "react";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { DragDropContext } from "../dnd/lib";
import PropTypes from "prop-types";
@@ -7,6 +7,7 @@ import { PopoverWrapper } from "react-popopo";
import * as actions from "../../../../redux/trello/trello.actions.js";
import { BoardWrapper } from "../styles/Base.js";
import ProductionStatistics from "../../production-board-kanban.statistics.jsx";
import isEqual from "lodash/isEqual";
const useDragMap = () => {
const dragMapRef = useRef(new Map());
@@ -47,8 +48,9 @@ const BoardContainer = ({
const dispatch = useDispatch();
const currentReducerData = useSelector((state) => (state.trello.lanes ? state.trello : {}));
const { setDragTime, getLastDragTime } = useDragMap();
const previousDataRef = useRef(null);
const wireEventBus = () => {
const wireEventBus = useCallback(() => {
const eventBus = {
publish: (event) => {
switch (event.type) {
@@ -68,14 +70,17 @@ const BoardContainer = ({
}
};
eventBusHandle(eventBus);
};
}, [dispatch, eventBusHandle]);
useEffect(() => {
dispatch(actions.loadBoard(data));
if (eventBusHandle) {
wireEventBus();
if (!isEqual(previousDataRef.current, data)) {
previousDataRef.current = data;
dispatch(actions.loadBoard(data));
if (eventBusHandle) {
wireEventBus();
}
}
}, [data, eventBusHandle, dispatch]);
}, [data, wireEventBus, dispatch]);
useEffect(() => {
onDataChange(currentReducerData);
@@ -153,12 +158,17 @@ const BoardContainer = ({
}
};
const boardKey = useMemo(() => {
// React Compiler: Generate stable key from lane IDs
return currentReducerData.lanes?.map((l) => l.id).join("-") || "empty";
}, [currentReducerData.lanes]);
return (
<div>
<ProductionStatistics data={queryData} reducerData={currentReducerData} cardSettings={cardSettings} />
<PopoverWrapper>
<BoardWrapper orientation={orientation}>
<DragDropContext onDragEnd={onLaneDrag} onDragStart={onDragStart} contextId="production-board">
<DragDropContext key={boardKey} onDragEnd={onLaneDrag} onDragStart={onDragStart} contextId="production-board">
{currentReducerData.lanes.map((lane, index) => (
<Lane
key={lane.id}

View File

@@ -1,14 +1,28 @@
import { useEffect, useMemo } from "react";
import { useEffect, useMemo, useRef } from "react";
import createRegistry from "./create-registry";
export default function useRegistry() {
const registry = useMemo(createRegistry, []);
const cleanupScheduledRef = useRef(false);
useEffect(() => {
// Cancel any scheduled cleanup when component mounts
// This handles React StrictMode double-mounting
cleanupScheduledRef.current = false;
return function unmount() {
// Mark cleanup as scheduled
cleanupScheduledRef.current = true;
// clean up the registry to avoid any leaks
// doing it after an animation frame so that other things unmounting
// can continue to interact with the registry
requestAnimationFrame(registry.clean);
requestAnimationFrame(() => {
// Only clean if still scheduled (not cancelled by remount)
if (cleanupScheduledRef.current) {
registry.clean();
}
});
};
}, [registry]);
return registry;

View File

@@ -171,6 +171,7 @@ export default function useDroppablePublisher(args) {
}
registry.droppable.unregister(entry);
};
// eslint-disable-next-line react-compiler/react-compiler
}, [callbacks, descriptor, dragStopped, entry, marshal, registry.droppable]);
// update is enabled with the marshal