{"_id":"@alicd/crui-top-nav","_rev":"24-0be7cef44a03c021ade5dc9d29dc4176","name":"@alicd/crui-top-nav","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@alicd/crui-top-nav","version":"0.0.1","author":{"name":"@alicd/walle"},"_id":"@alicd/crui-top-nav@0.0.1","maintainers":[{"name":"later_7","email":"tony7leek@gmail.com"}],"dist":{"shasum":"6030514789bbc51eedfa6ae1f42e7426be466e92","tarball":"https://registry.npmjs.org/@alicd/crui-top-nav/-/crui-top-nav-0.0.1.tgz","fileCount":52,"integrity":"sha512-1rVP3IUkklkKJWsVTISQGhKUPsfhWlHOA33JYGwy2zH5H17zM0hCdMguWjvGB8FCMm26cjGJ32w0ShPXOjSEkQ==","signatures":[{"sig":"MEQCIGKLUrE+nqsMENDw6yHFmXEx5gkpSo4yCCxTWChbEmrdAiBKsUqKYQpvORXIRWBF1xVF28xe6OvgNzDq+CCuJn8Teg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9708019,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdObyQCRA9TVsSAnZWagAA4MoP/j6w4t+0jCE5WYuYFGOW\n9XmEpJ3mjuwo9BxTcr5yr6HFb2U0zRTf3BGKYsVDgGKqMl57sK+Vt41Sfydd\norG1OIz9r444mLz1vq4lhNn83fjc7w/vGbvtbbD3CFDkZRC3gfyD0dRTA/ch\n9nRqNtdfLr9pyKlYDlQ6RDaE05EU9wp/vehoe6+JgOqOa3+h4BWcXVpn2PJT\nXh5Nc6oS+ZvOAgYO/+dChg8qMIIQ0I70sSUnp0ffZSpxVjEenOZYZbLBce26\ndYdLdbea33lCYUS9Eh+ESDSKWCha6CV6315fMOTR6GdJXbZA3NQdUPpAzp9i\nY/WU0aBX6Nzol4ANIaDCGcOTUfFibYN6qlUcEIHaldfP8KK6L747LWOqii+z\nrxgta8iag2wGgjCrp9p4JSeQTQEJJ2S9f5wMif/pTjcPjLBLYSpBiqUUir74\nNJo/KvEEdS9R2Z3WYZ5r3zshPeuUECS9u2jm8kUHo2CgCQAny7OjbnnaOeyD\n4/LlpCLiZi28ja2Nrpk+RnvFQkaVxDx1S8pEO/SDORoSfqW35fyO9SRPCrC5\nNF8+6qrJVOy/7yUosPbsqynWe7LP2EIEI0WiqvxU4MlqJ7ztmVNtqYatMg98\nlxLi3IkCjIKd6CG9VFP5+bwraQ2KiYWgy8MkOA+Csimzs19CDrzsIT0Q/Fsi\nhe+l\r\n=ktVS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","scripts":{"dev":"rm -rf ./site && NODE_ENV=development webpack --config webpack.config.babel.js --progress && webpack-dev-server","pub":"rm -rf ./lib && rm -rf ./dist && babel src --copy-file --extensions .js,.jsx --out-dir lib && npm run prod","demo":"rm -rf ./site ./_data && NODE_ENV=demo webpack-dev-server --config webpack.config.babel.js --progress","prod":"NODE_ENV=production webpack --config webpack.config.babel.js --progress","build":"babel src -d lib & webpack --config webpack.config.babel.js --progress","clean":"rm -rf ./dist ./lib ./site","start":"npm run dev","watch":"webpack --watch"},"_npmUser":{"name":"later_7","email":"tony7leek@gmail.com"},"_npmVersion":"5.6.0","description":"--- category: Components type: UI Views component: Base chinese: 导航（收纳式） english: TopNav ---","directories":{},"_nodeVersion":"9.8.0","dependencies":{"recompose":"^0.28.2","classnames":"^2.2.5","react-transition-group":"^2.2.1","@alicd/crui-inter-dialog":"0.x","@alicd/crui-next-adapter-variable":"1.x"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^2.6.1","babel-cli":"^6.24.1","node-sass":"^4.5.3","babel-core":"^6.25.0","css-loader":"^0.28.4","@alicd/next":"0.x","file-loader":"^0.11.2","sass-loader":"^6.0.6","autoprefixer":"^7.1.1","babel-eslint":"^7.2.3","babel-loader":"^7.1.1","style-loader":"^0.18.2","babel-runtime":"^6.23.0","webpack-merge":"^4.1.0","md-meta-loader":"^0.0.4","babel-preset-react":"^6.24.1","webpack-dev-server":"^2.8.2","babel-plugin-import":"^1.4.0","babel-preset-es2015":"^6.24.1","html-webpack-plugin":"^2.29.0","@alicd/cn-search-bar":"^0.x","@alicd/dpl-rookie1-0":"^2.0.3","babel-preset-stage-0":"^6.24.1","escape-string-regexp":"^1.0.5","jsonml-to-react-component":"^0.2.6","extract-text-webpack-plugin":"^2.1.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-add-module-exports":"^0.2.1","@alicd/crui-next-adapter-variable":"1.x"},"peerDependencies":{"@alicd/next":"0.x"},"_npmOperationalInternal":{"tmp":"tmp/crui-top-nav_0.0.1_1564064911704_0.4505686647835061","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-07-25T14:28:31.485Z","modified":"2024-07-15T07:14:20.016Z","0.0.1":"2019-07-25T14:28:31.926Z"},"author":{"name":"@alicd/walle"},"description":"--- category: Components type: UI Views component: Base chinese: 导航（收纳式） english: TopNav ---","maintainers":[{"email":"hahaiwin@163.com","name":"hahaiwin"},{"email":"1149518004@qq.com","name":"snowden_"},{"email":"1312065793@qq.com","name":"vincent.ljq"},{"email":"595620510@qq.com","name":"zhen.hz"},{"email":"251250076@qq.com","name":"cismous"},{"email":"juntao.wjt@alibaba-inc.com","name":"juntao.wjt"},{"email":"xiongqi.me@foxmail.com","name":"xiongqi"},{"email":"guoli.ygl@cainiao.com","name":"mingche_286130"},{"email":"joshuasui@163.com","name":"joshuasui"},{"email":"maopengcheng1994@gmail.com","name":"mmpc"},{"email":"littlehmy@163.com","name":"0little"},{"email":"yf871020@163.com","name":"yf871020"},{"email":"zyy7259@gmail.com","name":"zyy7259"},{"email":"tony7leek@gmail.com","name":"later_7"},{"email":"775710651@qq.com","name":"qijian1990"},{"email":"xiekaif@163.com","name":"gepik"},{"email":"yanzhe.xyz@alibaba-inc.com","name":"jimmyxuster"},{"email":"laijianqing@gmail.com","name":"helloljq"},{"email":"rentj1@163.com","name":"rentj1"},{"email":"zhangqing332@live.com","name":"js8zq332"},{"email":"527710279@qq.com","name":"xiaobc"}],"readme":"---\ncategory: Components\ntype: UI Views\ncomponent: Base\nchinese: 导航（收纳式）\nenglish: TopNav\n---\n\n收纳式吊顶导航组件。\n\n### 规则\n\n## API\n\n### TopNav\n\n导航头部组件，包含导航条、抽屉菜单等，以及对鼠标焦点、当前选中项、当前钉菜单等数据的管理能力等。完整的导航需配合 `TopNav.MenuContent`，`TopNav.BarContent`，`TopNav.PinnedMenu` 以及用户所自定义的产品 LOGO、用户信息等共同构建（详见 Demo）。\n\n| 参数           | 说明                                                                                 | 类型       | 默认值     |\n| ------------ | ---------------------------------------------------------------------------------- | -------- | ------- |\n| className | 自定义类名 | `string` | N/A |\n| style | 组件接受行内样式 | `object` | N/A |\n| hoveredKey | 当前用户鼠标在抽屉菜单中悬浮的菜单项所对应的 `key` | `string` | N/A |\n| onHover | 用户鼠标在抽屉菜单中浮到另一个菜单项或切换一级菜单时触发的回调 | `(hoveredKey: string) => void` | N/A |\n| selectedKeys | 显示选中样式的菜单项 | `string[]` | `[]` |\n| pinnedKeys | 当前被钉的菜单项 | `string[]` | `[]` |\n| onPinnedKeysChange | 用户使用设置对话框更改被钉的菜单项时所触发的回调 | `(pinnedKeys: string[]) => void` | N/A |\n| dataSource | 指定用来渲染菜单的数据，数据格式见本页面“规则”中的描述，或可利用 `dataRenderCallback` 属性自定义 | `object[]` | N/A |\n| extraRender | 使用 `dataSource` 时，用来渲染每个菜单项右侧的部分的回调 | `(node: object) => ReactNode` | N/A |\n| itemOnClick | 使用 `dataSource` 时，点击菜单项所触发的回调 | `(node: object) => void` | 默认为空 |\n| hasDrawer | 是否显示展开抽屉菜单的按钮 | `boolean` | `true` |\n| dataRenderCallback | 使用 `dataSource` 属性时的具体渲染逻辑 | `(node: object) => [object, object[]]` | 默认渲染逻辑见 Demo |\n\n\n### TopNav.MenuContent\n\n菜单内容的容器，放在 `TopNav` 组件下，子级必须为 `TopNav.Item` 组件。\n\n该子组件无属性。\n\n### TopNav.BarContent\n\n导航条内容的容器（`TopNav` 默认包含抽屉菜单按钮），放在 `TopNav` 组件下，子级为用户所自定义的导航条内容。\n\n该子组件无属性。\n\n### TopNav.Item\n\n描述菜单项节点，放在 `TopNav.MenuContent` 中。可以选择使用 `dataSource` 属性**或者** `TopNav.Item` 来。\n\n| 参数           | 说明                                                                                 | 类型       | 默认值     |\n| ------------ | ---------------------------------------------------------------------------------- | -------- | ------- |\n| className | 自定义类名 | `string` | N/A |\n| style | 组件接受行内样式 | `object` | N/A |\n| title | 该菜单项显示出的标题 | `ReactNode` | N/A |\n| extra | 该菜单项右侧所显示的内容 | `ReactNode` | N/A |\n| onClick | 点击该菜单项的回调 | `(e: Event) => void` | N/A |\n\n### TopNav.PinnedMenu\n\n该子组件需放在 `TopNav.BarContent` 子组件下，作为导航条的一部分出现。根据 `TopNav` 的 `dataSource` 或 `TopNav.MenuContent` 中的数据以及 `pinnedKeys` 值，将被钉的菜单项显示在导航条上。\n\n| 参数           | 说明                                                                                 | 类型       | 默认值     |\n| ------------ | ---------------------------------------------------------------------------------- | -------- | ------- |\n| className | 自定义类名 | `string` | N/A |\n| style | 组件接受行内样式 | `object` | N/A |\n\n### TopNav.Placeholder\n\n### TopNav.External\n\n`TopNav.PinnedMenu` 的独立版本，可脱离 `TopNav` 和 `TopNav.BarContent` 独立使用，显示所有子菜单项（无菜单是否被钉的状态区分）。非特殊需求请忽略本子组件，不要使用。\n\n| 参数           | 说明                                                                                 | 类型       | 默认值     |\n| ------------ | ---------------------------------------------------------------------------------- | -------- | ------- |\n| className | 自定义类名 | `string` | N/A |\n| style | 组件接受行内样式 | `object` | N/A |\n| hoveredKey | 当前用户鼠标在抽屉菜单中悬浮的菜单项所对应的 `key` | `string` | N/A |\n| onHover | 用户鼠标在抽屉菜单中浮到另一个菜单项或切换一级菜单时触发的回调 | `(hoveredKey: string) => void` | N/A |\n| selectedKeys | 显示选中样式的菜单项 | `string[]` | `[]` |\n| dataSource | 指定用来渲染菜单的数据，数据格式见本页面“规则”中的描述，或可利用 `dataRenderCallback` 属性自定义 | `object[]` | N/A |\n| extraRender | 使用 `dataSource` 时，用来渲染每个菜单项右侧的部分的回调 | `(node: object) => ReactNode` | N/A |\n| itemOnClick | 使用 `dataSource` 时，点击菜单项所触发的回调 | `(node: object) => void` | 默认为空 |\n| dataRenderCallback | 使用 `dataSource` 属性时的具体渲染逻辑 | `(node: object) => [object, object[]]` | 默认渲染逻辑见本页面“规则”中的描述 |\n","readmeFilename":"README.md"}