{"_id":"@flow97/react-toolkit","_rev":"28-03480c2027fd9a785314f5ab30558850","name":"@flow97/react-toolkit","dist-tags":{"latest":"0.3.0"},"versions":{"0.0.1":{"name":"@flow97/react-toolkit","version":"0.0.1","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.0.1","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"96e7503fe42c4bd5dd18378757a38a69bf116995","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.0.1.tgz","fileCount":21,"integrity":"sha512-GWIrCq2KZl1q6ydKpTTuuJU2ERnbuhB9VkFHPyTFTj2unnvPcA/b3cUj/F04oo+kFLXiOndpwlg0+7CI/XOvMA==","signatures":[{"sig":"MEYCIQCyA0qdIO2iz6IQDaNvklsmCrpWyZMUmL1yKsVnJ6qGlQIhAJ7dapErhAhSSwjCvzfiI7Vc+pXwBfTvDh/rxYlsZcxg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":749222},"type":"module","_from":"file:flow97-react-toolkit-0.0.1.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/308de0f5a04ec444e83a1376a3f35dc9/flow97-react-toolkit-0.0.1.tgz","_integrity":"sha512-GWIrCq2KZl1q6ydKpTTuuJU2ERnbuhB9VkFHPyTFTj2unnvPcA/b3cUj/F04oo+kFLXiOndpwlg0+7CI/XOvMA==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.0.1_1768212848877_0.5374166305089472","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@flow97/react-toolkit","version":"0.0.2","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.0.2","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"139cb8a14c84531b869a6cfd382628f996e40c28","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.0.2.tgz","fileCount":21,"integrity":"sha512-toJSAvxEXRYGKJqVybOIVK4fbi/lJog89YWdInz0M4rWE6J/yKXPJJdrlEC48/B0BUTqeFw6A8xOs7dErihwag==","signatures":[{"sig":"MEQCIDF4h2L1rw3sXqys1ss+7xm95B2/3pswMa68sYRbDko6AiBYoOwU+Kn6/suzb56mtlefIWpoJo8vUKI76meQrPHEUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":749544},"type":"module","_from":"file:flow97-react-toolkit-0.0.2.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/06247015b73a928fa9402d2398c1e6dc/flow97-react-toolkit-0.0.2.tgz","_integrity":"sha512-toJSAvxEXRYGKJqVybOIVK4fbi/lJog89YWdInz0M4rWE6J/yKXPJJdrlEC48/B0BUTqeFw6A8xOs7dErihwag==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.0.2_1768286572298_0.6004654301224761","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@flow97/react-toolkit","version":"0.0.3","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.0.3","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"4cd92a511d65a243872d2c128a4fef1f7624cf01","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.0.3.tgz","fileCount":22,"integrity":"sha512-rdA/9HbwN3pYnWTP8uU91M7nKzXq78eYcaTOAz/RfHLxqxn75PA4VmMGJ0470OK7bunuYgMbSPKUeTltpQL3+Q==","signatures":[{"sig":"MEQCIAiX/85qXX4iUUcL9FPzRkn1wotiG8fODnnNW8jxT9TrAiA4lfedShPH4+qYprh+J1ChaK654POy1vNPw/2PRuxy+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2247452},"type":"module","_from":"file:flow97-react-toolkit-0.0.3.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/c02c5e4ce2a7e0cc3bd602bc25926b7c/flow97-react-toolkit-0.0.3.tgz","_integrity":"sha512-rdA/9HbwN3pYnWTP8uU91M7nKzXq78eYcaTOAz/RfHLxqxn75PA4VmMGJ0470OK7bunuYgMbSPKUeTltpQL3+Q==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.0.3_1768465390302_0.6384714088350512","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@flow97/react-toolkit","version":"0.0.4","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.0.4","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"d4604d3851c29d575ccc117409dd4f2d27f516cf","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.0.4.tgz","fileCount":21,"integrity":"sha512-73qMguDgLas+wz/kGvwJ7IEAokV2QxsP3Pvt61zomyTKRBiYdKifzai38N3ujJqsEgJzzQBrK4IVaLjlRg2uag==","signatures":[{"sig":"MEQCIQDCCUjrN/IR9DFv+suZmVn5vBv/D3RQylmNQ6pe534pIgIfR9aKc+j74ZnlacDfEDpxXzGhbMQeSH2pncUb4VszNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":762818},"type":"module","_from":"file:flow97-react-toolkit-0.0.4.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/577dad30884cf401de081971accf84d2/flow97-react-toolkit-0.0.4.tgz","_integrity":"sha512-73qMguDgLas+wz/kGvwJ7IEAokV2QxsP3Pvt61zomyTKRBiYdKifzai38N3ujJqsEgJzzQBrK4IVaLjlRg2uag==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.0.4_1768473296744_0.24561659174510675","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@flow97/react-toolkit","version":"0.0.5","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.0.5","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"94ddcf8de860dc93777f85ec03d774220ca01ade","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.0.5.tgz","fileCount":21,"integrity":"sha512-wx0JpEt5H8bfJBggbLVAnRG6kdgWRdsddCxs170QtHPEplwNJE6qiSL/tF5ZFtRC7YHk5Mhzju/y+DNyO8Oh2w==","signatures":[{"sig":"MEUCIQCmxyAnPG0UUbyphY7Kd9v4CtwxM/TA8pSzlX5GxRVFeAIgE0eJltH/0aUF0g/7Ua/VjKD7rVtfPdhISmoFaby7nBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":764024},"type":"module","_from":"file:flow97-react-toolkit-0.0.5.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/d34a7e770c9d914eca0d8b116df9974c/flow97-react-toolkit-0.0.5.tgz","_integrity":"sha512-wx0JpEt5H8bfJBggbLVAnRG6kdgWRdsddCxs170QtHPEplwNJE6qiSL/tF5ZFtRC7YHk5Mhzju/y+DNyO8Oh2w==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.0.5_1768811826659_0.7222611122207143","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@flow97/react-toolkit","version":"0.0.6","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.0.6","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"95c26c115115308568e0644594c53e6944dae3be","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.0.6.tgz","fileCount":21,"integrity":"sha512-f+WLpoT6vlwbmicMSkWSKIzvrNcXvcQNXVhvlcq3KyAsYNwQMssNLKKD+4NlF+3yaT2B3anLygUVriNlOsyRfg==","signatures":[{"sig":"MEUCIFQDdWWw/R+th34vwVcOpg2WkL7TMX/HHbHI68rQit9zAiEAvgKT1iiY5jKi22fiCQalzdDHlaYxb5yw4fbRAdiHcXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":769139},"type":"module","_from":"file:flow97-react-toolkit-0.0.6.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/c96ec6b9a251b68cd097d52344724744/flow97-react-toolkit-0.0.6.tgz","_integrity":"sha512-f+WLpoT6vlwbmicMSkWSKIzvrNcXvcQNXVhvlcq3KyAsYNwQMssNLKKD+4NlF+3yaT2B3anLygUVriNlOsyRfg==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.0.6_1769152172570_0.3735018118956559","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@flow97/react-toolkit","version":"0.0.7","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.0.7","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"2484aa65461aa9e0cacbc3fc97f3c4bbeebddd34","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.0.7.tgz","fileCount":21,"integrity":"sha512-BIcf1R2ZqkE1T64aDf7fry6U3GMMBM7YfeRNvStr2Zlxga8x1wYYeTdgy7GhXBonqZcnpVHtGE7qRmh1fHl56A==","signatures":[{"sig":"MEYCIQD/J+V8g/2Ag7MW4y+u5QS8g5EBwVxGpSJ+z13RqYJiSQIhANj6SAt54atp0O1HUMc6fXEF89z1eLuNAdt1h2xvmYx1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770631},"type":"module","_from":"file:flow97-react-toolkit-0.0.7.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/730f236a6fd41f6bd254f115b8a560b2/flow97-react-toolkit-0.0.7.tgz","_integrity":"sha512-BIcf1R2ZqkE1T64aDf7fry6U3GMMBM7YfeRNvStr2Zlxga8x1wYYeTdgy7GhXBonqZcnpVHtGE7qRmh1fHl56A==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.0.7_1769153756768_0.6568946250663359","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@flow97/react-toolkit","version":"0.0.8","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.0.8","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"e021e310f839e9893e34a158bb2dde22f70673f3","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.0.8.tgz","fileCount":22,"integrity":"sha512-tB3kuqu2GWspKDmCUs9jcqAt03nYC45FYGV8E9+bywqQLbxOLIwnjZXDKLPCc91rdGuxMtw+Gpbg2sJQOCjVUA==","signatures":[{"sig":"MEUCIAJyAZLNbc70eeT95kJGmY5fylMs5uD6gZfrUdrSBvdAAiEApEM61FVZdKLOQmWZlu5Kl5SegI3GUmsY+dXWwg6wSMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2257443},"type":"module","_from":"file:flow97-react-toolkit-0.0.8.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/d6e99867347827e308d7a2b18bcb87c5/flow97-react-toolkit-0.0.8.tgz","_integrity":"sha512-tB3kuqu2GWspKDmCUs9jcqAt03nYC45FYGV8E9+bywqQLbxOLIwnjZXDKLPCc91rdGuxMtw+Gpbg2sJQOCjVUA==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.0.8_1769571370063_0.9232833190410681","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@flow97/react-toolkit","version":"0.0.9","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.0.9","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"72cc072a0aa88374bbc92dc15ef989526b0ce13f","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.0.9.tgz","fileCount":21,"integrity":"sha512-Eg9cU7l+BON/CAQQljEPselm+ZfEoLgmSVAVNChUComSipAsbG8jKzkieEwgyVPLlUbKAHKY3eNdPfeW3rfL2A==","signatures":[{"sig":"MEUCIQC5CSA2wZEUEy83GMni6b4jaUJFOF7kVBTF7xEPVMJO9wIgV6oQ0BauJ5CRrsvETYX0WjiCvdNLONI6QKe1Ix71Yck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770913},"type":"module","_from":"file:flow97-react-toolkit-0.0.9.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/5358a97df54906f0ab719fdbbacd3afe/flow97-react-toolkit-0.0.9.tgz","_integrity":"sha512-Eg9cU7l+BON/CAQQljEPselm+ZfEoLgmSVAVNChUComSipAsbG8jKzkieEwgyVPLlUbKAHKY3eNdPfeW3rfL2A==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.0.9_1770015927235_0.9836241469544309","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@flow97/react-toolkit","version":"0.0.10","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.0.10","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"644eb64d964840bcbcf092a3748771aff8400d83","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.0.10.tgz","fileCount":22,"integrity":"sha512-aLqfw93smoq6kLUhVZetEwA4DGzCo8HWidRug2cIZae+lkZsqPr9mYb4hifJytfmw8LbU+4o1q4KRPZfQo9jpw==","signatures":[{"sig":"MEYCIQDrs9R5e6Ydk53QVFDZS6+MTzd36vgMu8YX++wCOG1qLQIhAIZartzaSACk7R6FWvcTGod5XyOAIyJRPEBp9uZIKOws","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2258750},"type":"module","_from":"file:flow97-react-toolkit-0.0.10.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/db166f605961e1727c9e960a8d600f7b/flow97-react-toolkit-0.0.10.tgz","_integrity":"sha512-aLqfw93smoq6kLUhVZetEwA4DGzCo8HWidRug2cIZae+lkZsqPr9mYb4hifJytfmw8LbU+4o1q4KRPZfQo9jpw==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.0.10_1770276243322_0.8452808398770637","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@flow97/react-toolkit","version":"0.1.1","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.1.1","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"2d7d34ae3b18efb3018a6f8ab6a776bf8d6bd533","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.1.1.tgz","fileCount":22,"integrity":"sha512-ByXo6WtmVjSxI/7y63cUP8pUIDRTnpihq+vktg3WphaCkuZx1LqX1tRAiF6huCmnku1gS+rexUcxuiufBPm7GA==","signatures":[{"sig":"MEUCICXl6oqZprD5uoYedha7QV0Prpo43ZL2klUYaU+NCt1JAiEAmB5z+ibQzmaK5TArFLCZ6KMr1AF86YEODSsm+oq8IsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":932499},"type":"module","_from":"file:flow97-react-toolkit-0.1.1.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/5024ef1f050f1c0c1351a323438e85ab/flow97-react-toolkit-0.1.1.tgz","_integrity":"sha512-ByXo6WtmVjSxI/7y63cUP8pUIDRTnpihq+vktg3WphaCkuZx1LqX1tRAiF6huCmnku1gS+rexUcxuiufBPm7GA==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.1.1_1770358769200_0.05759465801367214","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@flow97/react-toolkit","version":"0.1.2","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.1.2","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"cb5107576816a3b0912cedaa4c849ae341745b18","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.1.2.tgz","fileCount":22,"integrity":"sha512-IiHt2WzxaWBD/8V6+0EVYwSd1xU7WLxr4vRapWTnGEf6h95FD36nBhGn8tn3hjwOeQ7lxC8lBkdqtwrReq0phA==","signatures":[{"sig":"MEUCIQDECl6IxbtCo1qkDGfQMbD+t0FrxcvF3hnTEGe75Yv23AIgSQOhBIEJtnocH4hRy1vKboKwzlz8ofb6MHqv6lpQdRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2276145},"type":"module","_from":"file:flow97-react-toolkit-0.1.2.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/4e9599d1fc5f610a67bf3397a25a9f8d/flow97-react-toolkit-0.1.2.tgz","_integrity":"sha512-IiHt2WzxaWBD/8V6+0EVYwSd1xU7WLxr4vRapWTnGEf6h95FD36nBhGn8tn3hjwOeQ7lxC8lBkdqtwrReq0phA==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.1.2_1770359761865_0.9538947932718631","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@flow97/react-toolkit","version":"0.1.3","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.1.3","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"e636981263ff9d1696e0aca7136eab245ea7f8fe","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.1.3.tgz","fileCount":21,"integrity":"sha512-qLZ9u08ZeHoIVfyyLrmluX8SmhvHuGDoy8ti4r84xMGCVojQZqCPi9z1lM4ZX69o2qYdAraT0JmVJwA6L+L0Fw==","signatures":[{"sig":"MEUCIG88vjihyXFb641o7WN3blAKt2OZlnX6Yl8p6lif9AkZAiEA2N13bjiEKrrDIq8iSQmpj1gyoqD/tbRjPM6iCdaZA70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":784785},"type":"module","_from":"file:flow97-react-toolkit-0.1.3.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/8b02481248a26ed5742e0a96f8b20b56/flow97-react-toolkit-0.1.3.tgz","_integrity":"sha512-qLZ9u08ZeHoIVfyyLrmluX8SmhvHuGDoy8ti4r84xMGCVojQZqCPi9z1lM4ZX69o2qYdAraT0JmVJwA6L+L0Fw==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.1.3_1771990958329_0.31502815822890184","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@flow97/react-toolkit","version":"0.1.4","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.1.4","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"72e18dedbc6114b58d2dcadaa7ac288a7fa334d0","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.1.4.tgz","fileCount":21,"integrity":"sha512-yn3IXFhc9PN+urg25wyR0h9SVgzsVoWZec2B8szYc6xUUfVi9xIdNSTXKYcm2mhlnZah6ASCcb2ngfyNvQ+ZqA==","signatures":[{"sig":"MEYCIQDbYpZy1WxPBS9o4/JswNtr4752WZXn8eYL002fyidSzwIhAKBhhRys3oBoRbu78TRXHe8LlUGQVV7uX/0lfLr4L9vn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":785058},"type":"module","_from":"file:flow97-react-toolkit-0.1.4.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/3941ddbede3fbb109767ef726e76cce7/flow97-react-toolkit-0.1.4.tgz","_integrity":"sha512-yn3IXFhc9PN+urg25wyR0h9SVgzsVoWZec2B8szYc6xUUfVi9xIdNSTXKYcm2mhlnZah6ASCcb2ngfyNvQ+ZqA==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.1.4_1771999433732_0.5011628184908048","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@flow97/react-toolkit","version":"0.1.5","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.1.5","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"cde952d828422c84569afc47da1840f99b1099b2","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.1.5.tgz","fileCount":21,"integrity":"sha512-5SD21MUKDN5beHbQAqbA0Hsau75uPvgmqr+7gRFBo8U8u+yD/SMC35XdhlSXwEZ3EmHtfICPSYzWGo83OqImuA==","signatures":[{"sig":"MEYCIQCVp6gyRKckRwLf5gGtDARThxI2lG4nRGYc/0mX1U97OwIhAJkMv8xe2lbHfSe0ZJC5utL5DLSk/I06Zl49FzRrKBfB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":786415},"type":"module","_from":"file:flow97-react-toolkit-0.1.5.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/2daf36275c045d2f32c08b90bdb40269/flow97-react-toolkit-0.1.5.tgz","_integrity":"sha512-5SD21MUKDN5beHbQAqbA0Hsau75uPvgmqr+7gRFBo8U8u+yD/SMC35XdhlSXwEZ3EmHtfICPSYzWGo83OqImuA==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.1.5_1772010149883_0.7786105000766732","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@flow97/react-toolkit","version":"0.1.6","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.1.6","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"eddb89272e5cb215fe355cca70f55c60927ab594","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.1.6.tgz","fileCount":21,"integrity":"sha512-wc0KWnFUWGg/xORZfZ3z/Sc8jrPU+kRuLG4pBj7deJR7vM3GEXbwIFzEPbhTJIBKIRcIiShQ3VDqmH53vxVB5Q==","signatures":[{"sig":"MEQCIGKIy8791oaf3h/OrGuNs9nKLDnfmb8AWtJEJvs0gTAlAiAbhB7SAzDuTjAb+a8CJlMvZvwbcUpQy0vpnCTkBBQgDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":786723},"type":"module","_from":"file:flow97-react-toolkit-0.1.6.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/7419f5355b9f33a7a3679b3925366a47/flow97-react-toolkit-0.1.6.tgz","_integrity":"sha512-wc0KWnFUWGg/xORZfZ3z/Sc8jrPU+kRuLG4pBj7deJR7vM3GEXbwIFzEPbhTJIBKIRcIiShQ3VDqmH53vxVB5Q==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.1.6_1772160200782_0.002713217665584855","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@flow97/react-toolkit","version":"0.1.7","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.1.7","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"3b9c854ba7285e4128f7a06f74fa391efcf5bc15","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.1.7.tgz","fileCount":21,"integrity":"sha512-WCybC2WUwV1nR7vdSqU1emww7JapdrMgHF1g016/9zNsw0bw7NDUkXE2eQROGKbGOQ99C9TYdyhlvg/Qt5ObIw==","signatures":[{"sig":"MEQCICAzrsGUpi7oEN5qtlE0lZ4Xwahn5fP7TrRIgQ7Q2yTYAiBQIEMFi6szMqKLSa1p0iZbTu3erfc7JovNIj9FPVpy7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":788749},"type":"module","_from":"file:flow97-react-toolkit-0.1.7.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/14a452d838fcc7638c26ff642cdc91a1/flow97-react-toolkit-0.1.7.tgz","_integrity":"sha512-WCybC2WUwV1nR7vdSqU1emww7JapdrMgHF1g016/9zNsw0bw7NDUkXE2eQROGKbGOQ99C9TYdyhlvg/Qt5ObIw==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.1.7_1772181185268_0.8067243205320107","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@flow97/react-toolkit","version":"0.1.8","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.1.8","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"34af5e438d5f0f4fb82166b87753f8b097c67c11","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.1.8.tgz","fileCount":21,"integrity":"sha512-XDoO0t9LpYZut/brWSywB2ICaqgeoFkSVlXlpQxMSWFgJC6NIz1eD2m/ZQL97exCTTQrIBqS1ft9AhThOw/5Qw==","signatures":[{"sig":"MEUCIHALyT7nHp3HqSKFGIKV+5DVebyRSqOLun8/yvq7l9QbAiEAimPQkASNO5x6C11vFeTYML5Iab7XL5+lRB9jGF9DFJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":788844},"type":"module","_from":"file:flow97-react-toolkit-0.1.8.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"tsup --watch","lint":"eslint --fix .","build":"tsup"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/fc8e416a3689ccf3ae0bb37dde1ed988/flow97-react-toolkit-0.1.8.tgz","_integrity":"sha512-XDoO0t9LpYZut/brWSywB2ICaqgeoFkSVlXlpQxMSWFgJC6NIz1eD2m/ZQL97exCTTQrIBqS1ft9AhThOw/5Qw==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","tsup":"^8.5.1","react":"19.2.3","eslint":"^9.39.1","cssnano":"^7.1.2","postcss":"^8.5.6","prettier":"^3.6.2","tsconfig":"0.0.6","fast-glob":"^3.3.3","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","autoprefixer":"^10.4.22","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/postcss":"^4.1.18","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.1.8_1773051653996_0.3181457402341419","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@flow97/react-toolkit","version":"0.1.10","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.1.10","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"233a93e866890c0bf82fd865d89ee3cfa3259a31","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.1.10.tgz","fileCount":20,"integrity":"sha512-xRd0xv11AnfmX9AR9h/TyO6+tnHJYatc5LkI6aeASoKFzcei7QtJxxjSqdWQSHbh9FnwPAFI7kZTTGPgJ1JHoQ==","signatures":[{"sig":"MEUCIFt8/bggYzgZ/+hdl41ZyVqngTiE3kW4BAi24KAG3ghIAiEA8HhkmGMlV3kvMCb3jSTZoilGcZ+/0iYBGJM+UP0lhDc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369713},"type":"module","_from":"file:flow97-react-toolkit-0.1.10.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"vite build --watch","lint":"eslint --fix .","build":"pnpm build:lib && pnpm build:locale","build:lib":"vite build","build:locale":"vite build -c vite.locale.config.ts"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/3cfbf9afb6e8ed84f43bd072782a5bbb/flow97-react-toolkit-0.1.10.tgz","_integrity":"sha512-xRd0xv11AnfmX9AR9h/TyO6+tnHJYatc5LkI6aeASoKFzcei7QtJxxjSqdWQSHbh9FnwPAFI7kZTTGPgJ1JHoQ==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","vite":"^7.1.0","react":"19.2.3","eslint":"^9.39.1","prettier":"^3.6.2","tsconfig":"0.0.6","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","vite-plugin-dts":"^4.5.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/vite":"^4.1.18","@vitejs/plugin-react":"^4.7.0","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.1.10_1773738307252_0.7816822152386997","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@flow97/react-toolkit","version":"0.1.11","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.1.11","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"99c6ee6a0df0729dc59a647ffac7fe3053b1f712","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.1.11.tgz","fileCount":20,"integrity":"sha512-Txh8QkEf4EUbtUNogUBRktob67b/2qjQQk0myEJf6utrCLK+MCqKgOuZCeBYl0nK4H9jgE6aEUmKqhKEh4nFbA==","signatures":[{"sig":"MEUCIGZy4RnhSErv6+7WeWFFFXFvvek5Wg/3bfogtZ1cVZ0DAiEA01oL/eAG9tmXRq+1U1NUfigtOgpRU1sDI60giaOInQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369806},"type":"module","_from":"file:flow97-react-toolkit-0.1.11.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"vite build --watch","lint":"eslint --fix .","build":"pnpm build:lib && pnpm build:locale","build:lib":"vite build","build:locale":"vite build -c vite.locale.config.ts"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/36b74ef8fffa7de62f155b1206071c37/flow97-react-toolkit-0.1.11.tgz","_integrity":"sha512-Txh8QkEf4EUbtUNogUBRktob67b/2qjQQk0myEJf6utrCLK+MCqKgOuZCeBYl0nK4H9jgE6aEUmKqhKEh4nFbA==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","vite":"^7.1.0","react":"19.2.3","eslint":"^9.39.1","prettier":"^3.6.2","tsconfig":"0.0.6","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","vite-plugin-dts":"^4.5.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/vite":"^4.1.18","@vitejs/plugin-react":"^4.7.0","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.1.11_1773800176256_0.8293697870711774","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@flow97/react-toolkit","version":"0.1.12","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.1.12","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"8e0ab9a79a4da1adec9267fdba05cf2fdcec5934","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.1.12.tgz","fileCount":20,"integrity":"sha512-1VyBg2rH1iXRnj8Fvn/qBBVZaOuY8sQE0WllCd+JvU2CCUKopE2yUNqsVgiK5xSEZM6fHL52YUnMKsyaGL6AxA==","signatures":[{"sig":"MEUCIQDqU3HjcPDKOq1i3jgnj+avpntXpZ2vj3lfULmTDWPn3AIgcbdOMWgfEfziBgBXz368zDaJmLjXvyK46HFuKa2Zdog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":370140},"type":"module","_from":"file:flow97-react-toolkit-0.1.12.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"vite build --watch","lint":"eslint --fix .","build":"pnpm build:lib && pnpm build:locale","build:lib":"vite build","build:locale":"vite build -c vite.locale.config.ts"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/fd7759a90862d3f27349ba723f629d76/flow97-react-toolkit-0.1.12.tgz","_integrity":"sha512-1VyBg2rH1iXRnj8Fvn/qBBVZaOuY8sQE0WllCd+JvU2CCUKopE2yUNqsVgiK5xSEZM6fHL52YUnMKsyaGL6AxA==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","vite":"^7.1.0","react":"19.2.3","eslint":"^9.39.1","prettier":"^3.6.2","tsconfig":"0.0.6","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","vite-plugin-dts":"^4.5.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/vite":"^4.1.18","@vitejs/plugin-react":"^4.7.0","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.1.12_1773801045204_0.1737572210063989","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@flow97/react-toolkit","version":"0.1.13","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.1.13","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"fc21221bbe24aa80586265b077f6790677172380","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.1.13.tgz","fileCount":20,"integrity":"sha512-YCFyEkm2Z8AYsVcH7JkikcbwHvTxAroWejJlF2CNTnNYeCiv8C6/AwJ7O/QLrJgy+EI4WD2UsESvd3UWPXoqNQ==","signatures":[{"sig":"MEUCIEBO0/lwhItqEkQUoEav0k/Y+HTK3Rk2NUhGMzjPMXEkAiEAt62P+66Btj6baQFi8euRFfZL+5/pj5c9gJ0QUqCO9oY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":370377},"type":"module","_from":"file:flow97-react-toolkit-0.1.13.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./style.css":"./lib/index.css"},"scripts":{"dev":"vite build --watch","lint":"eslint --fix .","build":"pnpm build:lib && pnpm build:locale","build:lib":"vite build","build:locale":"vite build -c vite.locale.config.ts"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/ch/lq327z050rj8lgrv3wdbnrym0000ks/T/859f76cc5894057bafa6c4e1457a50d9/flow97-react-toolkit-0.1.13.tgz","_integrity":"sha512-YCFyEkm2Z8AYsVcH7JkikcbwHvTxAroWejJlF2CNTnNYeCiv8C6/AwJ7O/QLrJgy+EI4WD2UsESvd3UWPXoqNQ==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.19.4","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","vite":"^7.1.0","react":"19.2.3","eslint":"^9.39.1","prettier":"^3.6.2","tsconfig":"0.0.6","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","vite-plugin-dts":"^4.5.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/vite":"^4.1.18","@vitejs/plugin-react":"^4.7.0","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.2"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.1.13_1774431267094_0.9319120155940928","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@flow97/react-toolkit","version":"0.2.0","author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","_id":"@flow97/react-toolkit@0.2.0","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"dist":{"shasum":"85f3f95679373295b2445f7fb81b16f36ef54a60","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.2.0.tgz","fileCount":212,"integrity":"sha512-0i2YidzqZ/yCc2+TJDfNg0j8NlqRt6h8k6yDwOQQdI8LxuHdczK9bVfjFnePti/msgCNo8iQJkVisvVYdb7gFQ==","signatures":[{"sig":"MEUCIGEGiZQR0E/3YBkl1Yv+fM+x8NH0cxnICYtFTtFiRie0AiEAo3XdN08aVoNwHYy5r15CnymWCY8We5geA7mXv2dmyFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":616111},"type":"module","_from":"file:flow97-react-toolkit-0.2.0.tgz","types":"./lib/index.d.ts","module":"./lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./types":{"types":"./lib/types/index.d.ts","import":"./lib/types/index.js"},"./utils":{"types":"./lib/utils/index.d.ts","import":"./lib/utils/index.js"},"./locale":{"types":"./locale/index.d.ts","import":"./locale/index.js"},"./stores":{"types":"./lib/stores/index.d.ts","import":"./lib/stores/index.js"},"./pages/*":{"types":"./lib/pages/*/index.d.ts","import":"./lib/pages/*/index.js"},"./locale/*":{"types":"./locale/*.d.ts","import":"./locale/*.js"},"./routes/*":{"types":"./lib/routes/*/index.d.ts","import":"./lib/routes/*/index.js"},"./services":{"types":"./lib/services/index.d.ts","import":"./lib/services/index.js"},"./constants":{"types":"./lib/constants/index.d.ts","import":"./lib/constants/index.js"},"./style.css":"./lib/index.css","./hooks/modal":{"types":"./lib/hooks/modal/index.d.ts","import":"./lib/hooks/modal/index.js"},"./components/*":{"types":"./lib/components/*/index.d.ts","import":"./lib/components/*/index.js"},"./hooks/drawer":{"types":"./lib/hooks/drawer/index.d.ts","import":"./lib/hooks/drawer/index.js"},"./hooks/useAuthConfig":{"types":"./lib/hooks/useAuthConfig.d.ts","import":"./lib/hooks/useAuthConfig.js"}},"scripts":{"dev":"vite build --watch","lint":"eslint --fix .","build":"pnpm build:lib && pnpm build:locale","build:lib":"vite build","build:locale":"vite build -c vite.locale.config.ts"},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"_resolved":"/private/var/folders/1l/924cppg16fgbwmdq683nj3h40000ks/T/028fa350355133f1b9766518853d9723/flow97-react-toolkit-0.2.0.tgz","_integrity":"sha512-0i2YidzqZ/yCc2+TJDfNg0j8NlqRt6h8k6yDwOQQdI8LxuHdczK9bVfjFnePti/msgCNo8iQJkVisvVYdb7gFQ==","_npmVersion":"10.8.2","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","directories":{},"lint-staged":{"*.{json,md,css}":["prettier --write"],"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"]},"sideEffects":["*.css"],"_nodeVersion":"20.20.2","dependencies":{"ky":"^1.14.0","dayjs":"^1.11.19","immer":"^11.0.0","zustand":"^5.0.8","lodash-es":"^4.17.21","jwt-decode":"^4.0.0","@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"antd":"^6.1.1","vite":"^7.1.0","react":"19.2.3","eslint":"^9.39.1","prettier":"^3.6.2","tsconfig":"0.0.6","react-dom":"19.2.3","typescript":"^5.9.3","@types/node":"^24.10.1","tailwindcss":"^4.1.18","@types/react":"^19.2.6","react-router":"^7.9.6","ts-essentials":"^10.1.1","tailwind-config":"0.1.3","vite-plugin-dts":"^4.5.0","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.2.3","@react-router/dev":"^7.11.0","@tailwindcss/vite":"^4.1.18","@vitejs/plugin-react":"^4.7.0","@tanstack/react-query":"^5.90.10","@flow97/eslint-config-react":"1.1.3"},"peerDependencies":{"antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6","@tanstack/react-query":"^5.90.10"},"_npmOperationalInternal":{"tmp":"tmp/react-toolkit_0.2.0_1776741977766_0.6674336777836729","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@flow97/react-toolkit","type":"module","version":"0.3.0","sideEffects":["*.css"],"module":"./lib/index.js","types":"./lib/index.d.ts","exports":{"./style.css":"./lib/index.css",".":{"import":"./lib/index.js","types":"./lib/index.d.ts"},"./constants":{"import":"./lib/constants/index.js","types":"./lib/constants/index.d.ts"},"./services":{"import":"./lib/services/index.js","types":"./lib/services/index.d.ts"},"./types":{"import":"./lib/types/index.js","types":"./lib/types/index.d.ts"},"./utils":{"import":"./lib/utils/index.js","types":"./lib/utils/index.d.ts"},"./stores":{"import":"./lib/stores/index.js","types":"./lib/stores/index.d.ts"},"./locale":{"import":"./locale/index.js","types":"./locale/index.d.ts"},"./components/*":{"import":"./lib/components/*/index.js","types":"./lib/components/*/index.d.ts"},"./hooks/drawer":{"import":"./lib/hooks/drawer/index.js","types":"./lib/hooks/drawer/index.d.ts"},"./hooks/modal":{"import":"./lib/hooks/modal/index.js","types":"./lib/hooks/modal/index.d.ts"},"./hooks/useAuthConfig":{"import":"./lib/hooks/useAuthConfig.js","types":"./lib/hooks/useAuthConfig.d.ts"},"./pages/*":{"import":"./lib/pages/*/index.js","types":"./lib/pages/*/index.d.ts"},"./routes/*":{"import":"./lib/routes/*/index.js","types":"./lib/routes/*/index.d.ts"},"./locale/*":{"import":"./locale/*.js","types":"./locale/*.d.ts"}},"license":"MIT","lint-staged":{"*.{ts,tsx,js,jsx}":["eslint --fix --cache --cache-location .eslintcache","prettier --write"],"*.{json,md,css}":["prettier --write"]},"author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"dependencies":{"@ant-design/icons":"^6.1.0","@monaco-editor/react":"^4.7.0","dayjs":"^1.11.19","immer":"^11.0.0","jwt-decode":"^4.0.0","ky":"^1.14.0","lodash-es":"^4.17.21","zustand":"^5.0.8"},"devDependencies":{"@react-router/dev":"^7.11.0","@tanstack/react-query":"^5.90.10","@types/lodash-es":"^4.17.12","@types/node":"^24.10.1","@types/react":"^19.2.6","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.1.18","antd":"^6.1.1","@vitejs/plugin-react":"^4.7.0","eslint":"^9.39.1","prettier":"^3.6.2","react":"19.2.3","react-dom":"19.2.3","react-router":"^7.9.6","tailwindcss":"^4.1.18","ts-essentials":"^10.1.1","typescript":"^5.9.3","vite":"^7.1.0","vite-plugin-dts":"^4.5.0","@flow97/eslint-config-react":"1.1.3","tsconfig":"0.0.6","tailwind-config":"0.1.3"},"peerDependencies":{"@tanstack/react-query":"^5.90.10","antd":"^6.0.0","react":"^19.2.0","react-dom":"^19.2.0","react-router":"^7.9.6"},"scripts":{"dev":"vite build --watch","build":"pnpm build:lib && pnpm build:locale","build:lib":"vite build","build:locale":"vite build -c vite.locale.config.ts","lint":"eslint --fix .","type-check":"tsc --noEmit -p tsconfig.json"},"_id":"@flow97/react-toolkit@0.3.0","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","_integrity":"sha512-2ITtiJPiQE84AKf4Jlm5uJQC5VZOOn9JsayKsVF7xP/iLUW1BVDKaBXWA3s6NC8jRX17Ro5bXhrL48DvnTiAxw==","_resolved":"/private/var/folders/1l/924cppg16fgbwmdq683nj3h40000ks/T/eee5bf4dda1f06926b267a093795a767/flow97-react-toolkit-0.3.0.tgz","_from":"file:flow97-react-toolkit-0.3.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-2ITtiJPiQE84AKf4Jlm5uJQC5VZOOn9JsayKsVF7xP/iLUW1BVDKaBXWA3s6NC8jRX17Ro5bXhrL48DvnTiAxw==","shasum":"e7a324dc48e61e10a8de6301a4983bba7ea7d59b","tarball":"https://registry.npmjs.org/@flow97/react-toolkit/-/react-toolkit-0.3.0.tgz","fileCount":198,"unpackedSize":462899,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFuq4ESZykp7Pk5DYNtbwyOP3FPH9z7TwUym2EZvOYOtAiEAi93d7RO0qIvAg42L04BwkgEmHpJuOZPX0qvee3jpgd0="}]},"_npmUser":{"name":"chaos1ee","email":"hao.li@funplus.com"},"directories":{},"maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-toolkit_0.3.0_1779868272029_0.5735838342109887"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-12T10:14:08.780Z","modified":"2026-05-27T07:51:12.325Z","4.0.0":"2026-01-12T09:54:36.189Z","0.1.0":"2026-01-12T10:13:31.425Z","0.0.1":"2026-01-12T10:14:09.198Z","0.0.2":"2026-01-13T06:42:52.516Z","0.0.3":"2026-01-15T08:23:10.526Z","0.0.4":"2026-01-15T10:34:56.992Z","0.0.5":"2026-01-19T08:37:06.847Z","0.0.6":"2026-01-23T07:09:32.767Z","0.0.7":"2026-01-23T07:35:56.934Z","0.0.8":"2026-01-28T03:36:10.325Z","0.0.9":"2026-02-02T07:05:27.432Z","0.0.10":"2026-02-05T07:24:03.521Z","0.1.1":"2026-02-06T06:19:29.339Z","0.1.2":"2026-02-06T06:36:02.165Z","0.1.3":"2026-02-25T03:42:38.582Z","0.1.4":"2026-02-25T06:03:53.943Z","0.1.5":"2026-02-25T09:02:30.123Z","0.1.6":"2026-02-27T02:43:20.949Z","0.1.7":"2026-02-27T08:33:05.515Z","0.1.8":"2026-03-09T10:20:54.236Z","0.1.10":"2026-03-17T09:05:07.391Z","0.1.11":"2026-03-18T02:16:16.391Z","0.1.12":"2026-03-18T02:30:45.455Z","0.1.13":"2026-03-25T09:34:27.286Z","0.2.0":"2026-04-21T03:26:17.911Z","0.3.0":"2026-05-27T07:51:12.184Z"},"author":{"name":"chaos1ee","email":"chaos.maybeeee@gmail.com"},"license":"MIT","description":"一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。","maintainers":[{"name":"chaos1ee","email":"hao.li@funplus.com"}],"readme":"# @flow97/react-toolkit\n\n一套面向企业级应用的前端工具集，基于 React、Ant Design 与 TanStack Query。开箱即用的应用壳、权限/菜单、通用列表（分页/无限滚动）、抽屉/弹框表单与国际化支持，助你快速搭建一致、可维护的中后台应用。\n\n## 亮点特性\n\n- 应用壳与导航：`Layout`、侧边菜单、面包屑、登录页、404\n- 列表范式：`QueryList`（分页）、`InfiniteList`（无限滚动）\n- 表单弹层：`useFormModal`、`useFormDrawer`\n- 权限体系：`RequireAuth`、`AuthButton`，以及权限/菜单路由片段\n- 数据获取：服务层 hooks（如 `useAuth`、`useMenuList`、`useGames`）\n- 子路径导出按模块组织，按需引用现有组件、Hooks、页面与路由\n\n## 安装与要求\n\n```bash\npnpm add @flow97/react-toolkit\n```\n\n对等依赖（需由你的应用提供）：\n\n- react、react-dom：^19\n- antd：^6\n- react-router：^7\n- @tanstack/react-query：^5\n\n样式：\n\n```ts\nimport '@flow97/react-toolkit/style.css'\n```\n\n## 快速上手\n\n```tsx\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query'\nimport '@flow97/react-toolkit/style.css'\nimport { createRoot } from 'react-dom/client'\nimport { RouterProvider } from 'react-router'\nimport { ToolkitProvider } from '@flow97/react-toolkit/components/toolkitProvider'\nimport { AuthMode } from '@flow97/react-toolkit/constants'\n\nimport router from './router'\n\n// 创建 QueryClient 实例\nconst queryClient = new QueryClient({\n  defaultOptions: {\n    queries: {\n      refetchOnWindowFocus: false,\n      retry: false,\n      staleTime: 5 * 60 * 1000,\n      gcTime: 10 * 60 * 1000,\n    },\n    mutations: {\n      retry: false,\n    },\n  },\n})\n\nconst root = createRoot(document.getElementById('root') as HTMLElement)\n\nroot.render(\n  <QueryClientProvider client={queryClient}>\n    <ToolkitProvider collapsible gameApiV2 auth={{ mode: AuthMode.GROUP_BASED }} loginPath=\"/sign_in\" mainPagePath=\"/\">\n      <RouterProvider router={router} />\n    </ToolkitProvider>\n  </QueryClientProvider>,\n)\n```\n\n**重要提示**：`QueryClientProvider` 必须包裹 `ToolkitProvider`，因为 `@flow97/react-toolkit` 内部使用了 `@tanstack/react-query` 的 hooks。\n\n### 配置项（`ToolkitProvider`）\n\n- **loginPath**: 登录页路径（未鉴权时会跳转）\n- **mainPagePath**: 登录后主页路径（鉴权通过时进入）\n- **auth.mode**: 认证模式，建议使用 `AuthMode.GROUP_BASED`\n- **collapsible**: 侧边栏是否可折叠\n- **gameApiV2**: 是否启用游戏相关 V2 接口适配（如不涉及可忽略）\n- 其余高级配置见类型定义 `@flow97/react-toolkit/components/toolkitProvider` 内导出的 Provider Props\n\n## 子路径导出（推荐）\n\n- `@flow97/react-toolkit/components/*`：组件模块（如 `components/layout`、`components/list`、`components/toolkitProvider`）\n- `@flow97/react-toolkit/hooks/drawer`、`@flow97/react-toolkit/hooks/modal`、`@flow97/react-toolkit/hooks/useAuthConfig`\n- `@flow97/react-toolkit/pages/*`：内置页面组件（如 `pages/signIn`）\n- `@flow97/react-toolkit/routes/*`：内置路由片段（如 `routes/menu`、`routes/permission`）\n- `@flow97/react-toolkit/services`：请求相关 Hooks（如 `useAuth`、`useMenuList`、`useGames`）\n- `@flow97/react-toolkit/constants`：常量与枚举（如 `APP_ID_HEADER`、`AuthMode`）\n- `@flow97/react-toolkit/types`：公共类型\n- `@flow97/react-toolkit/utils`：工具函数\n- `@flow97/react-toolkit/stores`：共享 store 访问入口\n- `@flow97/react-toolkit/locale` 与 `@flow97/react-toolkit/locale/*`：国际化资源与工具\n\n示例：\n\n```ts\nimport { Layout } from '@flow97/react-toolkit/components/layout'\nimport { useFormDrawer } from '@flow97/react-toolkit/hooks/drawer'\nimport permissionRoutes from '@flow97/react-toolkit/routes/permission'\nimport { useAuth } from '@flow97/react-toolkit/services'\nimport { APP_ID_HEADER } from '@flow97/react-toolkit/constants'\nimport type { NavMenuItem } from '@flow97/react-toolkit/types'\n```\n\n### 权限与菜单集成示例\n\n```tsx\nimport { createBrowserRouter } from 'react-router'\nimport { Layout } from '@flow97/react-toolkit/components/layout'\nimport SignIn from '@flow97/react-toolkit/pages/signIn'\nimport menuRoutes from '@flow97/react-toolkit/routes/menu'\nimport permissionRoutes from '@flow97/react-toolkit/routes/permission'\n\nconst router = createBrowserRouter([\n  {\n    path: '/',\n    element: <Layout />, // 自动接入面包屑、侧边栏与鉴权\n    children: [\n      // 权限/菜单内置片段（可按需选择）\n      ...permissionRoutes,\n      ...menuRoutes,\n    ],\n  },\n  { path: '/sign_in', element: <SignIn /> },\n])\n\nexport default router\n```\n\n## 国际化（Locale）\n\n内置基础语言包与上下文工具，也可与第三方 i18n 方案并存：\n\n```ts\nimport { useTranslation } from '@flow97/react-toolkit/locale'\nimport zhCN from '@flow97/react-toolkit/locale/zh_CN'\nimport enGB from '@flow97/react-toolkit/locale/en_GB'\n\nconst { t } = useTranslation()\n// t('FilterFormWrapper.confirmText') → \"查询\"\n```\n\n如果你已使用 `react-i18next` 等，可以仅复用本包的页面/菜单能力。\n\n### 自定义菜单文案\n\n- 使用 `@flow97/react-toolkit/locale` 的 `useTranslation` 配合内置 key，或在你的 i18n 方案中映射同名 key\n- 可按需引入 `@flow97/react-toolkit/locale/zh_CN`、`en_GB` 等作为基础词条\n\n## 目录结构（概览）\n\n```\nsrc/\n  components/        // 组件（以 @flow97/react-toolkit/components/* 导出）\n  hooks/             // 表单弹层 Hooks（以 @flow97/react-toolkit/hooks/* 导出）\n  features/          // 特性模块（权限/菜单等：hooks/组件/服务聚合）\n  pages/             // 内置页面（以 @flow97/react-toolkit/pages/* 导出）\n  routes/            // 内置路由片段（以 @flow97/react-toolkit/routes/* 导出）\n  services/          // 数据服务 hooks（依赖 libs/ky 与全局上下文）\n  constants/         // 常量与枚举\n  utils/             // 工具函数\n  locale/            // 国际化上下文与语言包\n```\n\n## 常用用法示例\n\n### 列表（分页 `QueryList`）\n\n```tsx\nimport { QueryList } from '@flow97/react-toolkit/components/list'\n\nexport default function UserTable() {\n  return (\n    <QueryList\n      queryKey={['users']}\n      queryFn={async ({ page, pageSize }) => {\n        // 返回 { list: T[]; total: number }\n        const res = await fetch(`/api/users?page=${page}&pageSize=${pageSize}`)\n        return res.json()\n      }}\n      columns={[\n        { title: 'ID', dataIndex: 'id' },\n        { title: 'Name', dataIndex: 'name' },\n      ]}\n    />\n  )\n}\n```\n\n### 列表（无限滚动 `InfiniteList`）\n\n```tsx\nimport { InfiniteList } from '@flow97/react-toolkit/components/list'\n\nexport default function LogList() {\n  return (\n    <InfiniteList\n      queryKey={['logs']}\n      queryFn={async ({ pageParam = 1 }) => {\n        // 返回 { list: T[]; nextPage?: number }\n        const res = await fetch(`/api/logs?page=${pageParam}`)\n        return res.json()\n      }}\n      itemRender={item => <div>{item.message}</div>}\n    />\n  )\n}\n```\n\n### 表单弹层（`useFormDrawer`）\n\n```tsx\nimport { Button } from 'antd'\nimport { useFormDrawer } from '@flow97/react-toolkit/hooks/drawer'\n\nexport default function CreateUser() {\n  const { show, drawer } = useFormDrawer({\n    title: '新建用户',\n    onConfirm: async values => {\n      await fetch('/api/users', { method: 'POST', body: JSON.stringify(values) })\n    },\n    content: (\n      <>\n        <Form.Item name=\"name\" label=\"姓名\" rules={[{ required: true }]}>\n          <Input />\n        </Form.Item>\n        <Form.Item name=\"role\" label=\"角色\" rules={[{ required: true }]}>\n          <Select\n            options={[\n              { value: 'admin', label: '管理员' },\n              { value: 'user', label: '用户' },\n            ]}\n          />\n        </Form.Item>\n      </>\n    ),\n  })\n\n  return (\n    <>\n      <Button onClick={show}>新建</Button>\n      {drawer}\n    </>\n  )\n}\n```\n\n### 表单弹层（`useFormModal`）\n\n```tsx\nimport { Button, Form, Input, Select } from 'antd'\nimport { useFormModal } from '@flow97/react-toolkit/hooks/modal'\n\nexport default function EditUser() {\n  const { show, modal } = useFormModal({\n    title: '编辑用户',\n    onConfirm: async values => {\n      await fetch('/api/users', { method: 'PUT', body: JSON.stringify(values) })\n    },\n    content: (\n      <>\n        <Form.Item name=\"name\" label=\"姓名\" rules={[{ required: true }]}>\n          <Input />\n        </Form.Item>\n        <Form.Item name=\"role\" label=\"角色\" rules={[{ required: true }]}>\n          <Select\n            options={[\n              { value: 'admin', label: '管理员' },\n              { value: 'user', label: '用户' },\n            ]}\n          />\n        </Form.Item>\n      </>\n    ),\n  })\n\n  return (\n    <>\n      <Button onClick={() => show({ initialValues: { name: 'John', role: 'user' } })}>编辑</Button>\n      {modal}\n    </>\n  )\n}\n```\n\n### 服务层 Hooks（`react-toolkits/services`）\n\n```tsx\nimport { useAuth, useMenuList } from 'react-toolkits/services'\n\nexport function UseDataExample() {\n  const { data: permissions } = useAuth()\n  const { data: menus } = useMenuList()\n  // 根据你的业务渲染\n  return null\n}\n```\n\n### Ky 与请求拦截（`useKy`）\n\n- 内置 `useKy` 封装了鉴权与 `APP_ID_HEADER` 注入逻辑，结合 Provider 的上下文使用\n- 你也可以直接使用 `fetch`，但推荐统一通过 `services` 或 `useKy`\n\n```tsx\nimport { useEffect } from 'react'\nimport { useKy } from 'react-toolkits/components'\nimport { APP_ID_HEADER } from 'react-toolkits/constants'\n\nexport default function FetchWithKy() {\n  const ky = useKy({\n    headers: {\n      [APP_ID_HEADER]: 'my-app-id',\n    },\n  })\n\n  useEffect(() => {\n    ky.get('/api/ping').json()\n  }, [ky])\n\n  return null\n}\n```\n\n提示：若你的应用已有全局请求层，可仅复用本包页面/组件，将头与鉴权逻辑放到你的层中保持一致性。\n\n## 迁移指南（从根导入 → 子路径导出）\n\n过去：\n\n```ts\nimport { ToolkitProvider, Layout, useFormDrawer } from '@flow97/react-toolkit'\n```\n\n现在（推荐）：\n\n```ts\nimport { ToolkitProvider, Layout } from 'react-toolkits/components'\nimport { useFormDrawer, useFormModal } from 'react-toolkits/hooks'\nimport { permissionRoutes } from 'react-toolkits/pages'\nimport { useAuth } from 'react-toolkits/services'\n```\n\n收益：边界清晰、按需打包更友好（Tree Shaking）。\n\n### 权限版本兼容\n\n- 历史上存在不同权限数据结构，`AuthMode` 用于适配后端变体\n- 新项目建议使用 `V3`；旧项目如为 `V2`，只需在 `ToolkitProvider` 中切换版本\n\n## 常见问题（FAQ）\n\n- 如何引入样式？\n  - 在应用入口一次性引入：`import 'react-toolkits/style.css'`\n- Provider 放哪？\n  - 在应用根部使用 `ToolkitProvider`，传入登录路径、主页路径、权限版本等配置。\n- 如何自定义菜单？\n  - 通过 `Layout` 的 `items` 或参考示例应用的 `menu-items.tsx`。\n- 如何统一请求与拦截？\n  - 使用 `useKy` 或 `services` 中的 hooks（自动注入鉴权与 App-ID 头）。\n  - 若需要自定义拦截，传入 `useKy` 的配置或在应用层包裹一层。\n- 列表的数据结构需要什么格式？\n- 分页：`{ list: T[]; total: number }`；无限滚动：`{ list: T[]; nextPage?: number }`\n- 可以只用页面和路由，不用 Provider 吗？\n- 不建议。多数功能依赖上下文（鉴权、国际化、请求）。若必须，请自行在应用层提供等价上下文。\n\n## 本地开发与构建\n\n```bash\n# 构建\npnpm -C packages/react-toolkits build\n\n# 开发调试（监听）\npnpm -C packages/react-toolkits dev\n```\n\n构建将产出多入口：`lib/index.js`、`lib/components.js`、`lib/hooks.js`、`lib/pages.js`、`lib/services.js`、`lib/types.js`、`lib/utils.js`，以及 `locale/*`。\n\n提示：发布前请确保示例应用验证通过，并更新 `CHANGELOG.md` 描述变更与迁移说明。\n\n## 变更与发布\n\n- 更新日志见 `CHANGELOG.md`\n- 遵循 semver；涉及子路径导出/目录变更会在次版本提供迁移说明\n\n## 许可证\n\nMIT\n","readmeFilename":"README.md"}