{"_id":"@b-design/ui-console-menu","_rev":"15-f38dc326d9f054335fab2e2bab93d361","name":"@b-design/ui-console-menu","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.1":{"name":"@b-design/ui-console-menu","version":"0.0.1","keywords":["b-design","b-design-rc-console-menu","react","react component"],"author":{"name":"csr632","email":"632882184@qq.com"},"license":"MIT","_id":"@b-design/ui-console-menu@0.0.1","maintainers":[{"name":"wangcherry","email":"wang_cherry0312@163.com"},{"name":"dhgalien","email":"dhg.isarobot@gmail.com"},{"name":"shaomingbo","email":"shaomingbo@hotmail.com"},{"name":"heimanba","email":"371510756@qq.com"},{"name":"xsahxl","email":"xsahxl@126.com"},{"name":"xxz_11","email":"2690067132@qq.com"},{"name":"chestnutpcj","email":"535961284@qq.com"},{"name":"luckydrq","email":"drqzju@gmail.com"}],"dist":{"shasum":"84fde8ddca554f3e97360ae58eaa594b95c46fe3","tarball":"https://registry.npmjs.org/@b-design/ui-console-menu/-/ui-console-menu-0.0.1.tgz","fileCount":114,"integrity":"sha512-UgvRhFhfIcnNbGi96gHbe9/EULTvwldEFR4ZTqmS0Iw5qIZRT7yNxwy3k9QhHJsB06yu+bXf7oO3vxZ5GqCZrg==","signatures":[{"sig":"MEUCIQCNv/ayRwXuQJODs2p4u2K8GRWlXBaZ36uuDy3vxDn5WQIgQECTDmujl6Jk/a7VoQb2Wqlzyhzer5h7oLtCKVRX+Yg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":252915},"main":"lib/index.js","unpkg":"dist/index.js","module":"es/index.js","engines":{"node":">=7.6.0"},"scripts":{"dev":"breezr start --config config/breezr-docs.config.ts","test":"breezr test:unit","babel":"breezr build --engine babel","build":"breezr build --engine webpack","clean":"rm -rf dist lib es doc-dist","types":"tsc -p src --emitDeclarationOnly","upload":"OSS_NAME=@b-design/ui-console-menu oss-upload","gen-var":"node ./scripts/gen-css-var.js","prepare":"npm run clean && npm run babel && npm run babel:esm && npm run types && npm run build && npm run gen-var","babel:esm":"breezr build --engine babel --es-module","doc:build":"rm -rf doc-dist && breezr build --config config/breezr-docs.config.ts","upload:pre":"OSS_TAG=pre npm run upload"},"typings":"lib/index.d.ts","_npmUser":{"name":"wangcherry","email":"wang_cherry0312@163.com"},"_npmVersion":"6.14.13","description":"React component for Alibaba Cloud.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"warning":"^4.0.3","classnames":"^2.2.6","@babel/runtime":"^7.5.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dva":"^2.4.0","react":"^16.8.0","react-dom":"^16.8.0","prop-types":"^15.7.0","@ali/breezr":"^1.5.41","@b-design/ui":"^1.0.0","styled-components":"^4.2.0","@alicloud/console-toolkit-preset-docs":"^1.0.40","@alicloud/console-components-fake-browser":"^2.0.7","@alicloud/console-toolkit-preset-component":"^1.2.32"},"peerDependencies":{"dva":"^2.4.0","react":"^16.8.0","react-dom":"^16.8.0","prop-types":"^15.7.0","@b-design/ui":"^1.0.0","styled-components":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-console-menu_0.0.1_1635927636824_0.19999164040532857","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@b-design/ui-console-menu","version":"0.0.2","keywords":["b-design","b-design-rc-console-menu","react","react component"],"author":{"name":"csr632","email":"632882184@qq.com"},"license":"MIT","_id":"@b-design/ui-console-menu@0.0.2","maintainers":[{"name":"wangcherry","email":"wang_cherry0312@163.com"},{"name":"dhgalien","email":"dhg.isarobot@gmail.com"},{"name":"shaomingbo","email":"shaomingbo@hotmail.com"},{"name":"heimanba","email":"371510756@qq.com"},{"name":"xsahxl","email":"xsahxl@126.com"},{"name":"xxz_11","email":"2690067132@qq.com"},{"name":"chestnutpcj","email":"535961284@qq.com"},{"name":"luckydrq","email":"drqzju@gmail.com"}],"dist":{"shasum":"97f3b768369d3d6672bec2bd8bdbd4669b7e8efd","tarball":"https://registry.npmjs.org/@b-design/ui-console-menu/-/ui-console-menu-0.0.2.tgz","fileCount":114,"integrity":"sha512-4LyiSyM1Da/FuutBysQjE96z+stvs2tMW24HF5CttMoNe4NDxNrOyFNogCizR+0Y1YaMywWgON1GIR9/2ElH3Q==","signatures":[{"sig":"MEUCIQD6DU7qgc1wI846NzPghrRF0trdgk2p7/FVQTrQ3uwetAIgc5ZfS2kSOME4Q6aseSikOCqzS8dmKUN9eRj49kMnWto=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":252957},"main":"lib/index.js","unpkg":"dist/index.js","module":"es/index.js","engines":{"node":">=7.6.0"},"scripts":{"dev":"breezr start --config config/breezr-docs.config.ts","test":"breezr test:unit","babel":"breezr build --engine babel","build":"breezr build --engine webpack","clean":"rm -rf dist lib es doc-dist","types":"tsc -p src --emitDeclarationOnly","upload":"OSS_NAME=@b-design/ui-console-menu oss-upload","gen-var":"node ./scripts/gen-css-var.js","prepare":"npm run clean && npm run babel && npm run babel:esm && npm run types && npm run build && npm run gen-var","babel:esm":"breezr build --engine babel --es-module","doc:build":"rm -rf doc-dist && breezr build --config config/breezr-docs.config.ts","upload:pre":"OSS_TAG=pre npm run upload"},"typings":"lib/index.d.ts","_npmUser":{"name":"wangcherry","email":"wang_cherry0312@163.com"},"_npmVersion":"6.14.13","description":"React component for Alibaba Cloud.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"warning":"^4.0.3","classnames":"^2.2.6","@babel/runtime":"^7.5.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dva":"^2.4.0","react":"^16.8.0","react-dom":"^16.8.0","prop-types":"^15.7.0","@ali/breezr":"^1.5.41","@b-design/ui":"^1.0.0","styled-components":"^4.2.0","@alicloud/console-toolkit-preset-docs":"^1.0.40","@alicloud/console-components-fake-browser":"^2.0.7","@alicloud/console-toolkit-preset-component":"^1.2.32"},"peerDependencies":{"dva":"^2.4.0","react":"^16.8.0","react-dom":"^16.8.0","prop-types":"^15.7.0","@b-design/ui":"^2.0.0","styled-components":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-console-menu_0.0.2_1635929697687_0.895912789268579","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@b-design/ui-console-menu","version":"0.0.3","keywords":["b-design","b-design-rc-console-menu","react","react component"],"author":{"name":"csr632","email":"632882184@qq.com"},"license":"MIT","_id":"@b-design/ui-console-menu@0.0.3","maintainers":[{"name":"wangcherry","email":"wang_cherry0312@163.com"},{"name":"dhgalien","email":"dhg.isarobot@gmail.com"},{"name":"shaomingbo","email":"shaomingbo@hotmail.com"},{"name":"heimanba","email":"371510756@qq.com"},{"name":"xsahxl","email":"xsahxl@126.com"},{"name":"xxz_11","email":"2690067132@qq.com"},{"name":"chestnutpcj","email":"535961284@qq.com"},{"name":"luckydrq","email":"drqzju@gmail.com"}],"dist":{"shasum":"9fb46f1c358a882cb13b4b620ec516e5a5387916","tarball":"https://registry.npmjs.org/@b-design/ui-console-menu/-/ui-console-menu-0.0.3.tgz","fileCount":143,"integrity":"sha512-SKzADSIDj3dy6X+u+m2VkAWbrJOo5vPJ7Acnp8H/OTzTqYTf+zJfqnz7iy2Ywz7dtR6+y9VGm4gDlWZ74xW7Qw==","signatures":[{"sig":"MEUCIQCl1BDA15gZzEg8/Qg6sKMdtlwb6yJoY0T8lQSOULTmDAIgTiZAYPA+v6GzvWiZGgSwjy+PBgY2mP16LGiJveIezUo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":260456},"main":"lib/index.js","unpkg":"dist/index.js","module":"es/index.js","engines":{"node":">=7.6.0"},"scripts":{"dev":"breezr start --config config/breezr-docs.config.ts","test":"breezr test:unit","babel":"breezr build --engine babel","build":"breezr build --engine webpack","clean":"rm -rf dist lib es doc-dist","types":"tsc -p src --emitDeclarationOnly","upload":"OSS_NAME=@b-design/ui-console-menu oss-upload","gen-var":"node ./scripts/gen-css-var.js","prepare":"npm run clean && npm run babel && npm run babel:esm && npm run types && npm run build && npm run gen-var","babel:esm":"breezr build --engine babel --es-module","doc:build":"rm -rf doc-dist && breezr build --config config/breezr-docs.config.ts","upload:pre":"OSS_TAG=pre npm run upload"},"typings":"lib/index.d.ts","_npmUser":{"name":"wangcherry","email":"wang_cherry0312@163.com"},"_npmVersion":"6.14.13","description":"React component for Alibaba Cloud.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"warning":"^4.0.3","classnames":"^2.2.6","@babel/runtime":"^7.5.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dva":"^2.4.0","react":"^16.8.0","react-dom":"^16.8.0","prop-types":"^15.7.0","@ali/breezr":"^1.5.41","@b-design/ui":"^1.0.0","styled-components":"^5.3.3","@types/styled-components":"^5.1.15","@alicloud/console-toolkit-preset-docs":"^1.0.40","@alicloud/console-components-fake-browser":"^2.0.7","@alicloud/console-toolkit-preset-component":"^1.2.32"},"peerDependencies":{"dva":"^2.4.0","react":"^16.8.0","react-dom":"^16.8.0","prop-types":"^15.7.0","@b-design/ui":"^2.0.0","styled-components":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-console-menu_0.0.3_1636008162689_0.015693270402839854","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@b-design/ui-console-menu","version":"0.0.4","keywords":["b-design","b-design-rc-console-menu","react","react component"],"author":{"name":"csr632","email":"632882184@qq.com"},"license":"MIT","_id":"@b-design/ui-console-menu@0.0.4","maintainers":[{"name":"wangcherry","email":"wang_cherry0312@163.com"},{"name":"dhgalien","email":"dhg.isarobot@gmail.com"},{"name":"shaomingbo","email":"shaomingbo@hotmail.com"},{"name":"heimanba","email":"371510756@qq.com"},{"name":"xsahxl","email":"xsahxl@126.com"},{"name":"xxz_11","email":"2690067132@qq.com"},{"name":"chestnutpcj","email":"535961284@qq.com"},{"name":"luckydrq","email":"drqzju@gmail.com"}],"dist":{"shasum":"06a3351ea98386e6a0959f4a1a73be9b71e5d4ea","tarball":"https://registry.npmjs.org/@b-design/ui-console-menu/-/ui-console-menu-0.0.4.tgz","fileCount":143,"integrity":"sha512-vYM6ur3FetyXz/pws5KSbNJXthbBXaccnJp+ijpRr8dFHUtIXau/4btREZjz6H9FhsYFRkWJRGCC08sGpvhTqA==","signatures":[{"sig":"MEQCIFvIHcF9Qehj7yIAD8r7d9KzrTDi6TqDjGwHXWdYbmPUAiA5+kjBgnfQhEEA/XRydi018MOAiGnKl0/6oNIROottXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":259564},"main":"lib/index.js","unpkg":"dist/index.js","module":"es/index.js","engines":{"node":">=7.6.0"},"scripts":{"dev":"breezr start --config config/breezr-docs.config.ts","test":"breezr test:unit","babel":"breezr build --engine babel","build":"breezr build --engine webpack","clean":"rm -rf dist lib es doc-dist","types":"tsc -p src --emitDeclarationOnly","upload":"OSS_NAME=@b-design/ui-console-menu oss-upload","gen-var":"node ./scripts/gen-css-var.js","prepare":"npm run clean && npm run babel && npm run babel:esm && npm run types && npm run build && npm run gen-var","babel:esm":"breezr build --engine babel --es-module","doc:build":"rm -rf doc-dist && breezr build --config config/breezr-docs.config.ts","upload:pre":"OSS_TAG=pre npm run upload"},"typings":"lib/index.d.ts","_npmUser":{"name":"wangcherry","email":"wang_cherry0312@163.com"},"_npmVersion":"6.14.13","description":"React component for Alibaba Cloud.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"warning":"^4.0.3","classnames":"^2.2.6","@babel/runtime":"^7.5.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dva":"^2.4.0","react":"^16.8.0","react-dom":"^16.8.0","prop-types":"^15.7.0","@ali/breezr":"^1.5.41","@b-design/ui":"^1.0.0","styled-components":"^5.3.3","@types/styled-components":"^5.1.15","@alicloud/console-toolkit-preset-docs":"^1.0.40","@alicloud/console-components-fake-browser":"^2.0.7","@alicloud/console-toolkit-preset-component":"^1.2.32"},"peerDependencies":{"dva":"^2.4.0","react":"^16.8.0","react-dom":"^16.8.0","prop-types":"^15.7.0","@b-design/ui":"^2.0.0","styled-components":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-console-menu_0.0.4_1636010912209_0.6277317660877544","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"@b-design/ui-console-menu","version":"0.0.5","keywords":["b-design","b-design-rc-console-menu","react","react component"],"author":{"name":"csr632","email":"632882184@qq.com"},"license":"MIT","_id":"@b-design/ui-console-menu@0.0.5","maintainers":[{"name":"wangcherry","email":"wang_cherry0312@163.com"},{"name":"dhgalien","email":"dhg.isarobot@gmail.com"},{"name":"shaomingbo","email":"shaomingbo@hotmail.com"},{"name":"heimanba","email":"371510756@qq.com"},{"name":"xsahxl","email":"xsahxl@126.com"},{"name":"xxz_11","email":"2690067132@qq.com"},{"name":"chestnutpcj","email":"535961284@qq.com"},{"name":"luckydrq","email":"drqzju@gmail.com"}],"dist":{"shasum":"9b5aa8412362b3942bbbe2f12cd42b2576d88728","tarball":"https://registry.npmjs.org/@b-design/ui-console-menu/-/ui-console-menu-0.0.5.tgz","fileCount":143,"integrity":"sha512-JMdZVkgZQjuYGGcSvOBWfg9gV7RMv2dXX+kvbJvWvghjATqJk57+ijNS5p6MwtnGgOruAMbMAmAyByqEEQrKqQ==","signatures":[{"sig":"MEUCIQD4XYQRqWZh6AG2f2HEtFTDGqOF+zFXw1y/eqgNTwwfmgIgYzR2hbBnb1YaIBZ4kYoSogWq1mwUazfzn9p6ItBv9EI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":267025},"main":"lib/index.js","unpkg":"dist/index.js","module":"es/index.js","engines":{"node":">=7.6.0"},"scripts":{"dev":"breezr start --config config/breezr-docs.config.ts","test":"breezr test:unit","babel":"breezr build --engine babel","build":"breezr build --engine webpack","clean":"rm -rf dist lib es doc-dist","types":"tsc -p src --emitDeclarationOnly","upload":"OSS_NAME=@b-design/ui-console-menu oss-upload","gen-var":"node ./scripts/gen-css-var.js","prepare":"npm run clean && npm run babel && npm run babel:esm && npm run types && npm run build && npm run gen-var","babel:esm":"breezr build --engine babel --es-module","doc:build":"rm -rf doc-dist && breezr build --config config/breezr-docs.config.ts","upload:pre":"OSS_TAG=pre npm run upload"},"typings":"lib/index.d.ts","_npmUser":{"name":"wangcherry","email":"wang_cherry0312@163.com"},"_npmVersion":"6.14.13","description":"React component for Alibaba Cloud.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"warning":"^4.0.3","classnames":"^2.2.6","@babel/runtime":"^7.5.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dva":"^2.4.0","react":"^16.8.0","react-dom":"^16.8.0","prop-types":"^15.7.0","@ali/breezr":"^1.5.41","@b-design/ui":"^2.0.0","styled-components":"^4.2.0","@types/styled-components":"^4.2.0","@alicloud/console-toolkit-preset-docs":"^1.0.40","@alicloud/console-components-fake-browser":"^2.0.7","@alicloud/console-toolkit-preset-component":"^1.2.32"},"peerDependencies":{"dva":"^2.4.0","react":"^16.8.0","react-dom":"^16.8.0","prop-types":"^15.7.0","@b-design/ui":"^2.0.0","styled-components":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-console-menu_0.0.5_1636028092826_0.7756000233844957","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"@b-design/ui-console-menu","version":"0.0.6","keywords":["b-design","b-design-rc-console-menu","react","react component"],"author":{"name":"csr632","email":"632882184@qq.com"},"license":"MIT","_id":"@b-design/ui-console-menu@0.0.6","maintainers":[{"name":"yaoyuxia.yyx","email":"prudenceyao@hotmail.com"},{"name":"wangcherry","email":"wang_cherry0312@163.com"},{"name":"dhgalien","email":"dhg.isarobot@gmail.com"},{"name":"shaomingbo","email":"shaomingbo@hotmail.com"},{"name":"heimanba","email":"371510756@qq.com"},{"name":"xsahxl","email":"xsahxl@126.com"},{"name":"xxz_11","email":"2690067132@qq.com"},{"name":"chestnutpcj","email":"535961284@qq.com"},{"name":"luckydrq","email":"drqzju@gmail.com"}],"dist":{"shasum":"5083afd4ad8abfdcdc63283a7d7318dbdb508961","tarball":"https://registry.npmjs.org/@b-design/ui-console-menu/-/ui-console-menu-0.0.6.tgz","fileCount":141,"integrity":"sha512-7cmHraVdjyRioFBDYVeD3ETAcQzYVCm3RXoZMkBS7PaTey6Whx6aKt1NDvJdglcfg/eVtn2wVVMmaaEKY6SzJA==","signatures":[{"sig":"MEQCICTvmCreAYSsOUDXPa+C0d8Tvfc9Sb+p3uPyaENF50GFAiAE5myJj1uV4D81XyFqDE3OQiMjs6ZDy4SxI9L9j/7iPw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":204153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsr6GCRA9TVsSAnZWagAAinQP/3FiKEIRahhBCou0+t0i\n+a9n9xkqH3SovyRMjuaGnLiDFPG3RbLf5jnxKJfE4+vfqekYi6JFUvLlt5yh\nG2nLLwGGyZEt55IEBZ8UViEW7p4Sd9/2YhChr5oBfhOKy5ol+skKKllCsv2o\n3tO0Vm/76vYGwHX9HNnLLXSBNpZIEMs1WI8Q/h4Gn51gPrFJxm/IMzJCvPcU\nPohvMZ5YQCiN21ssFxv5fx4x0PXZRdhvkWBWZ/vje5FWhVvk2/AX8r7F50f7\nyWnmue3kmzxAUts4yUgI8ukHSf4HnVqVQo/+uj+WeKjdC2BgYucliVbxVPoh\nAGhjaegfTfWEyzMtw3MrXnOH/o60jG9DNtfpR9M1YGlolg2VbNZjfC6sABYi\njvCCAdc3y/uSsh55e9xDIGM3Iz0LaYTmjj6ZEWiGcrNcvnks0xFDiUBplW2K\nuSmopg/UGUGb/rdDH+BGhlJwwBgHZ6aOUqSK3TkHleWzGxuasA616pKx5B3L\nSe6037eZFj+ZhipCAo7XQMUP4PQ9WnAoLfRKIIhjz4srJuO+auqx3FB6wmg2\n7oRnaaR0iFraFW4fDTUZesH/KLOG2D/a0NQuRJ3yccH+XdESktFgVdJuXff5\n8MJrbrqnoRyApBeXxjailNjYGs3ohrMS2FQqpgLtKMcv8HJ9olARZjwHqxMl\nyhik\r\n=4FUn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","unpkg":"dist/index.js","module":"es/index.js","engines":{"node":">=7.6.0"},"scripts":{"dev":"breezr start --config config/breezr-docs.config.ts","test":"breezr test:unit","babel":"breezr build --engine babel","build":"breezr build --engine webpack","clean":"rm -rf dist lib es doc-dist","types":"tsc -p src --emitDeclarationOnly","upload":"OSS_NAME=@b-design/ui-console-menu oss-upload","gen-var":"node ./scripts/gen-css-var.js","prepare":"npm run clean && npm run babel && npm run babel:esm && npm run types && npm run build && npm run gen-var","babel:esm":"breezr build --engine babel --es-module","doc:build":"rm -rf doc-dist && breezr build --config config/breezr-docs.config.ts","upload:pre":"OSS_TAG=pre npm run upload"},"typings":"lib/index.d.ts","_npmUser":{"name":"wangcherry","email":"wang_cherry0312@163.com"},"_npmVersion":"6.14.13","description":"React component for Alibaba Cloud.","directories":{},"_nodeVersion":"14.17.0","dependencies":{"warning":"^4.0.3","classnames":"^2.2.6","@babel/runtime":"^7.5.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dva":"^2.4.0","react":"^16.8.0","react-dom":"^16.8.0","prop-types":"^15.7.0","@ali/breezr":"^1.5.41","@b-design/ui":"^2.0.0","styled-components":"^4.2.0","@types/styled-components":"^4.2.0","@alicloud/console-toolkit-preset-docs":"^1.0.40","@alicloud/console-components-fake-browser":"^2.0.7","@alicloud/console-toolkit-preset-component":"^1.2.32"},"peerDependencies":{"dva":"^2.4.0","react":"^16.8.0","react-dom":"^16.8.0","prop-types":"^15.7.0","@b-design/ui":"^2.0.0","styled-components":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-console-menu_0.0.6_1639104133917_0.7501529049864959","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-11-03T08:20:36.764Z","modified":"2024-11-05T08:22:35.643Z","0.0.1":"2021-11-03T08:20:36.991Z","0.0.2":"2021-11-03T08:54:57.854Z","0.0.3":"2021-11-04T06:42:42.923Z","0.0.4":"2021-11-04T07:28:32.509Z","0.0.5":"2021-11-04T12:14:53.027Z","0.0.6":"2021-12-10T02:42:14.120Z"},"author":{"name":"csr632","email":"632882184@qq.com"},"license":"MIT","keywords":["b-design","b-design-rc-console-menu","react","react component"],"description":"React component for Alibaba Cloud.","maintainers":[{"email":"dhg.isarobot@gmail.com","name":"dhgalien"},{"email":"tancawe@foxmail.com","name":"chvin"},{"email":"wang_cherry0312@163.com","name":"wangcherry"},{"email":"535961284@qq.com","name":"chestnutpcj"}],"readme":"# @b-design/ui-console-menu\n\n为阿里云控制台提供标准的应用级别的导航菜单，也可以应用在其他的中后台产品中\n\n### 1.0 的新特性\n\n##### 组件模块\n\n###### 基础导航菜单\n\n在之前的版本中默认导出的 `<ConsoleMenu>` 组件包含了完整的路由行为，在 1.0 中，默认导出的组件 **不再包含** 路由行为，你可以根据自己项目中的路由环境来映射 `<ConsoleMenu>` 的展现和行为（如设置 `activeKey` 等）。\n\n```javascript\nimport ConsoleMenu from '@b-design/ui-console-menu'\nimport { Route, Link } from 'react-router-dom'\n\nconst mapLocationToActiveKey = (location) => {\n  if (!location || !location.pathname || location.pathname === '/') {\n    return 'overview'\n  }\n\n  return location.pathname.replace(/^\\//, '')\n}\n\nconst App = () => (\n  <Route>\n    {\n      ({ location }) => (\n        <ConsoleMenu\n          header=\"Aliyun Console\"\n          activeKey={location.pathname}\n        >\n          <ConsoleMenu.Item key=\"overview\">\n            <Link to=\"/overview\">概览</Link>\n          </ConsoleMenu.Item>\n          <ConsoleMenu.Item key=\"list\">\n            <Link to=\"/list\">列表</Link>\n          </ConsoleMenu.Item>\n          <ConsoleMenu.SubMenu key=\"logs\">\n            <ConsoleMenu.Item key=\"daily\">\n              <Link to=\"/daily\">日常</Link>\n            </ConsoleMenu.Item>\n            <ConsoleMenu.Item key=\"prod\">\n              <Link to=\"/prod\">生产</Link>\n            </ConsoleMenu.Item>\n          </ConsoleMenu.SubMenu>\n        </ConsoleMenu>\n      )\n    }\n  </Route>\n)\n```\n\n你也可以用结构化的描述来定制 `<ConsoleMenu>` 的内容。下面的示例作用和上面的作用完全相同：\n\n```javascript\nimport ConsoleMenu from '@b-design/ui-console-menu'\nimport { Route, Link } from 'react-router-dom'\n\nconst mapLocationToActiveKey = (location) => {\n  if (!location || !location.pathname || location.pathname === '/') {\n    return 'overview'\n  }\n\n  return location.pathname.replace(/^\\//, '')\n}\n\nconst renderAsLink = ({ key, label }) => (\n  <Link to={`/${key}`}>{label}</Link>\n)\n\nconst items = [\n  { key: 'overview', label: '概览', render: renderAsLink },\n  { key: 'list', label: '列表', render: renderAsLink },\n  {\n    key: 'logs',\n    label: '列表',\n    items: [\n      { key: 'daily', label: '日常', render: renderAsLink },\n      { key: 'prod', label: '生产', render: renderAsLink, visible: false },\n    ]\n  },\n]\n\nconst App = () => (\n  <Route>\n    {\n      ({ location }) => (\n        <ConsoleMenu\n          header=\"Aliyun Console\"\n          items={items}\n          activeKey={location.pathname}\n        />\n      )\n    }\n  </Route>\n)\n```\n\n###### 带有路由功能的导航菜单\n\n如果你的项目使用了 `dva^2.0.0` ，我们也提供了 `<RoutableMenu>` 组件来提供与之适配的路由功能。\n\n_（截止目前为止， `<RoutableMenu>` 必须使用 items 进行结构化的传值，使用组件声明方式来编写子组件的方式可能会存在问题，我们计划在不久之后来修复这个问题）_\n\n```javascript\nimport RoutableMenu from '@b-design/ui-console-menu/RoutableMenu'\n\nconst items = [\n  {\n    // 在当前路由路径为 `/overview` 时将该 Item 变为选中状态\n    key: '/overview',\n    label: '概览',\n    // 点击该 Item 会跳转至 `/overview`\n    to: '/overview'\n  },\n  {\n    key: '/product/:region',\n    label: '产品',\n    to: '/product/cn-hangzhou'\n  },\n  {\n    // 在当前路由路径匹配 `/instance/:region?` 时将该 Item 变为选中状态\n    key: '/instance/:region?',\n    label: '实例',\n    to: (routeProps, item) => {\n      // 该方法并不是我们推荐的做法，只是为了表示 `to` 可以用函数表达式来声明：\n      // 第一个参数是当前的 route props ，第二个参数是当前的 item 的结构化信息\n      // 你可以利用这些信息来动态地返回需要进行跳转的 pathname 或 location\n      // 下面的这个例子使用了当前路由的匹配信息（注意：并不是对于该 item 的匹配）\n      // 来进行相应的跳转。如果当前的路由中包含 param: region ，（譬如从\n      // `/product/cn-hangzhou` 点击该 item 将会跳转到 `/instance/cn-hangzhou`\n      //\n      // 在实际项目中的最佳实践是直接派发父级 pathname ，然后在 <Route> 中通过上下文\n      // 或者其他方式进行路由重定向\n      //\n      const { match: { params: { region } = {} } = {} } = routeProps\n      return `/instance/${region}`\n    },\n    // 除了使用 `key` 来匹配单个的路由路径之外，还可以使用 `activePathPatterns` 来\n    // 尝试匹配多个路由路径，`<RoutableMenu>` 内置的匹配算法将会在尝试将当前的路径匹配\n    // `key` 失败之后，按照 `activePathPatterns` 指定的顺序依次进行尝试匹配，一旦匹配\n    // 成功，则将该 Item 变为选中状态\n    activePathPatterns: [\n      '/instance/:regionId/:instanceId',\n    ],\n  },\n  {\n    key: 'logs',\n    label: '列表',\n    items: [\n      {\n        key: '/daily',\n        label: '日常',\n        // 使用 href 将使用超链接的方式打开指定的链接，区别于应用内的路由跳转\n        href: 'https://daily.project.com',\n      },\n      {\n        key: '/prod',\n        label: '生产',\n        to: '/prod',\n      },\n    ]\n  },\n]\n\nconst App = () => (\n  <RoutableMenu header=\"Aliyun Console\" items={items} />\n)\n```\n\n#### 可高度定制的组件\n\n所有的展示组件（ Presentation Components ）都已经通过`StyledComponents`导出，这些组件可以作为样式自定义的切入点。如果你希望自定义 `<ConsoleMenu>` 的样式，可以使用 `styled-components` 的方式对样式进行修改，而不用担心对全局或其他模块产生冲突。如这个例子所示：\n\n```javascript\nimport styled from 'styled-components'\nimport ConsoleMenu, { StyledComponents } from '@b-design/ui-console-menu'\n\nconst CustomizedConsoleMenu = styled(ConsoleMenu)`\n  ${StyledComponents.Item} {\n    font-size: 14px;\n  }\n  /* any css is ok here */\n`\n// CustomizedConsoleMenu中的Item样式已经修改\n// ConsoleMenu的样式没有变化\n// 可以将CustomizedConsoleMenu理解为ConsoleMenu的“fork”\n\nconst App = () => (\n  <CustomizedConsoleMenu header=\"Aliyun Console\" items={[{ key: 'overview', label: '概览' }]} />\n)\n```\n\n### API 变动参考\n\n#### Props\n\n| 旧版本 | 1.0 | 说明 |\n| :---: | :---: | :--- |\n| `config.title` | `header` | `config` 属性中的 `title` 和 `navs` 定义分别调整为 props 中的 `header` 和 `items` ，绝大部分属于语义化和结构化的调整 |\n| `config.navs` | `items` | 同上，内部元素的调整可以参考 **Props.config.navs v.s. Props.items** 来浏览变更 |\n| `onClick` | `onItemClick` | 语义化调整 |\n| `open` | -- | 该属性已经被移除，导航菜单本身不应具备「展开」和「收起」的行为，这给其他组件的设计带来了一些不利因素；现在这些行为统一归纳到 `@ali/wind-rc-app-layout` 并受其控制，导航菜单不再对这些行为负责 |\n| `toggleOpen` | -- | 该属性已经被移除，导航菜单本身不应具备「展开」和「收起」的行为，这给其他组件的设计带来了一些不利因素；现在这些行为统一归纳到 `@ali/wind-rc-app-layout` 并受其控制，导航菜单不再对这些行为负责 |\n| `decentSubNav` | -- | 该属性已经被移除，现在该行为已经内置在默认的行为中，当一个父节点中的所有子节点都被设置成不可见时，该父节点也会相应地从当前组件树中移除 |\n| `params` | -- | 该属性已经被移除，可以使用 `RoutableMenu` 并声明 item 元素的 `to` 属性，由于该属性可以被声明为一个函数，该函数将在每次路由跳转之前执行并将返回结果作为跳转的目标 pathname 或 location，理论上你可以编写任何代码来执行路由跳转 |\n| `level` | -- | 该属性已经被移除，在新的设计规范中，L2 导航被调整到应用的内容区，相关的功能请参考 `@ali/wind-rc-page` |\n| `history` | -- | 该属性已经被移除，你可以直接使用 `<RoutableMenu>` 来获得操控应用路由的能力 |\n| `location` | -- | 该属性已经被移除，你可以直接使用 `<RoutableMenu>` 来获得操控应用路由的能力 |\n\n#### Props.config.navs[i] v.s. Props.items[i]\n\n| config.navs[i] | items[i] | 说明 |\n| :---: | :---: | :--- |\n| `key` | `key` | 在之前的版本中 key 既可以当做需要进行跳转的路径，也可以当做进行尝试匹配的路径，但是在新版本中，key 只会作为进行尝试匹配的路径，你需要使用 `to` 来定义需要进行跳转的路径。 |\n| -- | `to` | 在之前的版本中只需要定义 key 即可同时当做跳转路径和需要尝试匹配的路径，在新版本中，你 **必须** 定义 `to` 属性才可以正常进行跳转，具体用法可以参考 [RoutableItemDescriptor API](#RoutableItemDescriptor) |\n| -- | `linkProps` | 自定义内置 `Link` 组件的 props ，如果定义了 `to` ，`linkProps` 将透传至 React-Router [Link](https://reacttraining.com/react-router/web/api/Link) 组件；如果定义了 `href` ，则 `linkProps` 将透传至 `<a>` ，如 `target=\"_blank\"` 等 |\n| `title` | `label` | 定义默认显示的内容 |\n| `hide` | `visible` | 是否显示该菜单项，注意 `visible` 和 `hide` 的值是相反的 |\n| `url` | `href` | 使用超链接的方式打开指定的链接，区别于应用内的路由跳转 |\n| `highlight` | `activePathPatterns` | 需要尝试进行匹配并进行高亮的路由路径集合 |\n| `subNav` | `items` | 子菜单项 |\n| `type` | -- | 该属性已经被移除，现在每个 Item 的类型由 `label` / `to` / `href` 来定义：当只有 `label` 声明时，该 Item 将不具任何特质，等同于原有的 `type: \"title\"` ；声明了 `label` 的 Item 将具备默认的应用内路由跳转的能力，等同于原有的 `type: \"link\"` ；声明了 `href` 的 Item 将使用超链接的方式打开指定的链接，等同于原有的 `type: \"stateLink\"` |\n| `navs` | -- | 该属性已经被移除，在最新的视觉和交互规范中，L2 导航被放置到了右侧的内容区，你可以将 `<ConsoleMenu>` 传入 `@ali/wind-rc-page` 的 `<Page.Content>` 的 `menu` 属性中 |\n| `open` | -- | 该属性已经被移除，请使用组件的属性 `openKeys` 或 `defaultOpenKeys` 来进行手动控制 |\n\n##### 使用 L2 导航\n\n```javascript\nimport RoutableMenu from '@b-design/ui-console-menu/RoutableMenu'\nimport Page from '@ali/wind-rc-page'\n\nconst menu = (\n  <RoutableMenu\n    type=\"secondary\"\n    items={[]}\n  />\n)\n\nconst MyPage = () => (\n  <Page>\n    <Page.Content menu={menu}>\n      Hello, World\n    </Page.Content>\n  </Page>\n)\n```\n\n#### 视觉和交互\n\n- 移除关于 `width` / `min-width` 的限制，组件宽度自适应容器宽度\n- 更新主题颜色，适配最新的设计标准\n\n## 安装\n\n### 同级依赖\n\n在 **1.0 版本**中，`<ConsoleMenu>` 组件的同级依赖（ peer dependencies ）增加了 `styled-components` 为组件提供基础的样式能力，使用了 React Hooks 封装业务逻辑，并应用了一些其他的底层更新带来的问题修复和特性。请保证你的项目正确安装了下面的这些依赖\n\n| 依赖名称 | 版本 |\n| :--- | :---: |\n| `styled-components` | `^4.2.0` |\n| `react` | `^16.8.0` |\n| `react-dom` | `^16.8.0` |\n| `prop-types` | `^15.7.0` |\n| `@b-design/ui` | `^1.0.0` |\n\n### 安装最新版本\n\n```bash\nnpm i -S @b-design/ui-console-menu\n```\n\n## 使用示例\n\n### 基本使用\n\n下面的示例展示了使用 `<ConsoleMenu>` / `<ConsoleMenu.Item>` 以及 `<ConsoleMenu.SubMenu>` 等组件，组合而成一个完整的视图级别的导航菜单\n\n[$XView](https://xconsole.aliyun-inc.com/demo-playground?consoleOSId=ui-console-menu-docs&entryKey=basic)\n\n### 次级导航\n\n使用 `type=\"secondary\"` 可以将导航的样式变为次级导航，功能与主导航一致\n\n[$XView](https://xconsole.aliyun-inc.com/demo-playground?consoleOSId=ui-console-menu-docs&entryKey=secondary)\n\n### 组件受控\n\n使用 `activeKey` 可以控制导航的当前选中的 key ，下面的示例展示了如何结合 `<Route>` 和 `<Link>` 来自定义受路由控制的导航菜单\n\n[$XView](https://xconsole.aliyun-inc.com/demo-playground?consoleOSId=ui-console-menu-docs&entryKey=controlled-menu)\n\n### 使用结构化声明\n\n使用 `items` 可以将所有的菜单项进行结构化声明，就像 `Table.dataSource` 一样\n\n[$XView](https://xconsole.aliyun-inc.com/demo-playground?consoleOSId=ui-console-menu-docs&entryKey=with-items-declaration)\n\n### 可路由的导航菜单\n\n使用 `<RoutableMenu>` 可以获得常用的路由功能，如将当前路由路径映射到对应的 `activeKey` ，以及点击菜单项之后的路由跳转等功能\n\n_该功能同级依赖于 `dva^2.0.0` ，请确保你的项目中安装了该依赖的正确版本_\n\n[$XView](https://xconsole.aliyun-inc.com/demo-playground?consoleOSId=ui-console-menu-docs&entryKey=routable-menu)\n\n### 可切换header的导航菜单\n\n可以通过配置`headers`来为header提供数据源，当提供headers之后，header类型应为string非ReactNode, 否则会导致下拉菜单不能勾选☑️\n\n[$XView](https://xconsole.aliyun-inc.com/demo-playground?consoleOSId=ui-console-menu-docs&entryKey=switch-header)\n\n## APIs\n\n### ConsoleMenu\n\n继承`Nav`组件的props，下表不列出继承的属性。\n\n[$XView](https://xconsole.aliyun-inc.com/demo-playground?consoleOSId=ui-console-menu-docs&entryKey=types/IConsoleMenuProps)\n\n#### IItemDescriptor\n\n[$XView](https://xconsole.aliyun-inc.com/demo-playground?consoleOSId=ui-console-menu-docs&entryKey=types/IItemDescriptor)\n\n\n### RoutableMenu\n\n继承自 `<ConsoleMenu>` ，重复的属性不再赘述，请参阅 [ConsoleMenu API](#consolemenu)\n\n[$XView](https://xconsole.aliyun-inc.com/demo-playground?consoleOSId=ui-console-menu-docs&entryKey=types/IRoutableMenuProps)\n\n#### IRoutableItemDescriptor\n\n继承自 `IItemDescriptor` ，重复的属性不再赘述，请参阅 [IItemDescriptor](#iitemdescriptor)\n\n[$XView](https://xconsole.aliyun-inc.com/demo-playground?consoleOSId=ui-console-menu-docs&entryKey=types/IRoutableItemDescriptor)\n","readmeFilename":"README.md"}