{"_id":"@gulibs/vgrove-ui","_rev":"83-6027a683ffa288105ce16697f75c9d53","name":"@gulibs/vgrove-ui","dist-tags":{"latest":"0.0.187"},"versions":{"0.0.1":{"name":"@gulibs/vgrove-ui","version":"0.0.1","keywords":["vgrove","react","ui","components","layout","i18n","heroui"],"author":{"name":"Vgrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.1","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-ui#readme","bugs":{"url":"https://github.com/gulibs/vgrove-ui/issues"},"dist":{"shasum":"0d230d0de7273021a8d60b30d875a06281782b0d","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.1.tgz","fileCount":8,"integrity":"sha512-5Qv9wqTSKHEkhtXVlQudX/mdo8X1lm9zVZNh+QFYPRf7naT4oOlTVDhIJH+TmkbeDCDuRYBIcJdmcHIAD6GlVA==","signatures":[{"sig":"MEUCIQD65gvqNdiM5Ms/F+Qv9QYJer4PHDBoRH4DOCOj4TZJdwIgFWWf4VBaArKJk9ZGJL07OTHhFRfImrjJT7UNIC4bMzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":373263},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":{"import":"./dist/styles.css"}},"private":false,"scripts":{"dev":"tsup --watch","build":"pnpm setupVite && tsup && pnpm removeVite","setupVite":"pnpm add --save-dev vite@6.3.5","removeVite":"pnpm remove vite","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-ui.git","type":"git"},"_npmVersion":"10.8.2","description":"Enhanced UI components and utilities for Vgrove ecosystem","directories":{},"_nodeVersion":"18.20.8","dependencies":{"react-markdown":"^9.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","tsup":"^8.3.5","typescript":"^5.7.2","@types/react":"^18.3.12","react-router":"^7.6.2","@iconify/react":"^6.0.0","@types/react-dom":"^18.3.1"},"peerDependencies":{"clsx":">=2.1.1","react":">=18.0.0","react-dom":">=18.0.0","next-themes":">=0.2.0","react-router":">=6.0.0","@heroui/react":">=2.0.0","framer-motion":">=10.0.0","@iconify/react":">=6.0.0","@gulibs/react-autoroutes-client":">=0.0.7"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.1_1750238595993_0.7734297942570914","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@gulibs/vgrove-ui","version":"0.0.2","keywords":["vgrove","ui","components","react","typescript","heroui","tailwindcss"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.2","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"58d87f8e89da55c5eb6a6e26e280fc8a5c75fc26","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.2.tgz","fileCount":7,"integrity":"sha512-4u26NCi8z9GfgJc1gt00NgSEI1w+5n5Yar8ikPrpXJQ2x75sW/iuQL9sp6RyKdfk0irIuS8Xnp6okxdrniOCRQ==","signatures":[{"sig":"MEQCIFBzuEEnB5cunFU9KnenwfOqQh/7Ok5EBMhQaQ49ZGlGAiAK5Cc3gzkwfXl9nBcHgevGEWYoUxEHuORskKYUySXWng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":865614},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx --report-unused-disable-directives --max-warnings 0","build":"rollup -c","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts,.tsx --fix","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"plugins/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI Components Library - Modern React components built with HeroUI and TypeScript","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","next-themes":"^0.4.6","@heroui/react":"^2.8.0-beta.10","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.30.0","rollup":"^4.44.1","typescript":"^5.8.3","@types/react":"^19.1.8","@types/react-dom":"^19.1.6","rollup-plugin-dts":"^6.2.1","eslint-plugin-react":"^7.37.5","@rollup/plugin-commonjs":"^28.0.6","@types/styled-components":"^5.1.34","@rollup/plugin-typescript":"^12.1.4","@typescript-eslint/parser":"^8.35.0","eslint-plugin-react-hooks":"^5.2.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^8.35.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","react-router":">=6.0.0","react-router-dom":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.2_1751190460214_0.6497910400377096","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@gulibs/vgrove-ui","version":"0.0.3","keywords":["vgrove","ui","components","react","typescript","heroui","tailwindcss"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.3","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"c3c4c5478973a19e7b9236b8f7dfb60b905d5c93","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.3.tgz","fileCount":7,"integrity":"sha512-AAMphNX1wefA2Ero2++k7JVY8Gaa1CoUZpr/eVX/KMMK2Y5wESH1cQSQTp9YoIfS35bihJLBx+zlvdznuEQoGQ==","signatures":[{"sig":"MEUCIAk1VOenCYdDFf1UwsmxumvTHyLRNY22M0r4+GfDqjpwAiEAkI0OhlBV+xR8T3EGu9K/gLfJk18PXb3Jk/EX3I0bF24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3695632},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"rollup -c --watch","lint":"eslint src --ext .ts,.tsx --report-unused-disable-directives --max-warnings 0","build":"rollup -c","clean":"rm -rf dist","lint:fix":"eslint src --ext .ts,.tsx --fix","type-check":"tsc --noEmit","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"plugins/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI Components Library - Modern React components built with HeroUI and TypeScript","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","next-themes":"^0.4.6","@heroui/react":"^2.8.0-beta.10","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.30.0","rollup":"^4.44.1","typescript":"^5.8.3","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","rollup-plugin-dts":"^6.2.1","eslint-plugin-react":"^7.37.5","@rollup/plugin-commonjs":"^28.0.6","@types/styled-components":"^5.1.34","@rollup/plugin-typescript":"^12.1.4","@typescript-eslint/parser":"^8.35.0","eslint-plugin-react-hooks":"^5.2.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^8.35.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","react-router":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.3_1751208493490_0.48018005204659664","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@gulibs/vgrove-ui","version":"0.0.4","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.4","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"203e6848ef51034ce3404a5dd5389bd5b6b10d67","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.4.tgz","fileCount":69,"integrity":"sha512-Dk+zuxu5S2vh2pY+Hpo37WOsRGpShKvoasvJCkkEXi9aRAPLuG0C551KiGPRbmdX6MiiKzOZaSScvjm+K3q45Q==","signatures":[{"sig":"MEQCIHzpcm5kA3KT2j11tRYuH3n2hWICmkvYMkMueiLyWyULAiAtdWkBQTiRFdTVkCPdctPv0rQJVlfqwvP8S4BClCACKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":455028},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","next-themes":"^0.4.6","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/react":"^19.1.8","react-router":"^7.6.3","@heroui/react":"^2.8.0-beta.10","@types/lodash":"^4.17.19","framer-motion":"^12.19.2","@types/react-dom":"^19.1.6","typescript-eslint":"^8.34.1","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-client":"^0.0.7","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^7.0.0","@heroui/react":"^2.8.0-beta.10","@gulibs/vgrove-client":"^0.0.7"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.4_1751225030477_0.7139210301416916","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@gulibs/vgrove-ui","version":"0.0.5","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.5","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"50f024936d28e896036d66026f12fa41f6f07466","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.5.tgz","fileCount":69,"integrity":"sha512-yM18pIUgEUj/SurQhHhV3ShJ8CO6kYNXCactcP+3jNZIBTNb+/v7YY5UQ9RyByiowai3qwb377aZdhSW2EFTTw==","signatures":[{"sig":"MEYCIQDfyf3PzfNAQgpb/2d+tn9zRJfnhwJkzrHGrLs9EtzqogIhAKauBr90+qLYluLH/mA6AV660R9cU3+xqz0bIY+Cb6SL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":454879},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","next-themes":"^0.4.6","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/react":"^19.1.8","react-router":"^7.6.3","@heroui/react":"^2.8.0-beta.10","@types/lodash":"^4.17.19","framer-motion":"^12.19.2","@types/react-dom":"^19.1.6","typescript-eslint":"^8.34.1","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^7.0.0","@heroui/react":"^2.8.0-beta.10"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.5_1751225204602_0.9083562194521071","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@gulibs/vgrove-ui","version":"0.0.6","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.6","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"d7d7ee9601f3d83e83075c0bdbd0be6677c8fd87","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.6.tgz","fileCount":69,"integrity":"sha512-atTsHmGyV2lioaWBvUdp+2VmX5RdOLs7ZfvGZ8gz7dbl1xLQgQcGcq1jwMDHSrg78gEHVKHRsYAWxYTZgjKPaA==","signatures":[{"sig":"MEUCIB5jc1s3wkIYdhgOl7X14CF5wnmy+uXr4xcHv7BvaOuzAiEAqfcW3YexoGvGq0jjAPtOF1LOpZ/R59JPvO9wqGhwlVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":457170},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","next-themes":"^0.4.6","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/react":"^19.1.8","react-router":"^7.6.3","@heroui/react":"^2.8.0-beta.10","@types/lodash":"^4.17.19","framer-motion":"^12.19.2","@types/react-dom":"^19.1.6","typescript-eslint":"^8.34.1","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^7.0.0","@heroui/react":"^2.8.0-beta.10"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.6_1751226048602_0.7857467402853049","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@gulibs/vgrove-ui","version":"0.0.7","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.7","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"12d8b6b031251a07daf8693ee0293dc700007852","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.7.tgz","fileCount":69,"integrity":"sha512-QLziwlqujHrG/rRw+tm+QMJTTca3H7zuDTuswh1uIi1lMDJq06MG9Cnw6cNVUyPjE6dZgrOZ9+kKWjlpNIQ7Ew==","signatures":[{"sig":"MEUCIA4od661VKdxnmXx9e2/VfprDBCN+ZxqZP3XnH2hyM2GAiEA/zxB2S/UJKQn/70gxIa4p7P1z+MURa0gGukCrAoyQz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":457131},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","next-themes":"^0.4.6","@heroui/react":"^2.8.0-beta.10","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","framer-motion":"^12.19.2","@types/react-dom":"^19.1.6","typescript-eslint":"^8.34.1","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.7_1751226287732_0.12324397729805536","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@gulibs/vgrove-ui","version":"0.0.8","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.8","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"7dfc3a778b4aecd1a42393abb13046adaba5a1b7","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.8.tgz","fileCount":70,"integrity":"sha512-/gPJrvsiro/dqFy57gVbZYWls2i/er+/HWHfSZSP0a/c6SII+aWJRP29SsgGsyH+KraQ2dLv3fZMYHZ545OnsA==","signatures":[{"sig":"MEYCIQDwuKs/1no1UW5/aUitvFQ9/xdlWaUvOTT4bCa7uND3HgIhAOpPimAEbr+dg14uF6TS7Y1fwoZgeBSFuRi1aMDmhn0I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":586805},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","next-themes":"^0.4.6","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/react":"^19.1.8","react-router":"^7.6.3","@heroui/react":"^2.8.0-beta.11","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","typescript-eslint":"^8.34.1","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@heroui/react":"beta","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.8_1751278311315_0.9578410079318809","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@gulibs/vgrove-ui","version":"0.0.9","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.9","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"66f3d5cec3524a4bed03a2c7b03da09e8898c92b","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.9.tgz","fileCount":70,"integrity":"sha512-RKn56+fv/jdkC2W6V40ak8O/c60Z/PvcLMKGW/0Q/GCPcsSXwpB0WuCs7rICEM5U02yKsyw/pBltWvGoFGWjGQ==","signatures":[{"sig":"MEUCIQDQjTtTJdhhpv6ib6py34fqgQnLR4gyVbNKjq7Sp2eNIQIgdk4Saf1sXyko6iiqQBKLytnaVcFGxEy92MG5ivjthiQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587525},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","next-themes":"^0.4.6","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","typescript-eslint":"^8.34.1","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.9_1751286562909_0.23044166496507312","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@gulibs/vgrove-ui","version":"0.0.10","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.10","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"3f57434ebd8ead7c149308dd1339e371a3741035","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.10.tgz","fileCount":70,"integrity":"sha512-IJ2kb4UwmPcygawzxEFMfbYgkWMz/dzEvjGpSalzr+RGUF4MNrZiUHpLjPCPNWwj7erUNm5dxHZUuTzrZNxXlQ==","signatures":[{"sig":"MEQCHxVCclk8fxbs5gcXwWFcDNGCSphAS4O3JizCPBf6N6wCIQDRWvcPCxIipQswUQvbVKIlLLLFNcSEvDXbuGGcFtTSYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587527},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","next-themes":"^0.4.6","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","typescript-eslint":"^8.34.1","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.10_1751347561514_0.30377001635066514","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@gulibs/vgrove-ui","version":"0.0.11","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.11","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"978d9b86f702d3e77694b04d0eb7c91c7dabf8da","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.11.tgz","fileCount":70,"integrity":"sha512-86f060aMWq7xtCBuV2RPFwn4XsNLwVmI9Y+ml2NGY9oCQuktQzR/ads7d96SFw6Vb8dxBFZtdTFE9XbasUFNKA==","signatures":[{"sig":"MEUCIQDGjkO2qXZDdqp9Wf9y2R8SmBbFXLGyYqm6A1UIofv88AIgT6U5uH9ScqJRiGTGg2SVnQZXf4+9nSzJFGe9InCA7Cs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587527},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"c976344ef971441b237d93d6953e131edc28915b","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","next-themes":"^0.4.6","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.9"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","typescript-eslint":"^8.34.1","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.11_1751364345138_0.570558435750885","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@gulibs/vgrove-ui","version":"0.0.12","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.12","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"e5e43d87ddc4fa3f454296dfc8d7f4b4e6af64c3","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.12.tgz","fileCount":110,"integrity":"sha512-W6xDDHcJxXp345xBgtay5Me+eNf6HVdMTWAFup6+/6beXN5rjr1DycxNboV9nCJqC7t9q38IoB09ZlNl2Mc47w==","signatures":[{"sig":"MEUCIQCGqFrMQA+JrzHGfmNhIAu63Ndlj6GWsoIJIZC0kd0RXQIgfKbqHeGHRB/oMSZVrOY+YvhzRLO88/i4bWfVTKwKfJ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":661299},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"a685943ba75ddd8003ef93f03d3c93c2ab74fa4d","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.10"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.4","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.12_1751515172845_0.1618247987355519","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@gulibs/vgrove-ui","version":"0.0.13","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.13","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"09539a00c1a29f4b90d5587d1f7a4aae33254065","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.13.tgz","fileCount":110,"integrity":"sha512-ltQ17lw2x1e6rXZLkh6XT8BKQmb6OzOia+Tsfex5nn3fD2pLDmsL0KATdNKmrEfvvIj9Ee1lcSI/1L580WzBAQ==","signatures":[{"sig":"MEYCIQC/Bj0wbF3ITw/r98dQqCSFANZJV6SwXnqZbLKJaTghOQIhAPsdV3X/msraQfXN114T8aMLF7+RdspJaap5fZZ0stii","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":661610},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"8083f22e23455f9a4e66de2d00ce01e45f73925f","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.11"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.4","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.13_1751537897940_0.9179988032718862","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@gulibs/vgrove-ui","version":"0.0.14","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.14","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"46cf6423a9fcf100869fb6763d9ce1eb58e5c112","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.14.tgz","fileCount":110,"integrity":"sha512-QREvzZH4TstvHUxDGp+9r/T/dVGRGVqDnqW/8qeFJh0yTWLM44oirleqp0w0MFSIVwAViDAPwuX4QDkzjuoNTg==","signatures":[{"sig":"MEYCIQDTKnUK4wz2KiFTwrmWWq+s0gGup52vHumQbmxTvv1jOAIhAP+SqwAkyrcmPH5uRw4UAn8EKIJe1hUC4KsZlYTJiEmH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":661307},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"079e6a6d1f267fc578b4524ede5d6555e495e5bb","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.12"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.4","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.14_1751545644903_0.41265888808719353","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@gulibs/vgrove-ui","version":"0.0.15","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.15","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"c7bbcb4514999797f52a454466ee3b393f02717a","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.15.tgz","fileCount":110,"integrity":"sha512-Uz15MBFr+mBMK96h0JMmeMulHcHwVSfLr8pPMCR1Egfgibj/1QLaC26noshKF9q7WxD/U2Nr61vq1qB4Fht3jg==","signatures":[{"sig":"MEUCIQCPThOVGhC3agCC9B51hmX7ZgAEfcLHWlrpU75IZi7BNwIgetXzGZhLaw08zZ/UO06x3cP2beiaLljM5J0NUHGNf+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":661983},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"68bbdf36db66ed6cb2f2267a20cf686ba3d67846","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.14"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.4","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.15_1751588122762_0.5608768935256605","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@gulibs/vgrove-ui","version":"0.0.16","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.16","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"dc7a982c041ef870ef30bc35ec0e069cfaeb824e","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.16.tgz","fileCount":110,"integrity":"sha512-BIWNnKNmYV16+A4YLli7dd2QCLB1msxGPbuZ8oSsWTntZ6+aRFY0bxE+G0zgoJ4S+bZuoPl+VppUt8uuj35H0g==","signatures":[{"sig":"MEUCIFPxBnX1QDLV60IbA8xu+wqPWX8+RGS8WKoMdcqTwazjAiEAzV8vPV2o2zCEIn1FrT0SG9vLrEnojYIvxo/AcUZfUEI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1097957},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"f8ee7bb47c388fca713c0b0916848611ef822128","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.15"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.4","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.16_1751684276253_0.7203337770027736","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@gulibs/vgrove-ui","version":"0.0.17","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.17","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"7184f680718dc8a28ea1595cca17657f72bdb47e","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.17.tgz","fileCount":110,"integrity":"sha512-MLSdOkIEwQnaCP9l/1o8Ot8spqvUb13/b2eObMlPNUZiC+A9vILwwIrcwvPtJpSXAz6xn0wXNW5Rn2JXJtLZiQ==","signatures":[{"sig":"MEUCIQCg58Ezp98x/VK1meUYHYq9QMuo2ARy/5n1nWSS5qi6EQIgGPc4tl62YovLv1NfnmcPtR6ggqmSbgnelFvbKhv5qeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098049},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"92b5e7505b114f9c85fdf7743c8bf6c6fa857ccb","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.18"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.7","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.17_1751795165495_0.22721021270638597","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@gulibs/vgrove-ui","version":"0.0.18","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.18","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"d9d41ddf1f063ca7369e0e5e1ad8252c86de6c30","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.18.tgz","fileCount":110,"integrity":"sha512-IoXHGtUaM4suWLRsyT6Cj5mVyqZ0lnCtJlFe16ET9PeWiNQG6gOzdLL3lsHkQPzQFaPkhUF46N8YlyHJJ0rl/w==","signatures":[{"sig":"MEQCIBjBzqqHH5O8vNTpz2+JI48Ai71WgIBKoJvGylg41pSlAiAvivgn4Pqd6c9ikG3z0PyqnySKtItJ0pY+4DTvux3sGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098049},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"69a039d3798377e9ddf961f0a0f56880e3b424d3","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.19"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.7","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.18_1751800385317_0.21890258771931226","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@gulibs/vgrove-ui","version":"0.0.19","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.19","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"eda433b58fe95726046ea95566a0729e7febf7fb","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.19.tgz","fileCount":110,"integrity":"sha512-XsRmUFZCjXC/XFVTHhm/Ylhwqd32AXsVfDqveTUzRDSHAp4u5J59ri/wzOeLJ25aulcJDGehTBwnL0sQj6ul3Q==","signatures":[{"sig":"MEYCIQCTDRYENfGT4GLnzQUAzilDJT7a9Kr8HwVtNq8U/V37KAIhAI7Zksz8yg4KJJLRKn3w+FmwCZ80bpoZ0zG/sLZ5EPad","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098049},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"36ccc9c6b3b49a6524903d23b991b9e3d1465b39","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.20"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.7","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.19_1751801510744_0.7255567807197891","host":"s3://npm-registry-packages-npm-production"}},"0.0.20":{"name":"@gulibs/vgrove-ui","version":"0.0.20","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.20","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"f8df6cb3e076c13b7d7d48ff5ab9f18a5d65577b","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.20.tgz","fileCount":110,"integrity":"sha512-V4DUwIyuYUcgonnNkKmHwaPthEeQr1ybw4jxybHAcX65mFEfb6haL5nYdmEhSjKCtaN+jOWLreTRbzrPnAgh+A==","signatures":[{"sig":"MEUCIQDG5BEVU69d4kdefz5gfzR+WkQ3VKKHYFhKYVoCpxfgyQIgKEev92l9fp+zow8Z/dSsUqWfFvrlKPLD+oGZMKq1pkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098049},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"0c05e881b45a531c1b9905872d2df7659e30867e","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.20"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.7","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.20_1751801872192_0.4835681986601956","host":"s3://npm-registry-packages-npm-production"}},"0.0.21":{"name":"@gulibs/vgrove-ui","version":"0.0.21","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.21","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"3ba6b8e326d40397d66853844dfa1b23bed663f5","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.21.tgz","fileCount":110,"integrity":"sha512-4GDimHX6fBVlOB1wu57poK4GfiBhxdM+805RTgDGO0xeq2AHBnEkmEHGvNQr4KW3pwhO2E/yrhEKdMJgxZ5GCw==","signatures":[{"sig":"MEUCIQCfqedfQAiszIATj2DHdrAvVaf8AHiHqdT+55BRccvMngIgWy+M3nb+pj5Eg2M9Ce30huQjuhYWu4IRnRPR3ytEuYQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098049},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"02c3f947e87d522c141aa4a6eac49b81bb76e99c","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.7","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.21_1751802146522_0.7255112057215312","host":"s3://npm-registry-packages-npm-production"}},"0.0.22":{"name":"@gulibs/vgrove-ui","version":"0.0.22","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.22","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"824f3e436928acfa525a0f8d0793b03e640a42c6","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.22.tgz","fileCount":110,"integrity":"sha512-jnAqmlOn5pSqEycFwmvkjCW5HMmf3jGc0u2oDD32MaldFtVDIKnrb80c2YiPaPTzxZLOSEBB6JdcOPU20gVi7Q==","signatures":[{"sig":"MEUCIHArEk1YovylJP2hLuvCTeSQqLE7TOwL5Xw7HuxYr3fUAiEA+RrroEfqBBJIAWSj85svt6kbOphkq4VJtA8Qpf1NPrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098049},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"921601444f9610532f16063c74b225c60a94c96c","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.23"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.7","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.22_1751805103507_0.30193650556909857","host":"s3://npm-registry-packages-npm-production"}},"0.0.23":{"name":"@gulibs/vgrove-ui","version":"0.0.23","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.23","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"08c46eedc216c1068441fe696586b5829d144069","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.23.tgz","fileCount":110,"integrity":"sha512-YEFqpj6F9wOzjEsAl0gB1BGwh4MR8ub3kxUhdwRHA5SL2NN3pA/hf38eBUcgUhkHwvxjHGGxigY+6PkHBctOLw==","signatures":[{"sig":"MEQCIADHDWQBSPQxUOTyQqOCpai+bX2LTfuUeLrgE6/MfJDsAiBcCjZuJo1IRBMvGXd6eagu3vnWUmBo4I2vF9BhC4CyyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098049},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"62885ec86e33944c5c3ae27e96333e62645c66cd","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.23"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.7","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.23_1751805253785_0.8377780582546579","host":"s3://npm-registry-packages-npm-production"}},"0.0.24":{"name":"@gulibs/vgrove-ui","version":"0.0.24","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.24","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"08c5b5da8c01eed2b2ee254637ddb5140bab6613","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.24.tgz","fileCount":110,"integrity":"sha512-eraNK//tuP4+DgFaAhcXykpmM7mnHJXYtcMNcEq0uqIHr9uQ3lvDN+VXlL3KkJVhpOsZLvBxvODRr6DxTBg/dQ==","signatures":[{"sig":"MEQCIE6LEartZgBnT+wlkic1DKiREtURIXylydlO0G3cGxrrAiBBFfe6sVGDfrLJl/J2RWBfHh4wZU5p5JEcJ0ha96RvFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098049},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"9dacde8adc273b3caeff24d64f8c75e2ceb3ea23","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.26"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.9","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.24_1751817666816_0.4706507148430068","host":"s3://npm-registry-packages-npm-production"}},"0.0.25":{"name":"@gulibs/vgrove-ui","version":"0.0.25","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.25","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"24b0d25c1cf0520d8b4d7b2ad7c16ac21ede0455","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.25.tgz","fileCount":110,"integrity":"sha512-fclZJBWyrwJSNsy7Vs+IkfCS1Renj4+Saj8Lvla9XeTVM7i5QfOBcCEWxXlJWPJiTgcqVD/k0nsqNZMUYNERbg==","signatures":[{"sig":"MEQCIHRFuo6lTTMB8NXUqTMn9tPWIM7hRCoXCwa6E/wiAJbtAiAT7dD2LNm2N5kU6/TdVimevGawDYaMj9WvWo8mW8ad/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098049},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"a2c55dedbc5e0b24737650c81a314f61539afcd2","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.27"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.9","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.25_1751818056497_0.6836871248636736","host":"s3://npm-registry-packages-npm-production"}},"0.0.26":{"name":"@gulibs/vgrove-ui","version":"0.0.26","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.26","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"56476718b6d1f4e6f793684573ec13d6bf2a01ba","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.26.tgz","fileCount":110,"integrity":"sha512-u6UAvRHJkNeSN01y8CM19uV1eFjlh1Y2zCsZMaVuGOHOyNXccktKiPPMYW9uq3uXfCAkZfJ4dY/ZRd+Mqjgx3Q==","signatures":[{"sig":"MEYCIQDXFDayhqNLbGAGtdKJCHq6K0Bh854q3hM4L23kr+vuYQIhAKchJDUk4M0Ndc5WA1U0aSdt/ya/P6qkmqy4Lrm5LTda","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098050},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"666510ba34a4dc7888d04eab4f1f03385d9a08b0","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.28"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.10","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.26_1751819200152_0.18682639154532565","host":"s3://npm-registry-packages-npm-production"}},"0.0.27":{"name":"@gulibs/vgrove-ui","version":"0.0.27","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.27","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"f4568ae3e5e82cb01d81d1b6ef616c84cafa81cc","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.27.tgz","fileCount":110,"integrity":"sha512-vtFxw7NogCR46diAIfLc+C4xNOO3CdxQVyhABW9QBo/ZZsjow+eLD457MlcpP8oiw93CW7p+np3XxlECvuzJZw==","signatures":[{"sig":"MEQCICIAVZJ+VhjKSI/W8UpDTnusw5pRmzJkcqlH0FMkhHlfAiANu6l0XzAQJNnpVcSDWepAAhn30AuO9lnWQPatVTqXog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098050},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"b08dd5df9222fcbe5ef24440d67335e84e2a1ff2","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.29"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.10","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.27_1751825153254_0.5476816032436194","host":"s3://npm-registry-packages-npm-production"}},"0.0.30":{"name":"@gulibs/vgrove-ui","version":"0.0.30","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.30","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"3a8583c50c0c3e82891f94ee566f938aae03c39b","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.30.tgz","fileCount":110,"integrity":"sha512-oX7hJ2LGuta9GVLcXPW1XNEUuqQ3O2Ly1FLkM7X4tcqNYiKVHAXjRVLk0j03tNXSNiK5yml2YN9Lh5vlDJtHNA==","signatures":[{"sig":"MEUCIQD4xwCy4Fh4/A/cKi4xj2cqK66xMEFlLhL55cqjgruRiAIga/rJfgnBEVuSciN/1ei6q9REIGFgLESop8o6J66JAzI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098050},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"e6be91fbf318df5e92701d6d8485445cdfb35f93","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.30"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.10","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.30_1751826757503_0.42277727057433734","host":"s3://npm-registry-packages-npm-production"}},"0.0.31":{"name":"@gulibs/vgrove-ui","version":"0.0.31","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.31","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"be3bd140e68cc100036a4a44c2b2026eb4543030","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.31.tgz","fileCount":110,"integrity":"sha512-werbj4x7ENWG2mKlbW/ftXGAJ0G7EBBYCgMWXmO/QPr4CLvGbRTgkRJlmPTb0rserBFkNForUcZslXD43YhMEw==","signatures":[{"sig":"MEUCIQCwzYKEC3BeRaPvWTqprT50DDEo7RWfbDqkChfvYSCQ9gIgLJBAnB6sN1VJ6ZfYXSfS2D/Qw9MJ5J8mWrqqs2i5Ujs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098050},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"75debb4cc7e8ec06df22a9bfd77b152c797f4ecd","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.31"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.10","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.31_1751827226473_0.5502274073851356","host":"s3://npm-registry-packages-npm-production"}},"0.0.32":{"name":"@gulibs/vgrove-ui","version":"0.0.32","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.32","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"44088b8095037b493b168efc0b175a0f2abf1d99","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.32.tgz","fileCount":110,"integrity":"sha512-jlhgzfQjvlbBT2h/lX3GwvAnU7J9LZIooOzuR4F8hj1EKccZgsyH09eu4LqsMyeFhcIM4djoksn28729cJVfNA==","signatures":[{"sig":"MEUCIQCGExKlhQ+JQlCcb2ZTp/REoWf+ErMmwhA9U9C0C7aQdwIgQOyeTEGVzju0u2r40WSZuiByVWwwPM6MF9pVweD3np8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098050},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"bf94f1d1df4ec0eb784688b690c568b887651bf5","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.32"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.10","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.32_1751829893700_0.25556304617002956","host":"s3://npm-registry-packages-npm-production"}},"0.0.33":{"name":"@gulibs/vgrove-ui","version":"0.0.33","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.33","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"f6605552c7d1630c97d4d9e2780275db6faf4967","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.33.tgz","fileCount":110,"integrity":"sha512-XLdyvG/4Mba9ES4KPv0dsJcu8R5tzTKPUpUaSoy+njFFS1W769B5hSBiq7clIDgp8AC5/2wjlIyWnZRHPsauXg==","signatures":[{"sig":"MEUCIQDXXTiZ93NwGZ17QNMNanoiHcoJBlwhtwEEfkonIibzrgIgfsN0tyBUuv30CGuqQ7myArpJ0DLPaC4aVSu0NdwMwX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098050},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"20197c07c4277df6d052a90e117009040e07d048","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.33"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.10","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.33_1751830215508_0.5779495415666744","host":"s3://npm-registry-packages-npm-production"}},"0.0.34":{"name":"@gulibs/vgrove-ui","version":"0.0.34","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.34","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"978fa8082997bd07bc6dc8859696566b047c89e4","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.34.tgz","fileCount":110,"integrity":"sha512-thAzI4J5OTbP6Bhq3XHSEKIbYVhNk3fJOy5dnvHWUJB5TPp7MQOXpxoEUFg6iIszWO8GEOM0aURWejGbxIy+yA==","signatures":[{"sig":"MEUCIB2y6L3ieziTwz2abtmHQaVTaj4eS+ZiDEilxkLTu+3gAiEA2ceYAUctohYlR/zD75MtmhW24eUMxAND88TKM9hEPGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098050},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"3fa1c28a16efeb9c47b694f8c4f31633b22e0c54","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.34"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.10","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.34_1751830636239_0.7838108735572331","host":"s3://npm-registry-packages-npm-production"}},"0.0.35":{"name":"@gulibs/vgrove-ui","version":"0.0.35","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.35","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"568dc60e9f6c0378d3c78016497fb124c8b2b28b","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.35.tgz","fileCount":110,"integrity":"sha512-lHV4aC7HBihlmm/dW7mJxRqF/UheKXH8A84qWdNGQyk49QS0B3mcZYudQS4HEGk4WO1I09ZVpLynQdCpfZWkeA==","signatures":[{"sig":"MEYCIQCQ0M2HJCJTBKizafA2ghUdlHk/jH4pYoCNkUfXhHWmwQIhALiqjyPMnsj+UTD/iGhMH3GKvaiyOUgY+pRTt49eve/Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098051},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"2260bf23a9979bd5c835e800a85157a1c6a87533","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.35"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.10","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.35_1751832280453_0.7002745057493227","host":"s3://npm-registry-packages-npm-production"}},"0.0.36":{"name":"@gulibs/vgrove-ui","version":"0.0.36","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.36","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"ae22fc6c577c85d44f37f2f12e7f91ecec2d4d5d","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.36.tgz","fileCount":110,"integrity":"sha512-fNURVp3qwAoS+gNEm4IBmS1tfFagD+tsKokvkHB78U/RsST/JE/OXsgPso8BmhjQm3RJXJgAageEIEbCVPnHMQ==","signatures":[{"sig":"MEUCIQCqq320wCMMsZVZv9MkGHybL0vG09TO8R6BUN6q452cNQIgWyro9s5cflHGQ1VuYFC5CtBWLWeySnnx/gcWYseT5VA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098050},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"047653a08e5422366dfc099ccd1adb7517320571","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.36"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.10","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.36_1751833174425_0.2288439922686909","host":"s3://npm-registry-packages-npm-production"}},"0.0.37":{"name":"@gulibs/vgrove-ui","version":"0.0.37","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.37","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"aa7a30e27dbd69342d9ad6b15025ad21de130edb","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.37.tgz","fileCount":110,"integrity":"sha512-bzTzZoqALNBhwsJQJpaiICXPj7quoAWj+sYRF2z4mu/Fv8OcPe4AJolhPfo00Kfi6W952lZVa61yCvZs0D67fw==","signatures":[{"sig":"MEUCIQD2qPnVg5fZZHLuHI/aozUR/+fOaWgFSajCjAM+bjLMgwIgM2Cxms4bff1axmpq/EDthwkrg5cT9G0FLO9BK0tOwb0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1098051},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"69f306790a255b0e06506e83b647642583f399b9","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.37"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.10","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.37_1751855775039_0.3622665709425106","host":"s3://npm-registry-packages-npm-production"}},"0.0.38":{"name":"@gulibs/vgrove-ui","version":"0.0.38","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.38","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"9a734dba5f947aab3c9f2ea760992e672bebd9ca","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.38.tgz","fileCount":114,"integrity":"sha512-AAv+UxoJTx962UYHNOSh9M185EAwC7sWeyCtl2RriY0ERUXnUfvTuqq3lWqt866gm8CvexYWMgxC06iS4nVH4w==","signatures":[{"sig":"MEUCIQCwNVip37XUgIUD42xoiZwCgj5X7zaaM46TICzutyGtJQIgIoTE813qu559TA7Eh18bO6GIcCpRXlGnMjCMwdWtLsI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1208043},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"c27fc482b15a95ff474fa6c3a6262fa35e8c451a","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.38"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.10","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.38_1751938571723_0.6758792163031833","host":"s3://npm-registry-packages-npm-production"}},"0.0.39":{"name":"@gulibs/vgrove-ui","version":"0.0.39","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.39","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"3b59495ce01696caf8217a24d686b0c3b94583af","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.39.tgz","fileCount":116,"integrity":"sha512-MaMKL8JyaUhkOeu7YCOUveSXBPR2s2j0agyn5eQnfpP0CgbHeWoxjuitjJGsfS54nSu7DzS8RHYDaZCY2buIPA==","signatures":[{"sig":"MEUCIQCVeDo2C1HiM3iw2Bz9KU0TJccPm8v89ft97W2qknvbSwIgVgfDZ1YqvCAxwx0Bxq85QhHDGjuhqS2L0NSc3plsSZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1248374},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"ce9ca70de3d31406e2ab0bcf56424cb0032b87de","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.38"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.10","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.39_1751952080407_0.7182120209474192","host":"s3://npm-registry-packages-npm-production"}},"0.0.40":{"name":"@gulibs/vgrove-ui","version":"0.0.40","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.40","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"97cecfd4dc8371fd930de7dc325942e2a1f3833a","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.40.tgz","fileCount":116,"integrity":"sha512-RkRsLC2eXn1gnH4gQAIVaVA/X9ilBVIuSYZh6CyrUrw5F8rUDPHg6U7YCNdCi2p26we3gFD4MgLh9TNFTg8V2Q==","signatures":[{"sig":"MEQCIDtHt9NNmDPIf3Pa5Zsnfw4ZWF4v0Z1iFiWSUjL2U1y8AiByYQojkFTLCsqi54C7RP5d07eXY6ymnv4/gCzLA72PHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1248374},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"26ed31d77deefb9080c1a6c8523732c240eba4e9","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.40"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.13","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.40_1751967584072_0.06766545172946214","host":"s3://npm-registry-packages-npm-production"}},"0.0.42":{"name":"@gulibs/vgrove-ui","version":"0.0.42","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.42","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"1e3740a0cb961cebe398ee53680940e2bd948112","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.42.tgz","fileCount":116,"integrity":"sha512-qYEPQnXJUiCsWjDkRAoXhAS9kKEly/BA0CGq8xSGZ52J20KFWbvw3yMNz/NltrSMXgZ0a27zXKCeALuoXLYihw==","signatures":[{"sig":"MEQCICPfxtNXdTxTnFOjDcBUa8PE/qpsU0D6xXXagnRgjBLaAiBpp+uLYs0DYkNR8pyXTfauro+PUgrNj2eRDvtv0Ny6mg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1219938},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"922b8247583b51ee4630727b48e700209e58bf6f","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.42"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.14","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.42_1752024272158_0.5674907282372552","host":"s3://npm-registry-packages-npm-production"}},"0.0.43":{"name":"@gulibs/vgrove-ui","version":"0.0.43","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.43","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"c70b4f4a5a66c605e863315ba7651479f08ab071","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.43.tgz","fileCount":116,"integrity":"sha512-pl4eGvHWYnCYNBq2+eQRq4KrifvMYSQLUpReAHvemH01Xr8scPRI2oMF95W1AWdzLLsrPZzy6kRuYht2E8mnEQ==","signatures":[{"sig":"MEQCIBfpzlgrw3UIQl0+ltLAHEOXbWfS7zYVdx2heYMSLMAEAiAfD4A2J48HRFNFQh3XCjtSKwH+OGeV8gtmPtVCf/a6uQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1219938},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"922b8247583b51ee4630727b48e700209e58bf6f","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.43"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.14","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.43_1752024920367_0.8703583810669522","host":"s3://npm-registry-packages-npm-production"}},"0.0.44":{"name":"@gulibs/vgrove-ui","version":"0.0.44","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.44","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"1a95ce8dd07b7ebb2dcc4805d8a969647bf7330c","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.44.tgz","fileCount":116,"integrity":"sha512-5CcrfUypClzAf0zU5W6EMaTSGCaESjuw9hl5dvigIu62zv/mkDCgm+9YCYiS1+T/pw4l1ntxrQqnOdQlzg+LnA==","signatures":[{"sig":"MEYCIQDVxtPXmaiTyMYM4wNxcFf+By+7CXDJybu0Yxuxs8TQegIhAODFgRY5fhQeO8FIlPWXiUrCQPYyUf1KEKUvjxs2V8+O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1220077},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"525bda914716fd25bdf511cd9fcc2d97f66d387d","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.43"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.14","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.44_1752039078346_0.42698890131994927","host":"s3://npm-registry-packages-npm-production"}},"0.0.45":{"name":"@gulibs/vgrove-ui","version":"0.0.45","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.45","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"2e40e1c1cbdd475ffd56ed8780377c0eb885826e","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.45.tgz","fileCount":116,"integrity":"sha512-BIgAtj73hCX/43SgIIX4qsUQMO8Gl3cM8Pplf/D8R+FUrweatpkhkMU/rVLg7nUezy/ewcd6x6RyZpFXmUCyuA==","signatures":[{"sig":"MEYCIQD6nt5Ziwn7i8mi78b+rMHYft16j4YC5Fc3zXl1t01z5QIhAPpsgn71OvWUKbTuZ2vgzy02+EgQPp9R+x3xye2ERmOw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1220077},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"5633decfbd59b1e3d982d98a1107f279c7537ce8","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.44"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.14","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.45_1752058304184_0.7096457652728454","host":"s3://npm-registry-packages-npm-production"}},"0.0.46":{"name":"@gulibs/vgrove-ui","version":"0.0.46","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.46","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"39abbc1f6c691336d94251db1a9af67de27d0ce8","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.46.tgz","fileCount":116,"integrity":"sha512-LCm/f5RnHRWjC8DiCaVtuVVlPRYKzofrYpQno1LCXEjGnjIUdqwZdHB7BeOts4/3Ix2aRo8t9FyZm33vdNhXKA==","signatures":[{"sig":"MEYCIQCmJ1pmbWXyfETYE/vemNq8VNg2jhLh6ML/ZtGGdIH24gIhAPANe1Gw7k4RNHSq4qA1AtSHUgt9SVQP+a8w/m1T0ffA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1220077},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"36a141fbf45720b94117cba6c7ddb47009001963","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.46"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.14","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.46_1752059358592_0.15114630424050746","host":"s3://npm-registry-packages-npm-production"}},"0.0.47":{"name":"@gulibs/vgrove-ui","version":"0.0.47","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.47","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"d47528d89c247e041a24f0d8d58bd9d0e68ff350","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.47.tgz","fileCount":116,"integrity":"sha512-GJN5onLyS9IlNioK6J7CPv8CmlpfDLNxlA68B+dJ2NC1mZu5cbkYcHD52dhCqhE8HFvIkreE+x7OzEQQc/rMow==","signatures":[{"sig":"MEUCIQCtBGJ0LSZ3K7l/AwtX/qM0AF2iyUnTe39YwO2G5mwc5AIgTFY1nf1RKUhmIYECaZHTeg3ebBsewSIzQTQgEZpjg2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1220077},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"ec8af784904a3fbab4a0db843888fba0872d32ec","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.47"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.14","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.47_1752060559186_0.7150434070262253","host":"s3://npm-registry-packages-npm-production"}},"0.0.48":{"name":"@gulibs/vgrove-ui","version":"0.0.48","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.48","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"894be65c06418a912524570128034eec5b190f0e","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.48.tgz","fileCount":116,"integrity":"sha512-jV7B0U86wPSXNegZ05EK9L7MzKe/zfWe9maKvxFF6PjsRLUOFV9brae9wjBjd3x9D4fGZ39npNJ3yJXBl4/pOA==","signatures":[{"sig":"MEQCIFTwZwEtZcBpEw+rMhQLs3dblORwqvUGhzesfD7TN7Y9AiA3T3nEwhnHal6AWmtATuVg77qDmy33iFfMe/0z51EegA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1220077},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"73e3e1e2fb23fc066bf674f0d38be269e1b56d33","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.48"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.14","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.48_1752114270935_0.6384154913568443","host":"s3://npm-registry-packages-npm-production"}},"0.0.49":{"name":"@gulibs/vgrove-ui","version":"0.0.49","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.49","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"a2fd259bd4a7b798576c124a37f6abf1fde459df","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.49.tgz","fileCount":116,"integrity":"sha512-qVcGABiEAasBaA7jtuhWiI/7dnGJz03VPhmnqDFHgTggtditQLzhYv1gQcm7b2OndqhghpBvYt5YBS+z8m+CAA==","signatures":[{"sig":"MEUCIQCky4HJYQ2I9TIS1HaHQkvhuulX2meeyZQ5PUBdsomUsAIgMHjEMaUpjV+G5lZv0saQaE0bJOOtq3CedcbwtrWkcIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1220077},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"73e3e1e2fb23fc066bf674f0d38be269e1b56d33","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.49"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.14","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.49_1752115276429_0.08533324204649517","host":"s3://npm-registry-packages-npm-production"}},"0.0.50":{"name":"@gulibs/vgrove-ui","version":"0.0.50","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.50","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"6bf245e7abde45e43fdeaef7bb0cad9457017983","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.50.tgz","fileCount":116,"integrity":"sha512-FPmED5TJD6qjJbAA2TF4g8Udm9OcWpnOLq8xKjFz69C0IrZH3Ur0GL9TmidGHQSlJ5kN/bSmmVp/fOI3/U4LSA==","signatures":[{"sig":"MEUCIQCV1YDqZ5uQnMkBVWcLW+TeoI7wv+jxiZqivybSWLu19AIgF+kzE6LmFuVBu+08crooLOvkY+XvTKAGyxEewb8K9c0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1220077},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"73e3e1e2fb23fc066bf674f0d38be269e1b56d33","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.50"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.14","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.50_1752115789640_0.37210570419604383","host":"s3://npm-registry-packages-npm-production"}},"0.0.51":{"name":"@gulibs/vgrove-ui","version":"0.0.51","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.51","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"943e36f7ecb91650e344b5999e78a02430fa710a","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.51.tgz","fileCount":116,"integrity":"sha512-BickZhts06T5HJlmJZEiABgmM1UmKGQrfUgkKolltdJfAAcnSf6mKplpnFOGIP/JSJN/fL2Ijo/YH2imh4d5/w==","signatures":[{"sig":"MEYCIQCZWszKVpI6jlFr/cV16Y/j+qRp8VN+Ar+mVESw4NAjeAIhAKYmnrO33ImC+s9VyydELwYlElFn6gjJG6rM+nL4VNCN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1220077},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"73e3e1e2fb23fc066bf674f0d38be269e1b56d33","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.50"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.14","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.51_1752115933095_0.9928809510094663","host":"s3://npm-registry-packages-npm-production"}},"0.0.52":{"name":"@gulibs/vgrove-ui","version":"0.0.52","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.52","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"f5f0c00946b8abb7124cb77155bd98e1334359af","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.52.tgz","fileCount":116,"integrity":"sha512-Bfn8Ndt1bQ0a+zqok7kowyI8yk0hWAgXNjeDi+pi5gRtFZGscDJnpbvE9h+pNViHDBahpYy199IMyzt1vHWF3w==","signatures":[{"sig":"MEYCIQCFheRE2yMQp/hI2S9K0QL7e0y0vcaK0Twkryywv/goiQIhAJKSTLKQ0EydY94VU/m+NclF5t91pSxh4Q7mFrFjVv43","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1220077},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"73e3e1e2fb23fc066bf674f0d38be269e1b56d33","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","actor":{"name":"gujiwen","type":"user","email":"gujiwen2020@163.com"},"email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/vgrove-client":"^0.0.52"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-i18n":"^0.0.3","@vitejs/plugin-react":"^4.5.2","@gulibs/vgrove-autoroutes":"^0.0.14","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.52_1752116749405_0.9547544593896999","host":"s3://npm-registry-packages-npm-production"}},"0.0.53":{"name":"@gulibs/vgrove-ui","version":"0.0.53","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.53","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"1b4a7be6bf009ceecbeb200a4e61f6823fd9e8d0","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.53.tgz","fileCount":141,"integrity":"sha512-jLoaglt/zdeoxkxu/gjlLHO+XEVNSxEhhP+BOz1rypILjykS8hY80ahpBkPECwFkG/+B7JdV4990ku5npV+u2w==","signatures":[{"sig":"MEQCIDLdAdDMg1jXsHaAg/pVrvyDSuw2cuVWHAVjASe/j8OyAiAqdHj7/AHHsHR3ADE+eKcuKOADoay7VHJofTbOjuB1Qw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2023505},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"73e3e1e2fb23fc066bf674f0d38be269e1b56d33","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.115","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.53_1752503384803_0.2381609085555425","host":"s3://npm-registry-packages-npm-production"}},"0.0.54":{"name":"@gulibs/vgrove-ui","version":"0.0.54","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.54","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"c92f4260d76782c61173d1e06e91343b7ea97846","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.54.tgz","fileCount":141,"integrity":"sha512-5xps+KblscK8uV5xQ68GMaRca4spNAkO7de720+jvBTbd3nQAGu7OH+dvBOwFwF4x7r/NlUArZwsg4SYdAtisg==","signatures":[{"sig":"MEYCIQDrN/XV3rh8trOyP5OQ8/uIdVCmi6xYpvfEbCYvodqvhAIhAMDQwi5SuJz1ZrwbGmwRycz+SqyGSe18FjH5FNXl1AwZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2023480},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"24a619576607d593f6b7932542b4a6801ced3362","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.115","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.54_1752505231081_0.3749059004967874","host":"s3://npm-registry-packages-npm-production"}},"0.0.55":{"name":"@gulibs/vgrove-ui","version":"0.0.55","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.55","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"53bd00045ec00e0e930f17b30354a6ab0e597717","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.55.tgz","fileCount":141,"integrity":"sha512-oLCmDMi+kCuZI8Tg6vFxoJbUYl/heS2iaGw9uG7tbx1U8qEwfwdkX9dmFv7NZGosTO5WSXeeQuEfPtf9pgXXfA==","signatures":[{"sig":"MEUCICnlNS2IgdLJLY90EF+/x6beIvAketfxZl2zgNFtsiR6AiEAq86KbqGL9/Kg8oj8VRwN9EsmQ+lNQoa1fDRfj+zUyR8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2023510},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"66a482e72ac72bb1da0f83a7b3f939417dcc81cb","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.115","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.55_1752517602476_0.9199894992537982","host":"s3://npm-registry-packages-npm-production"}},"0.0.56":{"name":"@gulibs/vgrove-ui","version":"0.0.56","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.56","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"20f75054d4189f6efd3a2b2de6d9cbcc7db557c2","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.56.tgz","fileCount":141,"integrity":"sha512-TpzO4LQkjEEtVT06Me7Y20/Cjf/QnSHgotv6C/Yy31fO0a3Q6dTW1A1QIeYDJcXfRF5FB0fEE4v2+Ot8QCHWvw==","signatures":[{"sig":"MEQCIBikuVvYAzgeEGNflazxjXcbzSnPtkokSr0plkX14JNKAiA3vLdH0Jc7/Dd9VSwlZ0ntuYuN/a8j+v/JentbKoPQSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2029988},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"672a07f47d63b0d2d6db4cbeedb08d03cef79bd9","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.115","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.56_1752518719650_0.12846583025330327","host":"s3://npm-registry-packages-npm-production"}},"0.0.57":{"name":"@gulibs/vgrove-ui","version":"0.0.57","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.57","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"8351b61e460273cc40f017dc6ca54cbe74e9fd3f","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.57.tgz","fileCount":141,"integrity":"sha512-j+kkTpJXpp8NATKYFucTL4IT7VO7YYsB5nKeEOMpa6PX2KF1Ix9mm1hTsfhgzVkZdW9rWPb58FxfnraCdaRFrQ==","signatures":[{"sig":"MEUCIHna4chMzoH494Uqv6pZiVwduA5HP0URhWluxtEkMHvbAiEA+2U07MMTldUWsOAzwO1bjHYpAIwoKPDDsiju5hQ2Zc8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2029992},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"dfc6dbc1d83ec9f49079c9113bc4f65affe5f560","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.115","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.57_1752518909471_0.8142856993541359","host":"s3://npm-registry-packages-npm-production"}},"0.0.58":{"name":"@gulibs/vgrove-ui","version":"0.0.58","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.58","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"c86f549ab3e89eb6d372cc272e62f2e1b9c3ef90","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.58.tgz","fileCount":141,"integrity":"sha512-Z47xFxOJ92pEyhcjmeFDXrXQTTvD//GXHV0Vjl5WIiZCzcHhURXAI57N483vifrLYiLYIuwZBc75h8pQhU3hLA==","signatures":[{"sig":"MEQCIDXjtHcsrdMFmbLdSreWmnxusAW9cbJzV+KhtQkxUp5zAiBenXJMj8xGUrjNo43qKLxk3fJd3CcZxpe8p8hL89/OuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2033325},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"3e9285bd7a69dc3122d22fe3eb77f922725cffaf","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.115","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.58_1752552466515_0.5912173043846392","host":"s3://npm-registry-packages-npm-production"}},"0.0.59":{"name":"@gulibs/vgrove-ui","version":"0.0.59","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.59","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"44d7badf0c25d8d4019d5979cb49e6866cdd069c","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.59.tgz","fileCount":141,"integrity":"sha512-J3+L8gFyDSTIeHntBXy7sv1CADboRHbMBGAxoKdi95aG+xW7PPw7SMCdHlL+pRPQ87fIrvMe3SgM7/Nv7KCv5w==","signatures":[{"sig":"MEQCIDaGwITkN2Kqaay7WVubdU5qyD3GJuW9GmPiglJWMupNAiB5hHHrHfWX1SZdbO9eNfoepKX+vB4RFwcJ4AyDssJWUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2033351},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"a0eb53fc0419c4b88ddf91a709e5c6b1cd16fc6f","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.115","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.59_1752552819282_0.7724893093992025","host":"s3://npm-registry-packages-npm-production"}},"0.0.60":{"name":"@gulibs/vgrove-ui","version":"0.0.60","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.60","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"c2a007e197c8d8c127d01f2109906ae8141a1374","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.60.tgz","fileCount":141,"integrity":"sha512-WsgBofv5x3p816w24sQWFJTG/NJhNonvNnUvIn5n9FOn09xz/rUPCRorhSO9WOWrGbFxDgevA9uwmRDiXcISug==","signatures":[{"sig":"MEUCICb9bJNXsMJlX7P+6lnNMjKGt58HBJ8be2g32PsjrdfnAiEAgCxAF+FVzX66lWUQ3hqjEnf9JLdEUM8YyQvIAlhGMfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2036926},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"dda5bdbe6f69e18e6134d9a99166146135325e33","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.115","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.60_1752557123175_0.5417314097416388","host":"s3://npm-registry-packages-npm-production"}},"0.0.61":{"name":"@gulibs/vgrove-ui","version":"0.0.61","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.61","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"3c1008294ca10c24876afc302ebc1423a1186155","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.61.tgz","fileCount":141,"integrity":"sha512-NRjBtoJzHh1RfqbN33a6ubc0U/18wUVZhgUhcshLMz6ZJpLk6qCyMzEfvVgv1iHZKM8Y1MRGg1vIpsxeDRmWeA==","signatures":[{"sig":"MEUCIHx0x4iO+1zucLQ2k+OVukGWkVBFKt5E5Gi9G/i1gOwxAiEAgWf8kqYPfOI/WYu+TmK9QgSkHmA4frhpp0kwkidtuSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2039371},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"2e0e2da04f536db99b39b3385cb6ae54837a9215","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.115","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.61_1752557574176_0.29166229496846574","host":"s3://npm-registry-packages-npm-production"}},"0.0.62":{"name":"@gulibs/vgrove-ui","version":"0.0.62","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.62","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"9ad3c808bc807b73f4969b1286e724d17292fa8d","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.62.tgz","fileCount":141,"integrity":"sha512-SATFYftpUe7bcXDRJrKExddYN4YoGPIYHUuW2TqX8iPxYvqmNHBQJEwztecrzeYVGIY2hiWe1GzCGPrJL5z/lA==","signatures":[{"sig":"MEQCICxfbnYJxFHnymRQ4X3HlqbCGOUrszALygyr2je3ju4JAiBr+N5ZngpjM8t8jbRlrAo3H8ti7IDc2XkEJEO656NgMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2033351},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"3a0eca81da990a27fbd9d3a14ce0eef8d97eb6b4","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.115","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.62_1752564332075_0.3719905308670055","host":"s3://npm-registry-packages-npm-production"}},"0.0.63":{"name":"@gulibs/vgrove-ui","version":"0.0.63","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.63","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"3ee37e93e3c6d45c6d20e55e532e7bd41fbff3cc","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.63.tgz","fileCount":141,"integrity":"sha512-3y/PGn8IvDNEWqCDy26PUsRfnA/N9t437K4rrcukDRrVB5/UCc6c7rbcCX3wJKGRORDOEfjA//5k4/2vsBZ+hQ==","signatures":[{"sig":"MEQCIFNI6jGJU9uCoox0AtrIswoiazW3Q/t4Dmc5OTCqYOqhAiBbLgstnAmndo82uM9oJj3HyXPIT7bCMAJNPjUrcSQ+ZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2037603},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"923b83bdd3112979cc23c2ed62d4368cefd96893","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.115","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.63_1752571483673_0.30910172753671716","host":"s3://npm-registry-packages-npm-production"}},"0.0.64":{"name":"@gulibs/vgrove-ui","version":"0.0.64","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.64","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"17f0f341a88625d8af3793a40de998ca3fe8fe91","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.64.tgz","fileCount":141,"integrity":"sha512-1fOJcf9Wbd3USp3ZCQXskXtiuNK+geDkfZHG/clzYdU/XS25auYLyD++dH3fnckhMUSeaMUJvBveioeZ3CHZHQ==","signatures":[{"sig":"MEQCICzrZTAd3PRkBwg1LFsXGfh0gf1KfAJ63Gpi3VMB+Q8sAiA8arL1DMKA4tW7cWAJQ9Cp5/RK/M0VQbXN7QTeuMGHqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2037831},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"4106ca4a28a45350ccdfa08a4fecaa25b9dfc731","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.115","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.64_1752579086740_0.17403641816309512","host":"s3://npm-registry-packages-npm-production"}},"0.0.126":{"name":"@gulibs/vgrove-ui","version":"0.0.126","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.126","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"39ceaa816319969e3daa23e06593050eba1394e8","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.126.tgz","fileCount":147,"integrity":"sha512-SdUJQH/fdTdeRQQod4bOt091x+WEMKwLcX4uFW/kAOBAtqNLd+sV/CwzswnXhf7LLsTkjdWnk8CWzUQS8QGKDQ==","signatures":[{"sig":"MEQCIEqiH9uQJaqCUOf3334H68ouSGc8wjTXn3WRqfE34qoDAiB9m+12kDdGOPaAd5KIGWXKqHGhCn5nQ7UW4KwN27isJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2146271},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"8bb79af270f534eb1a428d5e03fcb7613f7efdcc","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.124","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.126_1753412825412_0.8837059466469042","host":"s3://npm-registry-packages-npm-production"}},"0.0.166":{"name":"@gulibs/vgrove-ui","version":"0.0.166","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.166","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"856c07a1e86eacd4eb44cbea2ec4b011965b7ab8","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.166.tgz","fileCount":149,"integrity":"sha512-avb0d6NYWOWWAXExV7/8063QOeknQ8adaOBa8IIBmsiDiAgyJmCXHQqaF6N+JFFD50vkuy80Yn6H7QT/dGkrDw==","signatures":[{"sig":"MEQCIAQrZq4kYx3ThzBU5chFZJfDVXMNAM8or3bRJ4OTKoQQAiBc7sDOc8qjN+ufEpDlTYCTeXSxLG9mMfbTe68v0+96yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2283483},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"8bb79af270f534eb1a428d5e03fcb7613f7efdcc","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.166","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.166_1753820259426_0.6913697074727831","host":"s3://npm-registry-packages-npm-production"}},"0.0.168":{"name":"@gulibs/vgrove-ui","version":"0.0.168","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.168","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"947fc1fa764af2b2421318a731bc6a960b42cfa6","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.168.tgz","fileCount":149,"integrity":"sha512-jRiFdgSmlqTbZ6oWMv7/F86J+Z3z37NRZXbjfN9o16CGAIQ5YwK1fZJt6NgTJtH5gWW940kxFQWUKkWR6kHTOA==","signatures":[{"sig":"MEUCIQDlPIPqkuxz+xhxMAelr1N/opP3uUOjmsR+TSC3Oiv80AIgXA7MulMyetAyWILBWBLqplbCT4CM9HDQGBRf5bM64SQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2317577},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"7bf65b5b5d523a690cb70a61c26ad5bfa6572cf2","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.166","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.168_1753851780624_0.5995302652725316","host":"s3://npm-registry-packages-npm-production"}},"0.0.169":{"name":"@gulibs/vgrove-ui","version":"0.0.169","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.169","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"89f45a52f2c620142cd0685c661a2705306dcd75","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.169.tgz","fileCount":149,"integrity":"sha512-2kb1foQ/8kcbFgirE/90u6hFl85Gw7wWRzj8nr+6iMeV8ozK98c4OHcnct09m42vX3VDnlBCQR0Cn8RlJD6FCQ==","signatures":[{"sig":"MEQCICmyh288d9FOkwc009zEJLL292G5KUWuQD8gtJLO+mT4AiAK39BQawVC7SQ3VYMspJTVXYy1c7/BhLQLFKwziwqlrQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2317573},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"b7aff3cef0f94620f48bbc3b54323cbe2cf31be9","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.166","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.169_1753852149136_0.9806846996199494","host":"s3://npm-registry-packages-npm-production"}},"0.0.170":{"name":"@gulibs/vgrove-ui","version":"0.0.170","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.170","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"e460d153b2c536b6157e4cd9f5ba5d7e7259669e","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.170.tgz","fileCount":149,"integrity":"sha512-dKt2XpZQChFFO1tXwI44JbWDvNcKHTOfqZrC7+uywGZANmzOES76AQfx+DihLFZu5LcbdhL906TFgW7yYfTtsw==","signatures":[{"sig":"MEUCIFRkOOJuJLNXibVD1/bFZuF+M0f577Dtq90uxo02WOeRAiEAxB8sH5HEi22Xk4qnZuZi0g/+dZKFlTVhzSIaL6ja+AA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2317551},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"5d460b087962f28bfbb3e4dd450bd7cd3bcec23b","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.170_1753900955875_0.19784389548141945","host":"s3://npm-registry-packages-npm-production"}},"0.0.171":{"name":"@gulibs/vgrove-ui","version":"0.0.171","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.171","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"ef291c08e186326a1f7052de76c6e0ea070d44aa","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.171.tgz","fileCount":149,"integrity":"sha512-kD3+XqvZwMplLPKC7UJ2AmyWkT3x7QWGu31+hn70w2V2WYaLccQjCsj6TqTAQs4yY6/ypjMWfsn529S2xBJVEQ==","signatures":[{"sig":"MEUCICRx7Tg3kRTbngs2MGurbUNXyEIqJL/IXYjtVZ3zMlGxAiEA16QWTx/EalbE2CBYGjXzbCfRYc8pMTQbZayjiTX1Los=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2318442},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"3c2d9e8316d7242c311763ec2f81a56444ae69f8","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.0-beta.11","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.171_1753903245712_0.24544614684985078","host":"s3://npm-registry-packages-npm-production"}},"0.0.172":{"name":"@gulibs/vgrove-ui","version":"0.0.172","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.172","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"1fde2f5e4d9223904ccff5cfc74057518e035061","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.172.tgz","fileCount":149,"integrity":"sha512-LC0hPpkwTbT/39E77aG+touxdYrIKE81EbzN/cRBIfWCWzB3vpQkyCyhS3b1GMIgElKcrk6TdBlnDhOCJ6Lv3w==","signatures":[{"sig":"MEUCIE6D3CC8YZJrBoXBtEhjrEBZI+SoWNqfSdPoVAvH6OPlAiEAm0wlolOQUzFWtFRM+MMr6ZJhPc9fvIzOvnAJl9cZjY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2318434},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"79e5a7eb75fb3be181c9e6710e3e3dcf2dde1569","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.172_1753904295687_0.3956176238150184","host":"s3://npm-registry-packages-npm-production"}},"0.0.173":{"name":"@gulibs/vgrove-ui","version":"0.0.173","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.173","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"c31a8b1611bca172f092b91534c69453dce20354","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.173.tgz","fileCount":149,"integrity":"sha512-e3xN4gGJA1wmqzbFc9Al5fcK5QqWL3DqjveRMl4AT7SOtYkSIqwJfwmPMUNZI7aqn7RHYd0HEl6KZlNcIT1jqQ==","signatures":[{"sig":"MEUCIQD8dkAif4gRngR40dTf2zIGSUXYch1hxqnDcYDTmZVaDQIgDVeyFKXH34ujQRjZXZ1v82kcrh4whq5HYRlAcZ0bPW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2318072},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"f62df7c994d67b3b6ddec4a4d63ab7a3fb7bb438","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.173_1754014896979_0.08095595888940643","host":"s3://npm-registry-packages-npm-production"}},"0.0.174":{"name":"@gulibs/vgrove-ui","version":"0.0.174","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.174","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"490990b1fae61677f75d74d3577484c05a4da95e","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.174.tgz","fileCount":149,"integrity":"sha512-/t7qmRjGtx0OASQGtwqXTcfsye27eJ8I7GFKuAewd0y/M2u3I4L9VDgCByRGoWuYpf+vKooeCRNOgQSWFz8RJg==","signatures":[{"sig":"MEYCIQDXxiFKX6JIuAjLll0kc5ocU9aqOt8BgwX9djzICNyETwIhAJj8/FCiDJtGxER8D/cOJcwRVR7F4M1AtqnKmZgX1450","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2320884},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"ddb5d6524b003ec8c48d7400520bf22643d8649b","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.174_1754015257083_0.7515536658104252","host":"s3://npm-registry-packages-npm-production"}},"0.0.175":{"name":"@gulibs/vgrove-ui","version":"0.0.175","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.175","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"84d8b6df214be360e8249f0c2d5f137717b86dbb","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.175.tgz","fileCount":149,"integrity":"sha512-DXxIsGXIwFo6HmrQ6Qu5nGNiToyp8HZPTlZLI7fBfVv9ojoiUOa11857fJOs5KKKXNUhyMsv7AL6SyZQzO2IAg==","signatures":[{"sig":"MEUCIQDA5IQ3kJMbJveg7MHn1NqpQwlP+Lu6L6+ZfB89ezr3NwIgLOKZbdgOdQbzxl0DTubY9FN2oqjfGwZ7RIFnT7208kY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3697055},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"7bcccdb49bb75ba5f0b8ac90e5b0ab2ccc517ed1","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.175_1754042049914_0.1066266040976338","host":"s3://npm-registry-packages-npm-production"}},"0.0.176":{"name":"@gulibs/vgrove-ui","version":"0.0.176","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.176","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"0672e297bcdac8c82442363fdc798ff830cefe3b","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.176.tgz","fileCount":149,"integrity":"sha512-V8jvbIEvZc9nTPI7MVC7eCPBm/S9iT+Lq46NumRZHOUQaNlHSQwc/HTq7/YaZsGGFZHbfXPz4cUOSusFDpwJJA==","signatures":[{"sig":"MEYCIQDGOUFA60hrmbvyYDu3adDEMyoJ0C7Eu8v+GpjhhTFg5AIhAOqnYg3Rv9CONDD+r1hG/Ur1qwb5Xgvg0KIT3QeISaKS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2414527},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"12156418ed48f053f7c263b318f0deed8df4244d","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/node":"^24.1.0","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.176_1754118507582_0.8326387349007447","host":"s3://npm-registry-packages-npm-production"}},"0.0.177":{"name":"@gulibs/vgrove-ui","version":"0.0.177","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.177","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"7db02b1fbde8deefe01e4624a36637a13b86e7f8","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.177.tgz","fileCount":149,"integrity":"sha512-XWaN4s5d/YF8rWOIs+OKadvoE7ztShe5UtAvkulgb0UBjE5y74WXa92/OEbv/jE7mDtpl1ObBd+fARGfAh+Ueg==","signatures":[{"sig":"MEQCIDq+shLfjA1idT0tq2L13Rp8dt9qP0PXRtam3y8o/JEVAiALZ5A6GiM0oKnTEWEzH6PQCCv1b7aro/ZeKnQHB2MGkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2414821},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"0335e3242682c7d310613baf71e26accc2b1b6b9","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/node":"^24.1.0","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.177_1754137617867_0.8335728869122894","host":"s3://npm-registry-packages-npm-production"}},"0.0.178":{"name":"@gulibs/vgrove-ui","version":"0.0.178","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.178","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"8ea7b5d703c4a655fa7da43fb918149eecc328e2","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.178.tgz","fileCount":149,"integrity":"sha512-+PRTw9hYNq3h5ORYinYePg/CmPUKLzZJirlFDCFEocNGy0bnaDu8l4fLRNOWnmNF8j1ix46S2+Sf2AMBVLLGAA==","signatures":[{"sig":"MEYCIQCMm/JCXjUWZG73fUstJtfWZVJXTPVMj2kCwIxq3UbnNAIhALhK9Dvr2jOsnXlvJZquKFm+KKaCCyo33jlnjt11xOwh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2706336},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"5754bad3ee91666ec1e0c1cd42413a48a4b3726a","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","react-device-detect":"^2.2.3","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/node":"^24.1.0","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.178_1754138624830_0.06512904530929409","host":"s3://npm-registry-packages-npm-production"}},"0.0.179":{"name":"@gulibs/vgrove-ui","version":"0.0.179","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.179","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"8f281499f20ff821dcbef435a1846c2f6a8b896f","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.179.tgz","fileCount":149,"integrity":"sha512-vKz2sFL9Em3rh3GIjxcYw9t6EYhadB7zXlv7i8KNvWVTYEjx8OOfIeuakLLwpMRhHiXYq+nNL9/5wEDT5Rv2Ow==","signatures":[{"sig":"MEYCIQCox0aM9jCuAFjEZcM5/cNRdRMoW7/5ZVmsMDhJ1Y1pBgIhAK2b4rRc93aOacQk9CkmF1dEJjMVxWzXDYm8NDf6/Nxh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2707730},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"51ecaad76231275b9489d9577c49452ba16f62d7","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","react-device-detect":"^2.2.3","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/node":"^24.1.0","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.179_1754229755710_0.05842724848145098","host":"s3://npm-registry-packages-npm-production"}},"0.0.180":{"name":"@gulibs/vgrove-ui","version":"0.0.180","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.180","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"667e7d79d2b07e93b4c6e5841e060eaa337f6562","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.180.tgz","fileCount":149,"integrity":"sha512-wGTKMBuvu5jEjp1ArmcQoahYxDgwfHzXR5NbLKIqHZZMOXEQOaeAJcNuCIysJVmqZI+q0CPQBKuL+5c4yKekEA==","signatures":[{"sig":"MEUCIEKTd0VCT97VYvgPdXUtjGAhJ2Z5V/87GvR80wZMNNm/AiEAkWVSrLQQu2WUqjQ2cHyjT0tp9KRTz1WMqq67tM2wM3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2707944},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"660f961000dddafadf5d3a043db071c05fa50f6f","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","react-device-detect":"^2.2.3","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/node":"^24.1.0","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.180_1754231014015_0.04473717948030087","host":"s3://npm-registry-packages-npm-production"}},"0.0.181":{"name":"@gulibs/vgrove-ui","version":"0.0.181","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.181","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"cc29229805e55aa0733392aec3eb2e94433ffa63","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.181.tgz","fileCount":149,"integrity":"sha512-SSG+L3jEzx0ia8HKsDbrA0Xu6gaV3U4wc8mUrbNn2ZdxsPukvoE7p6LOIwwEozcVZk34OOsJqbwJVHXtvvpBDg==","signatures":[{"sig":"MEQCICsGWz8yVYGZ8A7P0NhJfpIbkbCvPqJI0CvZEot7jWH9AiBwGrt/AoXB9+VPyAPRR2svdgWpWecS/XwcDdIDnlodgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2708148},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"98b3bf7d5c23b7f10d30692f56a3b966460c3584","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","react-device-detect":"^2.2.3","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/node":"^24.1.0","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.181_1754240848550_0.6794865922313325","host":"s3://npm-registry-packages-npm-production"}},"0.0.182":{"name":"@gulibs/vgrove-ui","version":"0.0.182","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.182","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"06304574b398766d1cd8c3ed174ebb4a83035369","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.182.tgz","fileCount":149,"integrity":"sha512-V3kpMgo1rac4wzx/1uso43KpUd/Bkjf0mieARzwzdV5Ad347EG10ZwQfpPhHEHF8x0cjTwd2fIM1W2HKYa84Tw==","signatures":[{"sig":"MEQCIBJVhz8Zk9jdkU5sneJfj1OCD+dpiR/JhKa5vD3qLox5AiBb6w22/9yx8CGtLOo9yC+bXPK3JTjNP0EgyuyZsZ/x2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2708152},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"2a04abf03ea1054b1e456a11898d84bbc10a67ff","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","react-device-detect":"^2.2.3","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/node":"^24.1.0","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.182_1754285545007_0.9891827694710604","host":"s3://npm-registry-packages-npm-production"}},"0.0.183":{"name":"@gulibs/vgrove-ui","version":"0.0.183","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.183","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"35dcfd6d828e36b9d56e0d4f1c470137b5fb6419","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.183.tgz","fileCount":149,"integrity":"sha512-iHuAjpw/QerIKTSGOPa38g/wqPXIe7irOutU3C5/qB2GuOAB9uhZgiHnPRyX2g2X0l8E3X+0a1qsqZBX5M64pA==","signatures":[{"sig":"MEYCIQCEXmJYr+Rb9WWm/yAOmL2bjA//8qrb+JHcrirAGkPO/AIhAOw+KHVsmrJbRX6jbd4J+zMyFRGetWg8tRfC2nE65Jeb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2708176},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"cc372b43be1d8e3605ec3454d9b716bd6490403c","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","react-device-detect":"^2.2.3","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/node":"^24.1.0","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.183_1754285833003_0.22568926058742078","host":"s3://npm-registry-packages-npm-production"}},"0.0.184":{"name":"@gulibs/vgrove-ui","version":"0.0.184","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.184","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"1bd4c0e2c2f8973bd6243fe71988e7183e89f9c3","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.184.tgz","fileCount":151,"integrity":"sha512-dsA20F+zFKxLuQqBg9eKSKu4bFLy+MTAEDpXccw/Os4kdkfEgyeY7PRyqwoxp9rGv30nMPN8JyGvtcudNUN4lg==","signatures":[{"sig":"MEUCIE9T0WH8loqCCxAYKU0WKVtW4hOg92iCa8Oc+CsstzyzAiEA90IWyyhDDx258YPIsUSXDBYBW1qKN+mWEM8TMjMnejo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3083003},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"1148ac1882fd3a4be3c17fcbd00863b9daa1eea8","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","react-device-detect":"^2.2.3","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/node":"^24.1.0","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.184_1754571407379_0.804498856531844","host":"s3://npm-registry-packages-npm-production"}},"0.0.185":{"name":"@gulibs/vgrove-ui","version":"0.0.185","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.185","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"48db5fe42da54753b51072c802fd11307e66683f","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.185.tgz","fileCount":151,"integrity":"sha512-cYnLMfvpxADM8HfNX8LSllkc8D3MrTVL75SrQLgjjLk7gTMvaUgF1VfgPPoSQpk1ocbdP3iRzf9VByd3vefjwg==","signatures":[{"sig":"MEUCIBdxPVyBu36ezjhRJMNV/P2zk6RlaQ+M83a2EF2C7VutAiEAnXvi2caXKk/fNELlqxVHIJBt2GkFX3JnX7D1t9e0lZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3083166},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"4f28455671f3dfdcec95dbc8f6fffb4166e6d564","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.9.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"23.11.1","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","react-device-detect":"^2.2.3","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/node":"^24.1.0","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.185_1754571762556_0.1651888499247227","host":"s3://npm-registry-packages-npm-production"}},"0.0.186":{"name":"@gulibs/vgrove-ui","version":"0.0.186","keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","_id":"@gulibs/vgrove-ui@0.0.186","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"homepage":"https://github.com/gulibs/vgrove-projects#readme","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"dist":{"shasum":"02ef151daee0a5a3bd45f9608fb56b78f2185469","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.186.tgz","fileCount":151,"integrity":"sha512-eVvmSIPCvnXlKAcI7NxWL0aqrJjIFJw5QHFWoGKEuBdeJm6Qj+FQLhVVNtIS99WQzK3ijNZuJE3CZcpk3jJRCA==","signatures":[{"sig":"MEUCIQCgvTgeCR6qNZXAVBN+s6AhCHzpX4IQSt2mA4dl3C5H3AIgHLAHACNgA1C7K1J70u9hZKbbLWAhaQrbPbAMwizVG7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3081913},"main":"./dist/index.cjs.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.es.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"1b634e03ecefb60cb56a651eefcd37d66b61fada","private":false,"scripts":{"dev":"vite","lint":"eslint .","build":"vite build && tsc -b","preview":"vite preview","build:types":"tsc --emitDeclarationOnly","dev:example":"vite --config vite.config.example.ts"},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"repository":{"url":"git+https://github.com/gulibs/vgrove-projects.git","type":"git","directory":"frontend/vgrove-ui"},"_npmVersion":"10.8.2","description":"VGrove UI component library built with HeroUI and React","directories":{},"_nodeVersion":"18.20.8","dependencies":{"clsx":"^2.1.1","lodash":"^4.17.21","lucide-react":"^0.525.0","@heroui/react":"^2.8.2","framer-motion":"^12.19.2","@iconify/react":"^6.0.0","react-markdown":"^10.1.0","react-hook-form":"^7.59.0","@ant-design/icons":"^6.0.0","@remix-run/router":"^1.23.0","styled-components":"^6.1.19","react-helmet-async":"^2.0.5","react-device-detect":"^2.2.3","@gulibs/react-storage":"^0.0.8"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.5","react":"^19.1.0","eslint":"^9.29.0","globals":"^16.2.0","react-dom":"^19.1.0","@eslint/js":"^9.29.0","typescript":"~5.8.3","@types/node":"^24.1.0","tailwindcss":"^4.1.11","@types/react":"^19.1.8","react-router":"^7.6.3","@types/lodash":"^4.17.19","@types/react-dom":"^19.1.6","@tailwindcss/vite":"^4.1.11","typescript-eslint":"^8.34.1","@gulibs/vgrove-core":"^0.0.170","@vitejs/plugin-react":"^4.5.2","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","tailwindcss":"^4.1.11","react-router":"^7.0.0","@tailwindcss/vite":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/vgrove-ui_0.0.186_1754575809186_0.8633093028220886","host":"s3://npm-registry-packages-npm-production"}},"0.0.187":{"name":"@gulibs/vgrove-ui","version":"0.0.187","private":false,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"description":"VGrove UI component library built with HeroUI and React","type":"module","main":"./dist/index.cjs.js","module":"./dist/index.es.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"scripts":{"dev":"vite","dev:example":"vite --config vite.config.example.ts","build":"vite build && tsc -b","build:types":"tsc --emitDeclarationOnly","lint":"eslint .","preview":"vite preview"},"peerDependencies":{"@tailwindcss/vite":"^4.1.11","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","react-router":"^7.0.0","tailwindcss":"^4.1.11"},"dependencies":{"@ant-design/icons":"^6.0.0","@gulibs/react-storage":"^0.0.8","@heroui/react":"^2.8.2","@iconify/react":"^6.0.0","@remix-run/router":"^1.23.0","clsx":"^2.1.1","framer-motion":"^12.19.2","lodash":"^4.17.21","lucide-react":"^0.525.0","react-device-detect":"^2.2.3","react-helmet-async":"^2.0.5","react-hook-form":"^7.59.0","react-markdown":"^10.1.0","styled-components":"^6.1.19"},"devDependencies":{"@eslint/js":"^9.29.0","@gulibs/vgrove-core":"^0.0.170","@tailwindcss/vite":"^4.1.11","@types/lodash":"^4.17.19","@types/node":"^24.1.0","@types/react":"^19.1.8","@types/react-dom":"^19.1.6","@vitejs/plugin-react":"^4.5.2","eslint":"^9.29.0","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.20","globals":"^16.2.0","react":"^19.1.0","react-dom":"^19.1.0","react-router":"^7.6.3","tailwindcss":"^4.1.11","typescript":"~5.8.3","typescript-eslint":"^8.34.1","vite":"^7.0.5"},"keywords":["react","ui","components","vgrove","heroui","typescript"],"author":{"name":"VGrove Team"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gulibs/vgrove-projects.git","directory":"frontend/vgrove-ui"},"_id":"@gulibs/vgrove-ui@0.0.187","gitHead":"6ce1a180e864e28dd92e82538951ecbd1ca7acd3","bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"homepage":"https://github.com/gulibs/vgrove-projects#readme","_nodeVersion":"23.11.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-hwYHIOk0ZD0Sarn7hLNlOxopUIWRf0jfFP2zXKI54VjWwzXfOqNBZBf4lSx8q9EgaL2u+vx+VzX0NihSV1efEg==","shasum":"465ef998f554d503f906e298ffe4b9580f45a229","tarball":"https://registry.npmjs.org/@gulibs/vgrove-ui/-/vgrove-ui-0.0.187.tgz","fileCount":151,"unpackedSize":3081432,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC/gxxfP2nZsP0e0DCLKFZh6AVW1vaJB0ZlkRcjeg9TcAiBRHEkl+oqQ5XLWADoarZQUB27icp0eFB3GGyI8c8NBqw=="}]},"_npmUser":{"name":"gujiwen","email":"gujiwen2020@163.com"},"directories":{},"maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vgrove-ui_0.0.187_1754772362632_0.8739787746155254"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-18T09:23:15.873Z","modified":"2025-08-09T20:46:03.108Z","0.0.1":"2025-06-18T09:23:16.164Z","0.0.2":"2025-06-29T09:47:40.468Z","0.0.3":"2025-06-29T14:48:13.769Z","0.0.4":"2025-06-29T19:23:50.660Z","0.0.5":"2025-06-29T19:26:44.767Z","0.0.6":"2025-06-29T19:40:48.772Z","0.0.7":"2025-06-29T19:44:47.894Z","0.0.8":"2025-06-30T10:11:51.538Z","0.0.9":"2025-06-30T12:29:23.224Z","0.0.10":"2025-07-01T05:26:01.788Z","0.0.11":"2025-07-01T10:05:45.384Z","0.0.12":"2025-07-03T03:59:33.031Z","0.0.13":"2025-07-03T10:18:18.207Z","0.0.14":"2025-07-03T12:27:25.136Z","0.0.15":"2025-07-04T00:15:22.948Z","0.0.16":"2025-07-05T02:57:56.486Z","0.0.17":"2025-07-06T09:46:05.741Z","0.0.18":"2025-07-06T11:13:05.602Z","0.0.19":"2025-07-06T11:31:51.015Z","0.0.20":"2025-07-06T11:37:52.425Z","0.0.21":"2025-07-06T11:42:26.761Z","0.0.22":"2025-07-06T12:31:43.727Z","0.0.23":"2025-07-06T12:34:14.015Z","0.0.24":"2025-07-06T16:01:07.031Z","0.0.25":"2025-07-06T16:07:36.718Z","0.0.26":"2025-07-06T16:26:40.347Z","0.0.27":"2025-07-06T18:05:53.547Z","0.0.30":"2025-07-06T18:32:37.731Z","0.0.31":"2025-07-06T18:40:26.671Z","0.0.32":"2025-07-06T19:24:53.910Z","0.0.33":"2025-07-06T19:30:15.714Z","0.0.34":"2025-07-06T19:37:16.397Z","0.0.35":"2025-07-06T20:04:40.668Z","0.0.36":"2025-07-06T20:19:34.620Z","0.0.37":"2025-07-07T02:36:15.232Z","0.0.38":"2025-07-08T01:36:11.916Z","0.0.39":"2025-07-08T05:21:20.679Z","0.0.40":"2025-07-08T09:39:44.317Z","0.0.42":"2025-07-09T01:24:32.375Z","0.0.43":"2025-07-09T01:35:20.587Z","0.0.44":"2025-07-09T05:31:18.561Z","0.0.45":"2025-07-09T10:51:44.382Z","0.0.46":"2025-07-09T11:09:19.103Z","0.0.47":"2025-07-09T11:29:19.439Z","0.0.48":"2025-07-10T02:24:31.160Z","0.0.49":"2025-07-10T02:41:16.648Z","0.0.50":"2025-07-10T02:49:49.820Z","0.0.51":"2025-07-10T02:52:13.294Z","0.0.52":"2025-07-10T03:05:49.621Z","0.0.53":"2025-07-14T14:29:45.028Z","0.0.54":"2025-07-14T15:00:31.321Z","0.0.55":"2025-07-14T18:26:42.705Z","0.0.56":"2025-07-14T18:45:19.828Z","0.0.57":"2025-07-14T18:48:29.673Z","0.0.58":"2025-07-15T04:07:46.743Z","0.0.59":"2025-07-15T04:13:39.525Z","0.0.60":"2025-07-15T05:25:23.364Z","0.0.61":"2025-07-15T05:32:54.460Z","0.0.62":"2025-07-15T07:25:32.330Z","0.0.63":"2025-07-15T09:24:43.839Z","0.0.64":"2025-07-15T11:31:27.026Z","0.0.126":"2025-07-25T03:07:05.646Z","0.0.166":"2025-07-29T20:17:39.659Z","0.0.168":"2025-07-30T05:03:00.863Z","0.0.169":"2025-07-30T05:09:09.363Z","0.0.170":"2025-07-30T18:42:36.114Z","0.0.171":"2025-07-30T19:20:45.949Z","0.0.172":"2025-07-30T19:38:15.922Z","0.0.173":"2025-08-01T02:21:37.223Z","0.0.174":"2025-08-01T02:27:37.293Z","0.0.175":"2025-08-01T09:54:10.192Z","0.0.176":"2025-08-02T07:08:27.874Z","0.0.177":"2025-08-02T12:26:58.110Z","0.0.178":"2025-08-02T12:43:45.170Z","0.0.179":"2025-08-03T14:02:35.987Z","0.0.180":"2025-08-03T14:23:34.286Z","0.0.181":"2025-08-03T17:07:28.834Z","0.0.182":"2025-08-04T05:32:25.273Z","0.0.183":"2025-08-04T05:37:13.218Z","0.0.184":"2025-08-07T12:56:47.596Z","0.0.185":"2025-08-07T13:02:42.798Z","0.0.186":"2025-08-07T14:10:09.494Z","0.0.187":"2025-08-09T20:46:02.909Z"},"bugs":{"url":"https://github.com/gulibs/vgrove-projects/issues"},"author":{"name":"VGrove Team"},"license":"MIT","homepage":"https://github.com/gulibs/vgrove-projects#readme","keywords":["react","ui","components","vgrove","heroui","typescript"],"repository":{"type":"git","url":"git+https://github.com/gulibs/vgrove-projects.git","directory":"frontend/vgrove-ui"},"description":"VGrove UI component library built with HeroUI and React","maintainers":[{"name":"gujiwen","email":"gujiwen2020@163.com"}],"readme":"# VGrove UI\n\n> 现代化企业级 React UI 组件库 - 基于 HeroUI 构建，集成完整的认证、表单、布局和国际化解决方案\n\n[![npm version](https://badge.fury.io/js/@gulibs%2Fvgrove-ui.svg)](https://badge.fury.io/js/@gulibs%2Fvgrove-ui)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/)\n\n## ✨ 核心特性\n\n### 🔐 现代化认证系统\n\n- **标准化 Loader API**: 基于 React Router v7+ loader/action 模式\n- **智能路由保护**: 多层级认证、角色和权限检查\n- **自动重定向**: 智能跳转到登录页面或权限不足页面\n- **中间件支持**: 可扩展的认证中间件链\n\n### 📝 完整表单解决方案\n\n- **基于 React Hook Form**: 高性能表单处理\n- **智能表单状态**: watchNames 自动控制按钮启用状态\n- **丰富的表单组件**: 15+ 个企业级表单组件\n- **统一验证系统**: 实时验证和错误处理\n\n### 🎨 企业级 UI 组件\n\n- **基于 HeroUI**: 现代化设计语言\n- **完整布局系统**: 响应式布局和页面管理\n- **灵活主题系统**: 明暗主题 + 系统主题检测\n- **国际化支持**: 内置多语言和本地化\n\n### ⚡ 性能与开发体验\n\n- **智能缓存**: 路由级别的性能优化\n- **完整 TypeScript**: 类型安全和智能提示\n- **调试工具**: 模块化调试配置\n- **零配置**: 开箱即用的企业级功能\n\n## 📦 安装\n\n```bash\n# npm\nnpm install @gulibs/vgrove-ui\n\n# pnpm (推荐)\npnpm add @gulibs/vgrove-ui\n\n# yarn\nyarn add @gulibs/vgrove-ui\n```\n\n### 对等依赖\n\nVGrove UI 需要以下对等依赖：\n\n```bash\n# 核心依赖\nnpm install react react-dom react-router-dom\n\n# 样式依赖\nnpm install @heroui/react @heroui/theme framer-motion\nnpm install tailwindcss @tailwindcss/vite\n\n# 表单依赖\nnpm install react-hook-form\n\n# 可选依赖\nnpm install react-helmet-async  # 用于页面 SEO 管理\n```\n\n### Tailwind CSS 配置\n\n```javascript\n// tailwind.config.js\nconst { heroui } = require(\"@heroui/react\");\n\n/** @type {import('tailwindcss').Config} */\nmodule.exports = {\n  content: [\n    \"./index.html\",\n    \"./src/**/*.{js,ts,jsx,tsx}\",\n    \"./node_modules/@heroui/theme/dist/**/*.{js,ts,jsx,tsx}\",\n    \"./node_modules/@gulibs/vgrove-ui/dist/**/*.{js,ts,jsx,tsx}\"\n  ],\n  theme: {\n    extend: {},\n  },\n  darkMode: \"class\",\n  plugins: [heroui()]\n}\n```\n\n## 🚀 快速开始\n\n### 基础设置\n\n```typescript\nimport React from 'react';\nimport { VGroveProvider, VGroveLayout } from '@gulibs/vgrove-ui';\n\n// 侧边栏菜单配置\nconst menuItems = [\n  {\n    key: 'dashboard',\n    label: '仪表板',\n    href: '/dashboard',\n    icon: <DashboardIcon />\n  },\n  {\n    key: 'users',\n    label: '用户管理',\n    href: '/users',\n    icon: <UsersIcon />\n  }\n];\n\nfunction App() {\n  return (\n    <VGroveProvider\n      settings={{\n        sidebar: {\n          collapsed: false,\n          collapsible: true\n        },\n        navbar: {\n          height: 64\n        }\n      }}\n    >\n      <VGroveLayout\n        items={menuItems}\n        onCollapsedChange={(collapsed) => console.log('Sidebar collapsed:', collapsed)}\n      >\n        {/* 你的应用路由 */}\n        <Router />\n      </VGroveLayout>\n    </VGroveProvider>\n  );\n}\n\nexport default App;\n```\n\n### 认证系统快速配置\n\n```typescript\nimport {\n  quickSetup,\n  createBrowserRouter,\n  RouterProvider\n} from '@gulibs/vgrove-ui';\n\n// 快速配置认证系统\nconst { authLoader, loginAction, logoutAction } = quickSetup({\n  // 认证检查函数\n  authCheck: async () => {\n    const token = localStorage.getItem('authToken');\n    if (!token) return null;\n\n    const user = await fetchUserProfile(token);\n    return user;\n  },\n\n  // 登录 API\n  loginApi: async (credentials) => {\n    const response = await fetch('/api/auth/login', {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify(credentials)\n    });\n\n    if (!response.ok) throw new Error('登录失败');\n\n    const { user, token } = await response.json();\n    localStorage.setItem('authToken', token);\n\n    return { user, token };\n  },\n\n  // 配置选项\n  loginPath: '/auth/login',\n  forbiddenPath: '/403',\n  publicPaths: ['/auth/*', '/public/*', '/'],\n  debug: process.env.NODE_ENV === 'development'\n});\n\n// 创建路由\nconst router = createBrowserRouter([\n  // 公共路由\n  {\n    path: '/auth/login',\n    element: <LoginPage />,\n    action: loginAction\n  },\n\n  // 需要认证的路由\n  {\n    path: '/dashboard',\n    element: <Dashboard />,\n    loader: authLoader\n  },\n\n  // 需要管理员角色的路由\n  {\n    path: '/admin',\n    element: <AdminPanel />,\n    loader: createRoleLoader(['admin', 'super-admin'])\n  },\n\n  // 需要特定权限的路由\n  {\n    path: '/users',\n    element: <UserManagement />,\n    loader: createPermissionLoader(['user.read', 'user.write'])\n  }\n]);\n\nfunction App() {\n  return (\n    <VGroveProvider>\n      <RouterProvider router={router} />\n    </VGroveProvider>\n  );\n}\n```\n\n## 🔐 认证与路由系统\n\nVGrove UI 提供了基于 React Router v7+ 的现代化认证和权限管理系统，支持多层级认证检查和智能路由保护。\n\n### 核心 Loader API\n\n#### 基础认证 Loader\n\n```typescript\nimport { createAuthLoader, configureLoaders } from '@gulibs/vgrove-ui';\n\n// 全局配置 (一次性配置)\nconfigureLoaders({\n  authCheck: async () => {\n    const token = localStorage.getItem('token');\n    if (!token) return null;\n    return await fetchUserProfile(token);\n  },\n  loginPath: '/auth/login',\n  forbiddenPath: '/403',\n  publicPaths: ['/auth/*', '/public/*', '/404', '/403']\n});\n\n// 创建认证 Loader\nconst authLoader = createAuthLoader();\n\n// 在路由中使用\n{\n  path: '/dashboard',\n  element: <Dashboard />,\n  loader: authLoader  // 需要用户登录\n}\n```\n\n#### 角色检查 Loader\n\n```typescript\nimport { createRoleLoader } from '@gulibs/vgrove-ui';\n\n// 检查用户是否具有指定角色\nconst adminLoader = createRoleLoader(['admin', 'super-admin']);\nconst moderatorLoader = createRoleLoader(['moderator']);\n\n// 使用示例\n{\n  path: '/admin',\n  element: <AdminPanel />,\n  loader: adminLoader  // 只有 admin 或 super-admin 可以访问\n}\n```\n\n#### 权限检查 Loader\n\n```typescript\nimport { createPermissionLoader } from '@gulibs/vgrove-ui';\n\n// 检查用户是否具有指定权限\nconst userManagementLoader = createPermissionLoader([\n  'user.read',\n  'user.write'\n]);\n\n// 使用示例\n{\n  path: '/users',\n  element: <UserManagement />,\n  loader: userManagementLoader  // 需要用户读写权限\n}\n```\n\n### 核心 Action API\n\n#### 登录 Action\n\n```typescript\nimport { createLoginAction } from '@gulibs/vgrove-ui';\n\nconst loginAction = createLoginAction(async (credentials) => {\n  const response = await fetch('/api/auth/login', {\n    method: 'POST',\n    headers: { 'Content-Type': 'application/json' },\n    body: JSON.stringify(credentials)\n  });\n\n  if (!response.ok) {\n    const error = await response.json();\n    throw new Error(error.message || '登录失败');\n  }\n\n  const { user, token } = await response.json();\n  localStorage.setItem('authToken', token);\n\n  return { user, token };\n});\n\n// 在路由中使用\n{\n  path: '/auth/login',\n  element: <LoginPage />,\n  action: loginAction\n}\n```\n\n#### 自定义 Action\n\n```typescript\nimport { createAction } from '@gulibs/vgrove-ui';\n\nconst updateProfileAction = createAction({\n  // 表单验证\n  validator: async (formData) => {\n    const errors = [];\n    if (!formData.get('name')) {\n      errors.push({ field: 'name', message: '姓名不能为空' });\n    }\n    return errors;\n  },\n\n  // 数据处理\n  processor: async (formData, user) => {\n    return await updateUserProfile(user.id, {\n      name: formData.get('name'),\n      email: formData.get('email')\n    });\n  },\n\n  requireAuth: true,\n  successRedirect: '/profile'\n});\n```\n\n## 📝 表单组件系统\n\nVGrove UI 提供了基于 React Hook Form 的完整表单解决方案，包含 15+ 个企业级表单组件和智能表单状态管理。\n\n### 核心表单组件\n\n#### Form 表单容器\n\nForm 组件是表单系统的核心，提供了统一的表单处理、验证和状态管理。\n\n```typescript\nimport { Form, FormItem, Input, Button } from '@gulibs/vgrove-ui';\n\nfunction UserForm() {\n  const handleSubmit = async (data) => {\n    console.log('表单数据:', data);\n    // 处理表单提交\n  };\n\n  const handleError = (errors) => {\n    console.log('验证错误:', errors);\n  };\n\n  return (\n    <Form\n      mode=\"onChange\"  // 验证模式: onChange | onBlur | onSubmit | all\n      watchNames={['username', 'email']}  // 监听字段，控制按钮状态\n      onFinish={handleSubmit}\n      onFinishError={handleError}\n      footer={{\n        submitText: '提交',\n        resetText: '重置',\n        hiddenReset: false\n      }}\n    >\n      <FormItem name=\"username\" label=\"用户名\" required>\n        <Input placeholder=\"请输入用户名\" />\n      </FormItem>\n\n      <FormItem name=\"email\" label=\"邮箱\" required>\n        <Input type=\"email\" placeholder=\"请输入邮箱\" />\n      </FormItem>\n    </Form>\n  );\n}\n```\n\n**Form 组件特性：**\n- **智能按钮状态**: `watchNames` 属性自动控制提交按钮启用 / 禁用\n- **多种验证模式**: 支持实时验证和提交时验证\n- **可配置页脚**: 自定义提交和重置按钮\n- **完整 TypeScript 支持**: 类型安全的表单处理\n\n#### FormItem 表单项包装器\n\nFormItem 为表单字段提供统一的标签、验证和错误显示。\n\n```typescript\nimport { FormItem, Input, Textarea, Select } from '@gulibs/vgrove-ui';\n\nfunction ProfileForm() {\n  return (\n    <Form onFinish={handleSubmit}>\n      {/* 基础表单项 */}\n      <FormItem\n        name=\"name\"\n        label=\"姓名\"\n        required\n        help=\"请输入您的真实姓名\"\n        rules={{\n          required: { value: true, message: '姓名必填' },\n          minLength: { value: 2, message: '姓名至少2个字符' }\n        }}\n      >\n        <Input />\n      </FormItem>\n\n      {/* 带工具提示的表单项 */}\n      <FormItem\n        name=\"bio\"\n        label=\"个人简介\"\n        tooltip={{\n          content: \"简要介绍您的背景和经历\",\n          placement: \"top\"\n        }}\n      >\n        <Textarea rows={4} />\n      </FormItem>\n\n      {/* 自定义验证状态 */}\n      <FormItem\n        name=\"status\"\n        label=\"状态\"\n        validateStatus=\"success\"\n      >\n        <Select>\n          <option value=\"active\">活跃</option>\n          <option value=\"inactive\">非活跃</option>\n        </Select>\n      </FormItem>\n    </Form>\n  );\n}\n```\n\n**FormItem 特性：**\n- **灵活布局**: 支持垂直和水平布局\n- **工具提示**: 内置 Tooltip 支持\n- **验证状态**: 视觉化验证反馈\n- **帮助文本**: 支持帮助信息显示\n\n#### FormGroup 表单分组\n\n用于将相关的表单字段分组显示。\n\n```typescript\nimport { FormGroup, FormItem, Input } from '@gulibs/vgrove-ui';\n\nfunction AddressForm() {\n  return (\n    <Form onFinish={handleSubmit}>\n      <FormGroup title=\"基本信息\">\n        <FormItem name=\"firstName\" label=\"名\">\n          <Input />\n        </FormItem>\n        <FormItem name=\"lastName\" label=\"姓\">\n          <Input />\n        </FormItem>\n      </FormGroup>\n\n      <FormGroup title=\"联系信息\">\n        <FormItem name=\"email\" label=\"邮箱\">\n          <Input type=\"email\" />\n        </FormItem>\n        <FormItem name=\"phone\" label=\"电话\">\n          <Input type=\"tel\" />\n        </FormItem>\n      </FormGroup>\n    </Form>\n  );\n}\n```\n\n### 输入组件\n\n#### Input 输入框\n\n基于 HeroUI Input 的增强版本，集成了表单验证和状态管理。\n\n```typescript\nimport { Form, FormItem, Input } from '@gulibs/vgrove-ui';\n\nfunction InputExamples() {\n  return (\n    <Form onFinish={handleSubmit}>\n      {/* 基础输入框 */}\n      <FormItem name=\"username\" label=\"用户名\" required>\n        <Input\n          placeholder=\"请输入用户名\"\n          startContent={<UserIcon />}\n        />\n      </FormItem>\n\n      {/* 密码输入框 */}\n      <FormItem name=\"password\" label=\"密码\" required>\n        <Input\n          type=\"password\"\n          placeholder=\"请输入密码\"\n          endContent={<EyeIcon />}\n        />\n      </FormItem>\n\n      {/* 带验证规则的输入框 */}\n      <FormItem\n        name=\"email\"\n        label=\"邮箱\"\n        required\n        rules={{\n          pattern: {\n            value: /^[^\\\\s@]+@[^\\\\s@]+\\\\.[^\\\\s@]+$/,\n            message: '请输入有效的邮箱地址'\n          }\n        }}\n      >\n        <Input\n          type=\"email\"\n          placeholder=\"example@domain.com\"\n        />\n      </FormItem>\n\n      {/* 数字输入框 */}\n      <FormItem name=\"age\" label=\"年龄\">\n        <Input\n          type=\"number\"\n          min={1}\n          max={120}\n          placeholder=\"请输入年龄\"\n        />\n      </FormItem>\n    </Form>\n  );\n}\n```\n\n#### Textarea 多行文本\n\n```typescript\nimport { FormItem, Textarea } from '@gulibs/vgrove-ui';\n\n<FormItem\n  name=\"description\"\n  label=\"描述\"\n  rules={{\n    maxLength: { value: 500, message: '描述不能超过500字符' }\n  }}\n>\n  <Textarea\n    rows={4}\n    placeholder=\"请输入详细描述...\"\n    maxLength={500}\n  />\n</FormItem>\n```\n\n#### Autocomplete 自动完成\n\n```typescript\nimport { FormItem, Autocomplete } from '@gulibs/vgrove-ui';\n\nconst suggestions = [\n  { value: 'apple', label: '苹果' },\n  { value: 'banana', label: '香蕉' },\n  { value: 'orange', label: '橙子' }\n];\n\n<FormItem name=\"fruit\" label=\"选择水果\">\n  <Autocomplete\n    options={suggestions}\n    placeholder=\"输入或选择水果\"\n    allowsCustomValue\n  />\n</FormItem>\n```\n\n### 选择组件\n\n#### Select 下拉选择\n\n```typescript\nimport { FormItem, Select } from '@gulibs/vgrove-ui';\n\n<FormItem name=\"category\" label=\"分类\" required>\n  <Select placeholder=\"请选择分类\">\n    <option value=\"tech\">技术</option>\n    <option value=\"design\">设计</option>\n    <option value=\"business\">商业</option>\n  </Select>\n</FormItem>\n```\n\n#### Radio 单选按钮\n\n```typescript\nimport { FormItem, Radio, RadioGroup } from '@gulibs/vgrove-ui';\n\n// 单个单选按钮\n<FormItem name=\"agree\" label=\"同意条款\">\n  <Radio value=\"yes\">我同意用户协议</Radio>\n</FormItem>\n\n// 单选按钮组\n<FormItem name=\"gender\" label=\"性别\">\n  <RadioGroup orientation=\"horizontal\">\n    <Radio value=\"male\">男</Radio>\n    <Radio value=\"female\">女</Radio>\n    <Radio value=\"other\">其他</Radio>\n  </RadioGroup>\n</FormItem>\n```\n\n#### Checkbox 复选框\n\n```typescript\nimport { FormItem, Checkbox, CheckboxGroup } from '@gulibs/vgrove-ui';\n\n// 单个复选框\n<FormItem name=\"newsletter\" label=\"订阅\">\n  <Checkbox>订阅邮件通知</Checkbox>\n</FormItem>\n\n// 复选框组\n<FormItem name=\"interests\" label=\"兴趣爱好\">\n  <CheckboxGroup>\n    <Checkbox value=\"reading\">阅读</Checkbox>\n    <Checkbox value=\"travel\">旅行</Checkbox>\n    <Checkbox value=\"music\">音乐</Checkbox>\n    <Checkbox value=\"sports\">运动</Checkbox>\n  </CheckboxGroup>\n</FormItem>\n```\n\n### 特殊输入组件\n\n#### Switch 开关\n\n```typescript\nimport { FormItem, Switch } from '@gulibs/vgrove-ui';\n\n<FormItem name=\"notifications\" label=\"推送通知\">\n  <Switch\n    defaultSelected\n    color=\"success\"\n    startContent={<BellIcon />}\n    endContent={<BellSlashIcon />}\n  >\n    启用推送通知\n  </Switch>\n</FormItem>\n```\n\n#### Slider 滑动条\n\n```typescript\nimport { FormItem, Slider } from '@gulibs/vgrove-ui';\n\n<FormItem name=\"volume\" label=\"音量\">\n  <Slider\n    step={10}\n    minValue={0}\n    maxValue={100}\n    defaultValue={50}\n    className=\"max-w-md\"\n  />\n</FormItem>\n```\n\n#### DatePicker 日期选择器\n\n```typescript\nimport { FormItem, DatePicker } from '@gulibs/vgrove-ui';\n\n<FormItem name=\"birthdate\" label=\"出生日期\">\n  <DatePicker\n    label=\"选择日期\"\n    className=\"max-w-sm\"\n  />\n</FormItem>\n\n<FormItem name=\"appointment\" label=\"预约时间\">\n  <DatePicker\n    label=\"选择日期时间\"\n    showTimeSelect\n    timeFormat=\"HH:mm\"\n    timeIntervals={15}\n    dateFormat=\"MMMM d, yyyy h:mm aa\"\n  />\n</FormItem>\n```\n\n#### TimeInput 时间输入\n\n```typescript\nimport { FormItem, TimeInput } from '@gulibs/vgrove-ui';\n\n<FormItem name=\"startTime\" label=\"开始时间\">\n  <TimeInput\n    label=\"时间\"\n    hourCycle={24}\n  />\n</FormItem>\n```\n\n### 表单验证\n\n#### 内置验证规则\n\n```typescript\nimport { Form, FormItem, Input } from '@gulibs/vgrove-ui';\n\nfunction ValidationExample() {\n  return (\n    <Form onFinish={handleSubmit}>\n      <FormItem\n        name=\"username\"\n        label=\"用户名\"\n        required\n        rules={{\n          required: { value: true, message: '用户名必填' },\n          minLength: { value: 3, message: '用户名至少3个字符' },\n          maxLength: { value: 20, message: '用户名最多20个字符' },\n          pattern: {\n            value: /^[a-zA-Z0-9_]+$/,\n            message: '用户名只能包含字母、数字和下划线'\n          }\n        }}\n      >\n        <Input placeholder=\"请输入用户名\" />\n      </FormItem>\n\n      <FormItem\n        name=\"password\"\n        label=\"密码\"\n        required\n        rules={{\n          required: { value: true, message: '密码必填' },\n          minLength: { value: 6, message: '密码至少6个字符' },\n          validate: {\n            hasNumber: (value) => /\\\\d/.test(value) || '密码必须包含数字',\n            hasLetter: (value) => /[a-zA-Z]/.test(value) || '密码必须包含字母'\n          }\n        }}\n      >\n        <Input type=\"password\" placeholder=\"请输入密码\" />\n      </FormItem>\n    </Form>\n  );\n}\n```\n\n#### 自定义验证\n\n```typescript\n// 异步验证\nconst checkUsernameAvailability = async (username) => {\n  const response = await fetch(`/api/check-username/${username}`);\n  const { available } = await response.json();\n  return available || '用户名已被占用';\n};\n\n<FormItem\n  name=\"username\"\n  label=\"用户名\"\n  rules={{\n    validate: {\n      availability: checkUsernameAvailability\n    }\n  }}\n>\n  <Input placeholder=\"请输入用户名\" />\n</FormItem>\n```\n\n### FormInstance API\n\nVGrove UI 提供了增强的 FormInstance 接口，它扩展了 react-hook-form 的 UseFormReturn，并添加了更直观的 API 方法。\n\n#### 接口定义\n\n```typescript\ninterface FormInstance<TFieldValues> extends UseFormReturn<TFieldValues> {\n  // 基础方法\n  getFieldValue: (name: FieldPath<TFieldValues>) => any;\n  getFieldsValue: () => TFieldValues;\n  setFieldValue: (name: FieldPath<TFieldValues>, value: any) => void;\n  setFieldsValue: (values: Partial<TFieldValues>) => void;\n  resetFields: () => void;\n\n  // 验证方法\n  validateFields: () => Promise<boolean>;\n  setFieldError: (name: FieldPath<TFieldValues>, error: any) => void;\n  clearFieldErrors: (names?: FieldPath<TFieldValues>[]) => void;\n}\n```\n\n#### useForm Hook 使用\n\n```typescript\nimport { useForm } from '@gulibs/vgrove-ui';\n\nfunction UserForm() {\n  // useForm 现在返回 FormInstance 而非 UseFormReturn\n  const form = useForm<{ username: string; email: string }>();\n\n  const handleTestAPI = () => {\n    // 新增的便捷方法\n    const username = form.getFieldValue('username');\n    const allValues = form.getFieldsValue();\n\n    form.setFieldValue('username', 'newValue');\n    form.setFieldsValue({ username: 'test', email: 'test@example.com' });\n\n    form.resetFields();\n\n    form.validateFields().then(isValid => {\n      console.log('表单验证结果:', isValid);\n    });\n\n    form.setFieldError('username', { type: 'manual', message: '用户名已存在' });\n    form.clearFieldErrors(['username']);\n\n    // 仍然可以使用所有原生 react-hook-form 方法\n    console.log('FormState:', form.formState);\n    console.log('Watch:', form.watch());\n  };\n\n  return (\n    <Form form={form} onFinish={console.log}>\n      <FormItem name=\"username\" label=\"用户名\">\n        <Input />\n      </FormItem>\n      <FormItem name=\"email\" label=\"邮箱\">\n        <Input type=\"email\" />\n      </FormItem>\n      <Button onClick={handleTestAPI}>测试 API</Button>\n    </Form>\n  );\n}\n```\n\n#### createFormInstance 工具函数\n\n如果您已经有一个 UseFormReturn 实例，可以使用 `createFormInstance` 将其转换为 FormInstance：\n\n```typescript\nimport { useForm as useRHFForm } from 'react-hook-form';\nimport { createFormInstance } from '@gulibs/vgrove-ui';\n\nfunction MyComponent() {\n  // 使用原生 react-hook-form\n  const rhfForm = useRHFForm();\n\n  // 转换为 FormInstance\n  const form = createFormInstance(rhfForm);\n\n  // 现在可以使用增强的 API\n  const handleSubmit = () => {\n    const values = form.getFieldsValue();\n    console.log('表单值:', values);\n  };\n\n  return (\n    <Form form={form} onFinish={handleSubmit}>\n      {/* 表单内容 */}\n    </Form>\n  );\n}\n```\n\n#### API 方法详解\n\n| 方法 | 说明 | 对应的 react-hook-form 方法 |\n|------|------|----------------------------|\n| `getFieldValue(name)` | 获取单个字段值 | `getValues(name)` |\n| `getFieldsValue()` | 获取所有字段值 | `getValues()` |\n| `setFieldValue(name, value)` | 设置单个字段值 | `setValue(name, value)` |\n| `setFieldsValue(values)` | 批量设置字段值 | 多次调用 `setValue` |\n| `resetFields()` | 重置表单 | `reset()` |\n| `validateFields()` | 验证表单并返回结果 | `trigger()` |\n| `setFieldError(name, error)` | 设置字段错误 | `setError(name, error)` |\n| `clearFieldErrors(names?)` | 清除字段错误 | `clearErrors(names)` |\n\n#### 与原生 react-hook-form 的兼容性\n\nFormInstance 完全兼容 react-hook-form 的 UseFormReturn 接口，您可以无缝使用所有原生方法：\n\n```typescript\nfunction CompatibilityExample() {\n  const form = useForm();\n\n  const testCompatibility = () => {\n    // VGrove UI 增强方法\n    form.setFieldsValue({ name: 'test' });\n\n    // 原生 react-hook-form 方法\n    form.register('username');\n    form.handleSubmit(console.log);\n    form.formState.errors;\n    form.control;\n\n    // 两者可以混合使用\n    const isValid = await form.validateFields(); // VGrove UI 方法\n    if (!isValid) {\n      form.setFocus('username'); // 原生方法\n    }\n  };\n\n  return <Button onClick={testCompatibility}>测试兼容性</Button>;\n}\n```\n\n### 表单 Hooks\n\n#### useWatch 监听字段变化\n\n```typescript\nimport { useWatch, useFieldValue, useFieldsWatcher } from '@gulibs/vgrove-ui';\n\nfunction FormWithHooks() {\n  // 监听单个字段\n  const username = useFieldValue('username');\n\n  // 监听多个字段\n  const [firstName, lastName] = useWatch(['firstName', 'lastName']);\n\n  // 监听字段并获取状态\n  const { values, allFilled, anyFilled } = useFieldsWatcher(['name', 'email']);\n\n  return (\n    <Form>\n      <FormItem name=\"username\" label=\"用户名\">\n        <Input />\n      </FormItem>\n\n      <FormItem name=\"firstName\" label=\"名\">\n        <Input />\n      </FormItem>\n\n      <FormItem name=\"lastName\" label=\"姓\">\n        <Input />\n      </FormItem>\n\n      {/* 实时显示 */}\n      <div className=\"p-4 bg-gray-50 rounded\">\n        <p>用户名: {username}</p>\n        <p>全名: {firstName && lastName ? `${firstName} ${lastName}` : '未完整'}</p>\n        <p>表单状态: {allFilled ? '完成' : anyFilled ? '部分完成' : '未开始'}</p>\n      </div>\n    </Form>\n  );\n}\n```\n\n#### useFormContext 获取表单上下文\n\nuseFormContext 现在返回 FormInstance 而非 UseFormReturn，提供了更便捷的 API：\n\n```typescript\nimport { useFormContext } from '@gulibs/vgrove-ui';\n\nfunction CustomFormComponent() {\n  // 获取 FormInstance，包含所有增强方法\n  const form = useFormContext();\n\n  const handleReset = () => {\n    // 使用新的便捷方法\n    form.setFieldsValue({ username: '', email: '' });\n    // 或者使用原生方法\n    form.setValue('username', '');\n    form.setValue('email', '');\n  };\n\n  const handleQuickFill = () => {\n    // 批量设置字段值\n    form.setFieldsValue({\n      username: 'testuser',\n      email: 'test@example.com'\n    });\n  };\n\n  const handleValidate = async () => {\n    // 使用增强的验证方法\n    const isValid = await form.validateFields();\n    if (!isValid) {\n      console.log('表单验证失败');\n    }\n  };\n\n  return (\n    <div className=\"space-y-4\">\n      <div className=\"flex space-x-2\">\n        <Button onClick={handleReset} disabled={form.formState.isSubmitting}>\n          重置表单\n        </Button>\n\n        <Button onClick={handleQuickFill} variant=\"flat\">\n          快速填充\n        </Button>\n\n        <Button onClick={handleValidate} variant=\"flat\">\n          验证表单\n        </Button>\n      </div>\n\n      {Object.keys(form.formState.errors).length > 0 && (\n        <div className=\"text-red-500\">\n          表单有 {Object.keys(form.formState.errors).length} 个错误\n        </div>\n      )}\n\n      {/* 显示当前表单值 */}\n      <div className=\"p-4 bg-gray-50 rounded\">\n        <h4 className=\"font-semibold mb-2\">当前表单值:</h4>\n        <pre className=\"text-sm\">\n          {JSON.stringify(form.getFieldsValue(), null, 2)}\n        </pre>\n      </div>\n    </div>\n  );\n}\n```\n\n#### 在表单外部使用 FormInstance\n\n您可以通过全局注册的方式在表单外部访问 FormInstance：\n\n```typescript\nimport { useForm, registerFormInstance, getFormInstance } from '@gulibs/vgrove-ui';\n\nfunction FormComponent() {\n  const form = useForm({\n    registerAsGlobal: true,\n    globalKey: 'userForm' // 可选，不提供则作为默认实例\n  });\n\n  return (\n    <Form form={form}>\n      <FormItem name=\"username\" label=\"用户名\">\n        <Input />\n      </FormItem>\n    </Form>\n  );\n}\n\nfunction ExternalController() {\n  const handleFillForm = () => {\n    // 获取全局注册的表单实例\n    const form = getFormInstance('userForm');\n    if (form) {\n      form.setFieldValue('username', '外部设置的值');\n    }\n  };\n\n  const handleValidateForm = async () => {\n    const form = getFormInstance('userForm');\n    if (form) {\n      const isValid = await form.validateFields();\n      console.log('外部验证结果:', isValid);\n    }\n  };\n\n  return (\n    <div className=\"space-x-2\">\n      <Button onClick={handleFillForm}>填充表单</Button>\n      <Button onClick={handleValidateForm}>验证表单</Button>\n    </div>\n  );\n}\n```\n\n### 完整表单示例\n\n以下示例展示了如何使用新的 FormInstance API 构建完整的表单：\n\n```typescript\nimport React from 'react';\nimport {\n  Form,\n  FormItem,\n  FormGroup,\n  Input,\n  Select,\n  Textarea,\n  Checkbox,\n  Switch,\n  DatePicker,\n  useForm,\n  Button\n} from '@gulibs/vgrove-ui';\n\ninterface UserFormData {\n  firstName: string;\n  lastName: string;\n  email: string;\n  birthdate?: string;\n  position: string;\n  bio?: string;\n  newsletter: boolean;\n  notifications: boolean;\n}\n\nfunction CompleteUserForm() {\n  // 使用增强的 useForm，返回 FormInstance\n  const form = useForm<UserFormData>({\n    mode: 'onChange',\n    defaultValues: {\n      newsletter: false,\n      notifications: true\n    }\n  });\n\n  const handleSubmit = async (data: UserFormData) => {\n    try {\n      console.log('提交数据:', data);\n\n      // 使用 FormInstance 方法验证\n      const isValid = await form.validateFields();\n      if (!isValid) {\n        console.log('表单验证失败');\n        return;\n      }\n\n      // 调用 API 保存数据\n      await saveUserProfile(data);\n\n      // 成功后可以重置表单\n      form.resetFields();\n    } catch (error) {\n      console.error('保存失败:', error);\n      // 设置错误信息\n      form.setFieldError('email', {\n        type: 'manual',\n        message: '保存失败，请检查邮箱是否已被使用'\n      });\n    }\n  };\n\n  const handleError = (errors: any) => {\n    console.log('验证错误:', errors);\n  };\n\n  // 快速填充示例数据\n  const handleQuickFill = () => {\n    form.setFieldsValue({\n      firstName: '张',\n      lastName: '三',\n      email: 'zhangsan@example.com',\n      position: 'developer',\n      bio: '这是一个测试用户的个人简介。'\n    });\n  };\n\n  // 获取当前表单值\n  const handleGetValues = () => {\n    const allValues = form.getFieldsValue();\n    const firstName = form.getFieldValue('firstName');\n    console.log('所有值:', allValues);\n    console.log('名字:', firstName);\n  };\n\n  return (\n    <div className=\"max-w-2xl mx-auto p-6 space-y-6\">\n      {/* 表单操作按钮 */}\n      <div className=\"flex space-x-2 mb-4\">\n        <Button onClick={handleQuickFill} variant=\"flat\">\n          快速填充\n        </Button>\n        <Button onClick={handleGetValues} variant=\"flat\">\n          获取表单值\n        </Button>\n        <Button\n          onClick={() => form.resetFields()}\n          variant=\"flat\"\n          color=\"warning\"\n        >\n          重置表单\n        </Button>\n      </div>\n\n      <Form\n        form={form}\n        watchNames={['firstName', 'lastName', 'email']}\n        onFinish={handleSubmit}\n        onFinishError={handleError}\n        footer={{\n          submitText: '保存用户信息',\n          resetText: '重置表单'\n        }}\n      >\n      <FormGroup title=\"基本信息\">\n        <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n          <FormItem name=\"firstName\" label=\"名\" required>\n            <Input placeholder=\"请输入名\" />\n          </FormItem>\n\n          <FormItem name=\"lastName\" label=\"姓\" required>\n            <Input placeholder=\"请输入姓\" />\n          </FormItem>\n        </div>\n\n        <FormItem\n          name=\"email\"\n          label=\"邮箱\"\n          required\n          rules={{\n            pattern: {\n              value: /^[^\\\\s@]+@[^\\\\s@]+\\\\.[^\\\\s@]+$/,\n              message: '请输入有效的邮箱地址'\n            }\n          }}\n        >\n          <Input type=\"email\" placeholder=\"example@domain.com\" />\n        </FormItem>\n\n        <FormItem name=\"birthdate\" label=\"出生日期\">\n          <DatePicker className=\"max-w-sm\" />\n        </FormItem>\n      </FormGroup>\n\n      <FormGroup title=\"工作信息\">\n        <FormItem name=\"position\" label=\"职位\">\n          <Select placeholder=\"请选择职位\">\n            <option value=\"developer\">开发工程师</option>\n            <option value=\"designer\">设计师</option>\n            <option value=\"pm\">产品经理</option>\n            <option value=\"other\">其他</option>\n          </Select>\n        </FormItem>\n\n        <FormItem name=\"bio\" label=\"个人简介\">\n          <Textarea\n            rows={4}\n            placeholder=\"请简要介绍您的背景和经历...\"\n            maxLength={500}\n          />\n        </FormItem>\n      </FormGroup>\n\n      <FormGroup title=\"设置\">\n        <FormItem name=\"newsletter\" label=\"邮件订阅\">\n          <Checkbox>订阅产品更新和新闻</Checkbox>\n        </FormItem>\n\n        <FormItem name=\"notifications\" label=\"推送通知\">\n          <Switch defaultSelected>\n            启用桌面通知\n          </Switch>\n        </FormItem>\n      </FormGroup>\n    </Form>\n  );\n}\n\nexport default CompleteUserForm;\n```\n\n## 🏗️ 布局和 UI 组件系统\n\nVGrove UI 提供了完整的布局系统和基础 UI 组件，支持响应式设计和灵活配置。\n\n### 核心布局组件\n\n#### VGroveLayout 主布局容器\n\nVGroveLayout 是应用的主要布局容器，提供了完整的页面结构管理。\n\n```typescript\nimport { VGroveLayout } from '@gulibs/vgrove-ui';\n\n// 侧边栏菜单配置\nconst menuItems = [\n  {\n    key: 'dashboard',\n    label: '仪表板',\n    href: '/dashboard',\n    icon: <DashboardIcon />,\n    badge: { content: '新', color: 'success' }\n  },\n  {\n    key: 'users',\n    label: '用户管理',\n    icon: <UsersIcon />,\n    children: [\n      { key: 'user-list', label: '用户列表', href: '/users' },\n      { key: 'user-roles', label: '角色管理', href: '/users/roles' },\n      { key: 'user-permissions', label: '权限管理', href: '/users/permissions' }\n    ]\n  },\n  {\n    key: 'settings',\n    label: '系统设置',\n    href: '/settings',\n    icon: <SettingsIcon />,\n    requiredRoles: ['admin'] // 需要管理员角色\n  }\n];\n\nfunction App() {\n  return (\n    <VGroveProvider>\n      <VGroveLayout\n        items={menuItems}\n        onCollapsedChange={(collapsed) => {\n          console.log('侧边栏折叠状态:', collapsed);\n        }}\n        navbarProps={{\n          brandProps: {\n            name: \"我的应用\",\n            logo: <AppLogo />\n          },\n          userMenuProps: {\n            user: currentUser,\n            onLogout: handleLogout\n          }\n        }}\n        sidebarProps={{\n          defaultCollapsed: false,\n          collapsible: true\n        }}\n        footerProps={{\n          copyright: \"© 2024 我的公司\",\n          links: [\n            { label: '隐私政策', href: '/privacy' },\n            { label: '服务条款', href: '/terms' }\n          ]\n        }}\n        classNames={{\n          layout: \"min-h-screen\",\n          wrapper: \"max-w-full\",\n          content: \"p-6\"\n        }}\n      >\n        {/* 应用路由内容 */}\n        <RouterProvider router={router} />\n      </VGroveLayout>\n    </VGroveProvider>\n  );\n}\n```\n\n**VGroveLayout 特性：**\n- **响应式布局**: 自动适配不同屏幕尺寸\n- **可配置组件**: 灵活配置导航栏、侧边栏、页脚\n- **实例管理**: 防止多实例冲突的安全机制\n- **权限集成**: 支持基于角色的菜单显示\n\n#### VGroveNavbar 导航栏\n\n```typescript\nimport { VGroveNavbar } from '@gulibs/vgrove-ui';\n\nfunction CustomNavbar() {\n  return (\n    <VGroveNavbar\n      brandProps={{\n        name: \"VGrove UI\",\n        logo: <Logo />,\n        onClick: () => navigate('/')\n      }}\n      searchProps={{\n        placeholder: \"搜索功能、用户、内容...\",\n        onSearch: (query) => handleSearch(query)\n      }}\n      userMenuProps={{\n        user: {\n          id: '1',\n          name: '张三',\n          email: 'zhangsan@example.com',\n          avatar: '/avatars/zhangsan.jpg'\n        },\n        menuItems: [\n          { key: 'profile', label: '个人资料', href: '/profile' },\n          { key: 'settings', label: '账号设置', href: '/settings' },\n          { type: 'divider' },\n          { key: 'logout', label: '退出登录', color: 'danger', onAction: handleLogout }\n        ]\n      }}\n      notificationProps={{\n        items: notifications,\n        onMarkAsRead: handleMarkAsRead,\n        onClearAll: handleClearAll\n      }}\n      themeSwitch={{\n        variant: 'circle',\n        showLabel: false\n      }}\n      classNames={{\n        base: \"bg-background/70 backdrop-blur-lg\",\n        wrapper: \"px-6\",\n        brand: \"font-bold\"\n      }}\n    />\n  );\n}\n```\n\n#### VGroveSidebar 侧边栏\n\n```typescript\nimport { VGroveSidebar } from '@gulibs/vgrove-ui';\n\nconst sidebarMenus = [\n  {\n    key: 'main',\n    type: 'group',\n    title: '主要功能',\n    items: [\n      {\n        key: 'dashboard',\n        label: '仪表板',\n        href: '/dashboard',\n        icon: <DashboardIcon />,\n        shortcut: 'Cmd+D'\n      },\n      {\n        key: 'analytics',\n        label: '数据分析',\n        href: '/analytics',\n        icon: <ChartIcon />,\n        badge: { content: 'Beta', color: 'warning' }\n      }\n    ]\n  },\n  {\n    key: 'management',\n    type: 'group',\n    title: '管理功能',\n    items: [\n      {\n        key: 'users',\n        label: '用户管理',\n        icon: <UsersIcon />,\n        children: [\n          { key: 'user-list', label: '用户列表', href: '/users' },\n          { key: 'user-groups', label: '用户组', href: '/users/groups' }\n        ]\n      }\n    ]\n  }\n];\n\nfunction CustomSidebar() {\n  return (\n    <VGroveSidebar\n      menuItems={sidebarMenus}\n      defaultCollapsed={false}\n      collapsible={true}\n      onCollapsedChange={(collapsed) => {\n        localStorage.setItem('sidebarCollapsed', collapsed.toString());\n      }}\n      headerContent={\n        <div className=\"px-3 py-2\">\n          <Brand name=\"VGrove UI\" logo={<Logo />} />\n        </div>\n      }\n      footerContent={\n        <div className=\"px-3 py-2 text-xs text-default-400\">\n          版本 v1.0.0\n        </div>\n      }\n      classNames={{\n        base: \"border-r border-divider\",\n        header: \"border-b border-divider\",\n        content: \"py-2\",\n        footer: \"border-t border-divider\"\n      }}\n    />\n  );\n}\n```\n\n#### VGroveFooter 页脚\n\n```typescript\nimport { VGroveFooter, DefaultFooter } from '@gulibs/vgrove-ui';\n\n// 使用默认页脚\nfunction SimpleFooter() {\n  return (\n    <DefaultFooter\n      copyright=\"© 2024 我的公司\"\n      links={[\n        { label: '关于我们', href: '/about' },\n        { label: '联系我们', href: '/contact' },\n        { label: '隐私政策', href: '/privacy' }\n      ]}\n    />\n  );\n}\n\n// 自定义页脚\nfunction CustomFooter() {\n  return (\n    <VGroveFooter className=\"bg-content1 border-t border-divider\">\n      <div className=\"max-w-7xl mx-auto px-6 py-8\">\n        <div className=\"grid grid-cols-1 md:grid-cols-4 gap-8\">\n          <div>\n            <h3 className=\"font-semibold mb-3\">产品</h3>\n            <ul className=\"space-y-2 text-sm text-default-600\">\n              <li><a href=\"/features\">功能特性</a></li>\n              <li><a href=\"/pricing\">价格方案</a></li>\n              <li><a href=\"/api\">API 文档</a></li>\n            </ul>\n          </div>\n\n          <div>\n            <h3 className=\"font-semibold mb-3\">支持</h3>\n            <ul className=\"space-y-2 text-sm text-default-600\">\n              <li><a href=\"/docs\">文档中心</a></li>\n              <li><a href=\"/support\">技术支持</a></li>\n              <li><a href=\"/community\">社区论坛</a></li>\n            </ul>\n          </div>\n\n          <div>\n            <h3 className=\"font-semibold mb-3\">公司</h3>\n            <ul className=\"space-y-2 text-sm text-default-600\">\n              <li><a href=\"/about\">关于我们</a></li>\n              <li><a href=\"/careers\">招聘信息</a></li>\n              <li><a href=\"/contact\">联系我们</a></li>\n            </ul>\n          </div>\n\n          <div>\n            <h3 className=\"font-semibold mb-3\">关注我们</h3>\n            <div className=\"flex space-x-3\">\n              <a href=\"#\" className=\"text-default-400 hover:text-default-600\">\n                <TwitterIcon size={20} />\n              </a>\n              <a href=\"#\" className=\"text-default-400 hover:text-default-600\">\n                <GithubIcon size={20} />\n              </a>\n              <a href=\"#\" className=\"text-default-400 hover:text-default-600\">\n                <DiscordIcon size={20} />\n              </a>\n            </div>\n          </div>\n        </div>\n\n        <div className=\"border-t border-divider mt-8 pt-6 text-center text-sm text-default-600\">\n          © 2024 我的公司. 保留所有权利.\n        </div>\n      </div>\n    </VGroveFooter>\n  );\n}\n```\n\n### 页面组件\n\n#### PageContainer 页面容器\n\nPageContainer 为页面内容提供统一的容器和间距管理。\n\n```typescript\nimport { PageContainer, PageTitle } from '@gulibs/vgrove-ui';\n\nfunction DashboardPage() {\n  return (\n    <PageContainer\n      title=\"数据仪表板\"\n      subtitle=\"查看您的业务数据和分析报告\"\n      breadcrumbs={[\n        { label: '首页', href: '/' },\n        { label: '仪表板' }\n      ]}\n      actions={[\n        <Button key=\"export\" variant=\"flat\" startContent={<ExportIcon />}>\n          导出数据\n        </Button>,\n        <Button key=\"settings\" variant=\"flat\" startContent={<SettingsIcon />}>\n          设置\n        </Button>\n      ]}\n      classNames={{\n        title: \"text-3xl font-bold\",\n        main: \"mt-6 space-y-6\"\n      }}\n    >\n      {/* 页面内容 */}\n      <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6\">\n        <StatCard title=\"总用户数\" value=\"1,234\" trend=\"+12%\" />\n        <StatCard title=\"活跃用户\" value=\"856\" trend=\"+8%\" />\n        <StatCard title=\"新增用户\" value=\"42\" trend=\"+15%\" />\n      </div>\n\n      <div className=\"grid grid-cols-1 lg:grid-cols-2 gap-6\">\n        <ChartCard title=\"用户增长趋势\" />\n        <ChartCard title=\"活跃度分析\" />\n      </div>\n    </PageContainer>\n  );\n}\n```\n\n#### PageTitle 页面标题\n\nPageTitle 组件提供 SEO 友好的页面标题管理和面包屑导航。\n\n```typescript\nimport { PageTitle } from '@gulibs/vgrove-ui';\n\nfunction UserProfilePage() {\n  return (\n    <>\n      <PageTitle\n        title=\"用户资料\"\n        subtitle=\"管理您的个人信息和偏好设置\"\n        breadcrumbs={[\n          { label: '首页', href: '/' },\n          { label: '账户', href: '/account' },\n          { label: '用户资料' }\n        ]}\n        meta={{\n          description: '用户个人资料管理页面',\n          keywords: ['用户', '资料', '设置', '个人信息']\n        }}\n      />\n\n      {/* 页面内容 */}\n      <div className=\"max-w-4xl mx-auto p-6\">\n        {/* ... */}\n      </div>\n    </>\n  );\n}\n```\n\n### 基础 UI 组件\n\n#### Brand 品牌组件\n\nBrand 组件用于显示应用品牌信息，支持 Logo 和名称的灵活配置。\n\n```typescript\nimport { Brand } from '@gulibs/vgrove-ui';\n\nfunction AppBrand() {\n  return (\n    <Brand\n      name=\"VGrove UI\"\n      logo={<Logo className=\"w-8 h-8\" />}\n      collapsed={sidebarCollapsed}\n      onClick={() => navigate('/')}\n      classNames={{\n        base: \"cursor-pointer hover:opacity-80 transition-opacity\",\n        logo: \"mr-3\",\n        nameWrapper: \"overflow-hidden\",\n        name: \"font-bold text-lg truncate\"\n      }}\n    />\n  );\n}\n\n// 仅显示 Logo 的紧凑模式\nfunction CompactBrand() {\n  return (\n    <Brand\n      logo={<Logo className=\"w-10 h-10\" />}\n      collapsed={true}\n      onClick={() => navigate('/')}\n    />\n  );\n}\n```\n\n#### ThemeSwitch 主题切换器\n\nThemeSwitch 提供了多种主题切换界面，支持明暗主题和系统主题。\n\n```typescript\nimport { ThemeSwitch } from '@gulibs/vgrove-ui';\n\nfunction ThemeControls() {\n  return (\n    <div className=\"flex items-center space-x-4\">\n      {/* 开关样式 */}\n      <ThemeSwitch\n        variant=\"switch\"\n        size=\"md\"\n        showLabel={true}\n      />\n\n      {/* 下拉菜单样式 */}\n      <ThemeSwitch\n        variant=\"dropdown\"\n        enableSystem={true}\n        onThemeChange={(theme, resolvedTheme) => {\n          console.log('主题变更:', theme, '解析主题:', resolvedTheme);\n        }}\n      />\n\n      {/* 圆形按钮样式 */}\n      <ThemeSwitch\n        variant=\"circle\"\n        size=\"lg\"\n      />\n\n      {/* 按钮组样式 */}\n      <ThemeSwitch\n        variant=\"buttons\"\n        enableSystem={true}\n        showLabel={true}\n      />\n    </div>\n  );\n}\n```\n\n#### Collapse 折叠组件\n\nCollapse 组件提供了折叠 / 展开功能，常用于侧边栏控制。\n\n```typescript\nimport { Collapse } from '@gulibs/vgrove-ui';\n\nfunction SidebarToggle() {\n  const [collapsed, setCollapsed] = useState(false);\n\n  return (\n    <Collapse\n      collapsed={collapsed}\n      onCollapsedChange={setCollapsed}\n      className=\"p-2 hover:bg-default-100 rounded-lg transition-colors\"\n      icon={<MenuIcon />}\n      tooltip={{\n        content: collapsed ? '展开侧边栏' : '折叠侧边栏',\n        placement: 'right'\n      }}\n    />\n  );\n}\n```\n\n### 高级组件\n\n#### Listbox 列表选择器\n\nListbox 组件提供了强大的列表选择功能，支持键盘导航和多选。\n\n```typescript\nimport { Listbox, ListboxItem, ListboxSection } from '@gulibs/vgrove-ui';\n\nfunction UserListbox() {\n  const [selected, setSelected] = useState(new Set(['user1']));\n\n  return (\n    <Listbox\n      aria-label=\"用户选择\"\n      variant=\"flat\"\n      disallowEmptySelection\n      selectionMode=\"multiple\"\n      selectedKeys={selected}\n      onSelectionChange={setSelected}\n      className=\"max-w-xs\"\n    >\n      <ListboxSection title=\"管理员\">\n        <ListboxItem\n          key=\"admin1\"\n          startContent={<Avatar size=\"sm\" src=\"/avatars/admin1.jpg\" />}\n          description=\"系统管理员\"\n        >\n          张管理员\n        </ListboxItem>\n        <ListboxItem\n          key=\"admin2\"\n          startContent={<Avatar size=\"sm\" src=\"/avatars/admin2.jpg\" />}\n          description=\"内容管理员\"\n        >\n          李管理员\n        </ListboxItem>\n      </ListboxSection>\n\n      <ListboxSection title=\"普通用户\">\n        <ListboxItem\n          key=\"user1\"\n          startContent={<Avatar size=\"sm\" src=\"/avatars/user1.jpg\" />}\n          description=\"活跃用户\"\n        >\n          王用户\n        </ListboxItem>\n        <ListboxItem\n          key=\"user2\"\n          startContent={<Avatar size=\"sm\" src=\"/avatars/user2.jpg\" />}\n          description=\"新用户\"\n        >\n          刘用户\n        </ListboxItem>\n      </ListboxSection>\n    </Listbox>\n  );\n}\n```\n\n### 响应式布局配置\n\n#### 布局设置\n\n```typescript\nimport { VGroveProvider } from '@gulibs/vgrove-ui';\n\nfunction App() {\n  const layoutSettings = {\n    // 侧边栏配置\n    sidebar: {\n      width: 280,           // 展开宽度\n      collapsedWidth: 72,   // 折叠宽度\n      collapsible: true,    // 是否可折叠\n      collapsed: false,     // 默认折叠状态\n      breakpoint: 'lg'      // 响应式断点\n    },\n\n    // 导航栏配置\n    navbar: {\n      height: 64,           // 导航栏高度\n      fixed: true,          // 是否固定\n      transparent: false,   // 是否透明\n      blur: true           // 是否启用模糊效果\n    },\n\n    // 页脚配置\n    footer: {\n      height: 60,          // 页脚高度\n      fixed: false,        // 是否固定\n      show: true          // 是否显示\n    },\n\n    // 内容区域配置\n    content: {\n      padding: 24,         // 内容区域内边距\n      maxWidth: '100%',    // 最大宽度\n      centered: false      // 是否居中\n    }\n  };\n\n  return (\n    <VGroveProvider settings={layoutSettings}>\n      <VGroveLayout items={menuItems}>\n        <Router />\n      </VGroveLayout>\n    </VGroveProvider>\n  );\n}\n```\n\n### 样式定制\n\n#### CSS 变量定制\n\n```css\n/* 自定义 CSS 变量 */\n:root {\n  /* 布局尺寸 */\n  --vgrove-sidebar-width: 280px;\n  --vgrove-sidebar-collapsed-width: 72px;\n  --vgrove-navbar-height: 64px;\n  --vgrove-footer-height: 60px;\n\n  /* 间距 */\n  --vgrove-content-padding: 24px;\n  --vgrove-page-max-width: 1200px;\n\n  /* 过渡动画 */\n  --vgrove-transition-duration: 200ms;\n  --vgrove-transition-timing: ease-in-out;\n\n  /* 阴影 */\n  --vgrove-sidebar-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);\n  --vgrove-navbar-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n/* 暗色主题定制 */\n.dark {\n  --vgrove-sidebar-shadow: 2px 0 8px rgba(0, 0, 0, 0.3);\n  --vgrove-navbar-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);\n}\n```\n\n#### Tailwind CSS 配置扩展\n\n```javascript\n// tailwind.config.js\nmodule.exports = {\n  // ... 其他配置\n  theme: {\n    extend: {\n      spacing: {\n        'sidebar': 'var(--vgrove-sidebar-width)',\n        'sidebar-collapsed': 'var(--vgrove-sidebar-collapsed-width)',\n        'navbar': 'var(--vgrove-navbar-height)',\n        'footer': 'var(--vgrove-footer-height)'\n      },\n      transitionDuration: {\n        'vgrove': 'var(--vgrove-transition-duration)'\n      },\n      boxShadow: {\n        'sidebar': 'var(--vgrove-sidebar-shadow)',\n        'navbar': 'var(--vgrove-navbar-shadow)'\n      }\n    }\n  }\n}\n```\n\n## 🌐 国际化和主题系统\n\nVGrove UI 提供了完整的国际化 (i18n) 支持和灵活的主题系统，让您的应用能够轻松适配不同语言和视觉风格。\n\n### 国际化系统\n\n#### I18nMessage 国际化消息组件\n\nI18nMessage 组件用于显示多语言文本内容，支持变量插值和格式化。\n\n```typescript\nimport { I18nMessage } from '@gulibs/vgrove-ui';\n\nfunction WelcomeSection() {\n  const user = { name: '张三', points: 1250 };\n\n  return (\n    <div className=\"space-y-4\">\n      {/* 基础消息 */}\n      <I18nMessage\n        id=\"welcome.title\"\n        defaultValue=\"欢迎使用 VGrove UI\"\n      />\n\n      {/* 带变量插值的消息 */}\n      <I18nMessage\n        id=\"welcome.greeting\"\n        defaultValue=\"您好，{name}！\"\n        values={{ name: user.name }}\n      />\n\n      {/* 复杂消息格式化 */}\n      <I18nMessage\n        id=\"user.points\"\n        defaultValue=\"您当前有 {points, number} 积分\"\n        values={{ points: user.points }}\n      />\n\n      {/* 带有HTML的富文本消息 */}\n      <I18nMessage\n        id=\"terms.agreement\"\n        defaultValue=\"我同意 <a href='/terms'>用户协议</a> 和 <a href='/privacy'>隐私政策</a>\"\n        values={{\n          termsLink: (text) => <a href=\"/terms\" className=\"text-primary\">{text}</a>,\n          privacyLink: (text) => <a href=\"/privacy\" className=\"text-primary\">{text}</a>\n        }}\n      />\n\n      {/* 带回退的消息 */}\n      <I18nMessage\n        id=\"feature.beta\"\n        fallback=\"此功能正在测试中\"\n      />\n    </div>\n  );\n}\n```\n\n#### I18nSwitch 语言切换组件\n\n```typescript\nimport { I18nSwitch } from '@gulibs/vgrove-ui';\n\nfunction LanguageControls() {\n  return (\n    <div className=\"flex items-center space-x-4\">\n      {/* 下拉菜单样式 */}\n      <I18nSwitch\n        variant=\"dropdown\"\n        supportedLanguages={[\n          { code: 'zh-CN', name: '简体中文', flag: '🇨🇳' },\n          { code: 'en-US', name: 'English', flag: '🇺🇸' },\n          { code: 'ja-JP', name: '日本語', flag: '🇯🇵' }\n        ]}\n        onLanguageChange={(language) => {\n          console.log('语言切换到:', language);\n        }}\n      />\n\n      {/* 按钮组样式 */}\n      <I18nSwitch\n        variant=\"buttons\"\n        supportedLanguages={[\n          { code: 'zh-CN', name: '中', flag: '🇨🇳' },\n          { code: 'en-US', name: 'EN', flag: '🇺🇸' }\n        ]}\n      />\n    </div>\n  );\n}\n```\n\n### 主题系统\n\n#### useTheme Hook\n\n```typescript\nimport { useTheme } from '@gulibs/vgrove-ui';\n\nfunction ThemeControls() {\n  const {\n    theme,          // 当前主题设置\n    resolvedTheme,  // 解析后的实际主题\n    setTheme,       // 设置主题函数\n    toggleTheme,    // 切换明暗主题\n    isDark,         // 是否为暗色主题\n    isSystem        // 是否跟随系统\n  } = useTheme();\n\n  return (\n    <div className=\"space-y-4\">\n      <div className=\"flex space-x-2\">\n        <Button\n          onClick={() => setTheme('light')}\n          variant={theme === 'light' ? 'solid' : 'flat'}\n        >\n          浅色\n        </Button>\n\n        <Button\n          onClick={() => setTheme('dark')}\n          variant={theme === 'dark' ? 'solid' : 'flat'}\n        >\n          深色\n        </Button>\n\n        <Button\n          onClick={() => setTheme('system')}\n          variant={theme === 'system' ? 'solid' : 'flat'}\n        >\n          跟随系统\n        </Button>\n      </div>\n\n      <Button onClick={toggleTheme}>\n        切换到{isDark ? '浅色' : '深色'}主题\n      </Button>\n    </div>\n  );\n}\n```\n\n#### ThemeSwitch 主题切换器\n\n```typescript\nimport { ThemeSwitch } from '@gulibs/vgrove-ui';\n\nfunction ThemeSelectors() {\n  return (\n    <div className=\"space-x-4\">\n      {/* 开关样式 */}\n      <ThemeSwitch variant=\"switch\" showLabel={true} />\n\n      {/* 下拉菜单样式 */}\n      <ThemeSwitch variant=\"dropdown\" enableSystem={true} />\n\n      {/* 圆形按钮样式 */}\n      <ThemeSwitch variant=\"circle\" />\n\n      {/* 按钮组样式 */}\n      <ThemeSwitch variant=\"buttons\" enableSystem={true} />\n    </div>\n  );\n}\n```\n\n## 🎣 Hooks 和高级功能\n\nVGrove UI 提供了丰富的自定义 Hooks 和高级功能，帮助您构建更强大和灵活的应用。\n\n### VGrove 核心 Hooks\n\n#### useVGrove - 核心上下文 Hook\n\nuseVGrove 提供对 VGrove 应用上下文的访问，包括布局设置和全局状态管理。\n\n```typescript\nimport { useVGrove } from '@gulibs/vgrove-ui';\n\nfunction LayoutController() {\n  const {\n    settings,           // 当前布局设置\n    updateSettings,     // 更新设置函数\n    resetSettings       // 重置设置函数\n  } = useVGrove();\n\n  const toggleSidebar = () => {\n    updateSettings({\n      sidebar: {\n        ...settings.sidebar,\n        collapsed: !settings.sidebar?.collapsed\n      }\n    });\n  };\n\n  return (\n    <div className=\"space-y-4\">\n      <Switch\n        isSelected={!settings.sidebar?.collapsed}\n        onValueChange={toggleSidebar}\n      >\n        侧边栏: {settings.sidebar?.collapsed ? '已折叠' : '已展开'}\n      </Switch>\n\n      <Button onClick={resetSettings} color=\"warning\">\n        重置布局设置\n      </Button>\n    </div>\n  );\n}\n```\n\n### 表单相关 Hooks\n\n#### useWatch / useFieldValue - 表单字段监听\n\n```typescript\nimport { useWatch, useFieldValue, useFieldsWatcher } from '@gulibs/vgrove-ui';\n\nfunction FormWatcher() {\n  // 监听单个字段\n  const username = useFieldValue('username');\n\n  // 监听多个字段\n  const [firstName, lastName] = useWatch(['firstName', 'lastName']);\n\n  // 监听字段状态\n  const { allFilled, anyFilled } = useFieldsWatcher(['name', 'email']);\n\n  return (\n    <div className=\"space-y-2\">\n      <p>用户名: {username || '未填写'}</p>\n      <p>全名: {firstName && lastName ? `${firstName} ${lastName}` : '未完整'}</p>\n      <p>状态: {allFilled ? '完成' : anyFilled ? '部分完成' : '未开始'}</p>\n    </div>\n  );\n}\n```\n\n### 高级功能\n\n#### 调试配置\n\n```typescript\nimport { updateDebugConfig } from '@gulibs/vgrove-ui';\n\n// 开发环境启用调试\nif (process.env.NODE_ENV === 'development') {\n  updateDebugConfig({\n    enabled: true,\n    auth: true,       // 认证调试\n    loader: true,     // Loader 调试\n    action: true,     // Action 调试\n    routing: true,    // 路由调试\n    performance: true // 性能监控\n  });\n}\n```\n\n#### 存储管理\n\n```typescript\nimport { useStorage } from '@gulibs/vgrove-ui';\n\nfunction UserSettings() {\n  const {\n    value: settings,\n    setValue: setSettings,\n    remove: removeSettings\n  } = useStorage('user-settings', {\n    theme: 'light',\n    language: 'zh-CN'\n  });\n\n  return (\n    <div className=\"space-y-4\">\n      <Select\n        value={settings.theme}\n        onChange={(e) => setSettings({\n          ...settings,\n          theme: e.target.value\n        })}\n      >\n        <option value=\"light\">浅色</option>\n        <option value=\"dark\">深色</option>\n      </Select>\n\n      <Button onClick={removeSettings} color=\"warning\">\n        重置设置\n      </Button>\n    </div>\n  );\n}\n```\n\n## 📚 类型定义和 API 参考\n\n### 表单相关 API\n\n#### 函数和工具\n\n```typescript\n// 创建 FormInstance\nfunction createFormInstance<TFieldValues extends FieldValues = FieldValues>(\n  formReturn: UseFormReturn<TFieldValues>\n): FormInstance<TFieldValues>\n\n// 增强的 useForm Hook\nfunction useForm<TFieldValues extends FieldValues = FieldValues>(\n  options?: CustomUseFormProps<TFieldValues>\n): FormInstance<TFieldValues>\n\n// 注册全局 FormInstance\nfunction registerFormInstance(instance: FormInstance<any>, key?: string): void\n\n// 注销全局 FormInstance\nfunction unregisterFormInstance(key?: string): void\n\n// 获取全局 FormInstance\nfunction getFormInstance(key?: string): FormInstance<any> | null\n\n// 字段值监听\nfunction useFieldValue<TFieldValues extends FieldValues = FieldValues>(\n  name: FieldPath<TFieldValues>,\n  control?: Control<TFieldValues>\n): any\n\n// 多字段监听\nfunction useFieldsWatcher<TFieldValues extends FieldValues = FieldValues>(\n  names: FieldPath<TFieldValues>[],\n  control?: Control<TFieldValues>\n): FieldsWatcherResult\n\n// 字段更新工具\nfunction useFieldUpdate<T = Element>(name: string): FieldUpdateResult<T>\n\n// 获取表单上下文 (返回 FormInstance)\nfunction useFormContext<TFieldValues extends FieldValues = FieldValues>(): FormInstance<TFieldValues>\n\n// 可选获取表单上下文\nfunction useFormContextOptional<TFieldValues extends FieldValues = FieldValues>(): FormInstance<TFieldValues> | null\n\n// 检测是否在 FormProvider 内部\nfunction useIsInsideFormProvider(): boolean\n\n// 获取可用的 FormInstance\nfunction useAvailableFormInstance<TFieldValues extends FieldValues = FieldValues>(): FormInstance<TFieldValues> | null\n```\n\n### 核心类型\n\n#### 用户和认证相关\n\n```typescript\n// 基础用户类型\ninterface BaseUser {\n  id: string | number;\n  username?: string;\n  email?: string;\n  name?: string;\n  avatar?: string;\n  roles?: string[];\n  permissions?: string[];\n  [key: string]: any;\n}\n\n// 认证配置\ninterface AuthConfig {\n  authCheck: () => Promise<BaseUser | null> | BaseUser | null;\n  roleCheck?: (user: BaseUser, roles: string[]) => boolean;\n  permissionCheck?: (user: BaseUser, permissions: string[]) => boolean;\n  loginPath?: string;\n  forbiddenPath?: string;\n  publicPaths?: string[];\n}\n```\n\n#### 表单相关类型\n\n```typescript\n// FormInstance 接口定义\ninterface FormInstance<TFieldValues extends FieldValues = FieldValues>\n  extends UseFormReturn<TFieldValues> {\n  // 基础方法\n  getFieldValue: (name: FieldPath<TFieldValues>) => any;\n  getFieldsValue: () => TFieldValues;\n  setFieldValue: (name: FieldPath<TFieldValues>, value: any) => void;\n  setFieldsValue: (values: Partial<TFieldValues>) => void;\n  resetFields: () => void;\n\n  // 验证方法\n  validateFields: () => Promise<boolean>;\n  setFieldError: (name: FieldPath<TFieldValues>, error: any) => void;\n  clearFieldErrors: (names?: FieldPath<TFieldValues>[]) => void;\n}\n\n// 自定义 useForm 配置\ninterface CustomUseFormProps<TFieldValues extends FieldValues = FieldValues>\n  extends UseFormProps<TFieldValues> {\n  // 是否注册为全局默认实例\n  registerAsGlobal?: boolean;\n  // 注册的键名（如果不提供则作为默认实例）\n  globalKey?: string;\n}\n\n// 表单配置\ninterface FormProps<TFieldValues extends FieldValues = FieldValues> {\n  mode?: 'all' | 'onBlur' | 'onChange' | 'onSubmit';\n  watchNames?: FieldPath<TFieldValues> | FieldPath<TFieldValues>[];\n  footer?: false | FormFooterConfig;\n  form?: FormInstance<TFieldValues>; // 支持传入 FormInstance\n  onFinish?: SubmitHandler<TFieldValues>;\n  onFinishError?: SubmitErrorHandler<TFieldValues>;\n}\n\n// 表单页脚配置\ninterface FormFooterConfig {\n  resetProps?: Omit<ButtonProps, \"children\">;\n  resetText?: React.ReactNode;\n  submitProps?: Omit<ButtonProps, \"children\">;\n  submitText?: React.ReactNode;\n  hiddenReset?: boolean;\n  onReset?: () => void;\n}\n\n// 表单项配置\ninterface FormItemProps {\n  name: string;\n  label?: React.ReactNode;\n  required?: boolean;\n  help?: React.ReactNode;\n  tooltip?: TooltipProps;\n  rules?: RegisterOptions;\n  layout?: 'vertical' | 'horizontal';\n  validateStatus?: 'error' | 'warning' | 'success';\n}\n\n// 表单字段监听器返回类型\ninterface FieldsWatcherResult {\n  values: any[];\n  allFilled: boolean;\n  anyFilled: boolean;\n}\n\n// 表单字段更新工具返回类型\ninterface FieldUpdateResult<T = Element> {\n  isInvalid: () => boolean;\n  handle: (handler: EventHandler<T>) => (event: FormEvent<T>) => void;\n  clear: () => void;\n}\n```\n\n#### 布局相关类型\n\n```typescript\n// 布局设置\ninterface LayoutSettings {\n  sidebar?: {\n    width?: number;\n    collapsedWidth?: number;\n    collapsible?: boolean;\n    collapsed?: boolean;\n    breakpoint?: 'sm' | 'md' | 'lg' | 'xl';\n  };\n  navbar?: {\n    height?: number;\n    fixed?: boolean;\n    transparent?: boolean;\n    blur?: boolean;\n  };\n  footer?: {\n    height?: number;\n    fixed?: boolean;\n    show?: boolean;\n  };\n}\n\n// 菜单项类型\ninterface SidebarMenuItem {\n  key: string;\n  label: React.ReactNode;\n  href?: string;\n  icon?: React.ReactNode;\n  badge?: BadgeProps;\n  children?: SidebarMenuItem[];\n  requiredRoles?: string[];\n  requiredPermissions?: string[];\n}\n```\n\n#### 主题相关类型\n\n```typescript\n// 主题模式\ntype ThemeMode = 'light' | 'dark' | 'system';\ntype ResolvedTheme = 'light' | 'dark';\n\n// 主题配置\ninterface ThemeConfig {\n  defaultTheme?: ThemeMode;\n  enableSystem?: boolean;\n  attribute?: string;\n  storageKey?: string;\n  themes?: string[];\n}\n\n// 主题切换器配置\ninterface ThemeSwitchProps {\n  variant?: 'switch' | 'dropdown' | 'circle' | 'buttons';\n  size?: 'sm' | 'md' | 'lg';\n  showLabel?: boolean;\n  enableSystem?: boolean;\n  onThemeChange?: (theme: ThemeMode, resolvedTheme: ResolvedTheme) => void;\n}\n```\n\n## 💡 最佳实践和示例\n\n### 项目结构建议\n\n```\nsrc/\n├── components/          # 通用组件\n│   ├── ui/             # UI 基础组件\n│   ├── forms/          # 表单组件\n│   └── layout/         # 布局组件\n├── pages/              # 页面组件\n├── hooks/              # 自定义 Hooks\n├── utils/              # 工具函数\n├── types/              # 类型定义\n├── constants/          # 常量定义\n├── locales/            # 国际化资源\n│   ├── zh-CN.json\n│   ├── en-US.json\n│   └── index.ts\n└── config/             # 配置文件\n    ├── auth.ts         # 认证配置\n    ├── routes.ts       # 路由配置\n    └── theme.ts        # 主题配置\n```\n\n### 完整应用示例\n\n```typescript\n// App.tsx\nimport React from 'react';\nimport {\n  VGroveProvider,\n  VGroveLayout,\n  quickSetup,\n  createBrowserRouter,\n  RouterProvider\n} from '@gulibs/vgrove-ui';\nimport { authConfig } from './config/auth';\nimport { menuItems } from './config/menu';\n\n// 快速设置认证\nconst { authLoader, loginAction, logoutAction } = quickSetup(authConfig);\n\n// 创建路由\nconst router = createBrowserRouter([\n  {\n    path: '/login',\n    element: <LoginPage />,\n    action: loginAction\n  },\n  {\n    path: '/',\n    element: <HomePage />,\n    loader: authLoader\n  },\n  {\n    path: '/dashboard',\n    element: <DashboardPage />,\n    loader: authLoader\n  }\n]);\n\nfunction App() {\n  return (\n    <VGroveProvider\n      settings={{\n        sidebar: { collapsible: true },\n        navbar: { fixed: true }\n      }}\n      themeConfig={{\n        defaultTheme: 'system',\n        enableSystem: true\n      }}\n    >\n      <VGroveLayout\n        items={menuItems}\n        onCollapsedChange={(collapsed) => {\n          localStorage.setItem('sidebar-collapsed', String(collapsed));\n        }}\n      >\n        <RouterProvider router={router} />\n      </VGroveLayout>\n    </VGroveProvider>\n  );\n}\n\nexport default App;\n```\n\n### 性能优化建议\n\n```typescript\n// 1. 使用 React.memo 优化组件渲染\nconst OptimizedComponent = React.memo(({ data }) => {\n  return <div>{data.title}</div>;\n});\n\n// 2. 使用 useMemo 优化计算\nconst ExpensiveComponent = ({ items }) => {\n  const processedItems = useMemo(() => {\n    return items.map(item => ({\n      ...item,\n      processed: heavyComputation(item)\n    }));\n  }, [items]);\n\n  return <ItemList items={processedItems} />;\n};\n\n// 3. 使用 useCallback 优化事件处理\nconst FormComponent = ({ onSubmit }) => {\n  const handleSubmit = useCallback((data) => {\n    onSubmit(data);\n  }, [onSubmit]);\n\n  return <Form onFinish={handleSubmit} />;\n};\n```\n\n## 🛠️ 开发和构建\n\n### 本地开发\n\n```bash\n# 克隆项目\ngit clone https://github.com/your-org/your-project.git\ncd your-project\n\n# 安装依赖\nnpm install\n\n# 启动开发服务器\nnpm run dev\n\n# 启动 Storybook (如果有)\nnpm run storybook\n```\n\n### 构建和部署\n\n```bash\n# 构建生产版本\nnpm run build\n\n# 预览构建结果\nnpm run preview\n\n# 运行测试\nnpm test\n\n# 运行类型检查\nnpm run type-check\n\n# 运行代码检查\nnpm run lint\n```\n\n## 🤝 贡献指南\n\n### 提交代码\n\n1. Fork 项目到您的 GitHub 账户\n2. 创建功能分支：`git checkout -b feature/amazing-feature`\n3. 提交更改：`git commit -m 'Add amazing feature'`\n4. 推送到分支：`git push origin feature/amazing-feature`\n5. 创建 Pull Request\n\n### 开发规范\n\n- 遵循现有的代码风格和命名约定\n- 为新功能添加适当的类型定义\n- 编写单元测试覆盖新功能\n- 更新相关文档和示例\n\n## 📄 许可证\n\n本项目基于 MIT 许可证开源。详见 [LICENSE](./LICENSE) 文件。\n\n---\n\n**让我们一起构建更好的 React 应用！** 🚀\n","readmeFilename":"README.md"}