From b06a850cf367ba9a6e85a075d74e7ff2bf2978de Mon Sep 17 00:00:00 2001 From: KeiferJu Date: Tue, 12 May 2020 14:27:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0nav=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/src/components/Sidebar.svelte | 4 +- docs/src/routes/components/jsdocs.json | 154 ++++++++++++++++------- docs/src/routes/components/layout.svelte | 37 +++--- docs/src/routes/components/nav.svelte | 115 +++++++++++++++++ src/components/Layout/index.js | 4 +- src/components/Nav/Nav.svelte | 46 +++++++ src/components/Nav/NavItem.svelte | 29 +++++ src/components/Nav/NavLayout.svelte | 32 +++++ src/components/Nav/index.js | 10 ++ src/index.js | 40 ++++-- 10 files changed, 392 insertions(+), 79 deletions(-) create mode 100644 docs/src/routes/components/nav.svelte create mode 100644 src/components/Nav/Nav.svelte create mode 100644 src/components/Nav/NavItem.svelte create mode 100644 src/components/Nav/NavLayout.svelte create mode 100644 src/components/Nav/index.js diff --git a/docs/src/components/Sidebar.svelte b/docs/src/components/Sidebar.svelte index 5046671..8174640 100644 --- a/docs/src/components/Sidebar.svelte +++ b/docs/src/components/Sidebar.svelte @@ -8,8 +8,8 @@ import difference from 'lodash/difference' import { Svelma as Components } from 'svelma-pro' - const formComponents = ['Input', 'Field', 'Switch'].sort() - const omittedComponents = ['Tab'] + const formComponents = ['Input', 'Field', 'Switch'].sort() // Form + const omittedComponents = ['Tab','Sider','Content','Footer','Header','NavItem','NavLayout'] // 子选项不显示 let components = ['Form', ...Object.keys(Components)].sort() components = difference(components, [...formComponents, ...omittedComponents]) diff --git a/docs/src/routes/components/jsdocs.json b/docs/src/routes/components/jsdocs.json index 09e20e2..a82a0a3 100644 --- a/docs/src/routes/components/jsdocs.json +++ b/docs/src/routes/components/jsdocs.json @@ -1,6 +1,5 @@ { - "Button": [ - { + "Button": [{ "description": "用于按钮的html标记 (选择 'a' or 'button')", "type": [ "String" @@ -52,8 +51,7 @@ "values": "任何原生按钮类型 (button, submit, reset)" } ], - "Collapse": [ - { + "Collapse": [{ "description": "折叠是否打开", "type": [ "boolean" @@ -72,8 +70,7 @@ "values": "Any animation that ships with Svelte" } ], - "Carousel":[ - { + "Carousel": [{ "description": "图片列表(url路径数组)", "type": [ "Array" @@ -155,8 +152,7 @@ "values": "slide,fade,cube,coverflow,flip" } ], - "Datepicker": [ - { + "Datepicker": [{ "description": "当前日期", "type": [ "timestamp" @@ -204,7 +200,7 @@ { "description": "当disableDateRule为piecemeal时,格式为['2020-3-1','2020-3-2'...] 当disableDateRule为range时,格式为[{start:'2019-3-27'},{end:'2020-3-27'}]", "type": [ - "Array","Object" + "Array", "Object" ], "defaultvalue": "", "name": "disableDate", @@ -221,8 +217,7 @@ }, { "description": "选取结果,请与外部变量绑定来获取结果值", - "type": [ - ], + "type": [], "defaultvalue": "''", "name": "pickerResult", "values": "" @@ -259,7 +254,7 @@ "defaultvalue": "left", "name": "align", "values": "'left'、'center'、'right'" - },{ + }, { "description": "图标", "type": [ "Boolean" @@ -267,7 +262,7 @@ "defaultvalue": "true", "name": "icon", "values": "" - },{ + }, { "description": "输入框样式类", "type": [ "String" @@ -277,8 +272,7 @@ "values": "" } ], - "Timepicker": [ - { + "Timepicker": [{ "description": "多语言", "type": [ "String" @@ -328,7 +322,7 @@ "defaultvalue": "left", "name": "align", "values": "'left'、'center'、'right'" - },{ + }, { "description": "图标", "type": [ "Boolean" @@ -336,7 +330,7 @@ "defaultvalue": "true", "name": "icon", "values": "" - },{ + }, { "description": "输入框样式类", "type": [ "String" @@ -346,8 +340,7 @@ "values": "" } ], - "Dialog": [ - { + "Dialog": [{ "description": "Show a header on the dialog with this text", "type": [ "String" @@ -483,8 +476,7 @@ } ], "Dropdown": [], - "Field": [ - { + "Field": [{ "meta": { "filename": "Field.svelte", "lineno": 6, @@ -726,8 +718,7 @@ } ], "Icon": [], - "Input": [ - { + "Input": [{ "meta": { "filename": "Input.svelte", "lineno": 7, @@ -1074,8 +1065,7 @@ "Layout": [], "Sider": [], "Message": [], - "Modal": [ - { + "Modal": [{ "description": "是否激活模态框", "type": [ "Boolean" @@ -1083,7 +1073,7 @@ "defaultvalue": "false", "name": "active", "values": "" - },{ + }, { "description": "宽度", "type": [ "String" @@ -1091,7 +1081,7 @@ "defaultvalue": "false", "name": "width", "values": "" - },{ + }, { "description": "高度", "type": [ "String" @@ -1099,7 +1089,7 @@ "defaultvalue": "false", "name": "height", "values": "" - },{ + }, { "description": "标题", "type": [ "String" @@ -1107,7 +1097,7 @@ "defaultvalue": "Modal title", "name": "title", "values": "" - },{ + }, { "description": "是否显示左上角关闭按钮", "type": [ "Boolean" @@ -1115,7 +1105,7 @@ "defaultvalue": "true", "name": "showClose", "values": "" - },{ + }, { "description": "是否显示遮罩", "type": [ "Boolean" @@ -1123,7 +1113,7 @@ "defaultvalue": "true", "name": "backdrop", "values": "" - },{ + }, { "description": "遮罩存在时,是否点击关闭", "type": [ "Boolean" @@ -1131,7 +1121,7 @@ "defaultvalue": "true", "name": "backdropClose", "values": "" - },{ + }, { "description": "是否显示头部", "type": [ "Boolean" @@ -1149,8 +1139,7 @@ ], "Notice": [], "Notices": [], - "Notification": [ - { + "Notification": [{ "meta": { "filename": "Notification.svelte", "lineno": 9, @@ -1458,8 +1447,7 @@ "NotificationNotice": [], "Pagination": [], "PaginationLink": [], - "Progress": [ - { + "Progress": [{ "meta": { "filename": "Progress.svelte", "lineno": 7, @@ -1612,8 +1600,7 @@ "___s": true } ], - "Snackbar": [ - { + "Snackbar": [{ "meta": { "filename": "Snackbar.svelte", "lineno": 7, @@ -1768,8 +1755,7 @@ "___s": true } ], - "Switch": [ - { + "Switch": [{ "meta": { "filename": "Switch.svelte", "lineno": 4, @@ -1895,8 +1881,7 @@ "values": "" } ], - "Tab": [ - { + "Tab": [{ "meta": { "filename": "Tab.svelte", "lineno": 6, @@ -1985,8 +1970,7 @@ "___s": true } ], - "Tabs": [ - { + "Tabs": [{ "meta": { "filename": "Tabs.svelte", "lineno": 9, @@ -2115,8 +2099,7 @@ "values": "序号" } ], - "Toast": [ - { + "Toast": [{ "meta": { "filename": "Toast.svelte", "lineno": 7, @@ -2270,5 +2253,82 @@ "memberof": "module:Toast", "___s": true } - ] + ], + "Nav": [{ + "description": "高度", + "type": [ + "String" + ], + "defaultvalue": "auto", + "name": "height", + "values": "" + }, { + "description": "logo地址", + "type": [ + "String" + ], + "defaultvalue": "/logo.png", + "name": "logoImg", + "values": "" + }, { + "description": "logo点击跳转地址", + "type": [ + "String" + ], + "defaultvalue": "/", + "name": "logoUrl", + "values": "" + }, { + "description": "logo高度", + "type": [ + "String" + ], + "defaultvalue": "auto", + "name": "logoH", + "values": "" + }, { + "description": "logo宽度", + "type": [ + "String" + ], + "defaultvalue": "40px", + "name": "logoW", + "values": "" + }, { + "description": "背景", + "type": [ + "String" + ], + "defaultvalue": "rgb(242, 242, 242)", + "name": "background", + "values": "" + }], + "NavItem": [{ + "description": "是否开启下拉列表", + "type": [ + "Boolean" + ], + "defaultvalue": "false", + "name": "isHover", + "values": "" + }, + { + "description": "开启下拉列表情况下,slot='hover'插入下拉列表内容", + "type": [ + "slot" + ], + "defaultvalue": "''", + "name": "slot", + "values": "hover,''" + } + ], + "NavLayout": [{ + "description": "NavItem布局", + "type": [ + "String" + ], + "defaultvalue": "center", + "name": "navPosition", + "values": "center,start,end" + }] } \ No newline at end of file diff --git a/docs/src/routes/components/layout.svelte b/docs/src/routes/components/layout.svelte index 38fc951..43af3b3 100644 --- a/docs/src/routes/components/layout.svelte +++ b/docs/src/routes/components/layout.svelte @@ -6,12 +6,13 @@ return { jsdoc } } + @@ -19,37 +20,33 @@ - import { Layout, Children } from 'svelma-pro'; - - - - + code={` + 侧边栏 - + - +
头部 - - +
+ 内容 - - + +
脚部 - +
`}>
- 侧边栏 + 侧边栏 - 头部 - 内容 - 脚部 +
头部
+ 内容 +
脚部
- \ No newline at end of file + diff --git a/docs/src/routes/components/nav.svelte b/docs/src/routes/components/nav.svelte new file mode 100644 index 0000000..247ce32 --- /dev/null +++ b/docs/src/routes/components/nav.svelte @@ -0,0 +1,115 @@ + + + + + + + import { Nav, NavItem, NavLayout } from 'svelma-pro' + + + +`}> +
+ +
+
+ +
+ +

下拉列表

+ + + import { Nav, NavItem, NavLayout } from 'smx-svelma' + + + +`}> +
+ +
+
+ +
+ +

API

+ +

Nav

+ + + +
+
+ +

NavItem

+ + + +
+
+ +

NavLayout

+ + \ No newline at end of file diff --git a/src/components/Layout/index.js b/src/components/Layout/index.js index 6b820ec..b29cae7 100644 --- a/src/components/Layout/index.js +++ b/src/components/Layout/index.js @@ -3,9 +3,7 @@ import Header from './Header.svelte' import Content from './Content.svelte' import Sider from './Sider.svelte' import Footer from './Footer.svelte' -export {Layout} - -export const Children = { +export { Layout, Header, Content, diff --git a/src/components/Nav/Nav.svelte b/src/components/Nav/Nav.svelte new file mode 100644 index 0000000..80c7a84 --- /dev/null +++ b/src/components/Nav/Nav.svelte @@ -0,0 +1,46 @@ + + + + + diff --git a/src/components/Nav/NavItem.svelte b/src/components/Nav/NavItem.svelte new file mode 100644 index 0000000..93084b5 --- /dev/null +++ b/src/components/Nav/NavItem.svelte @@ -0,0 +1,29 @@ + + + + +{#if isHover} + +{:else} + +{/if} diff --git a/src/components/Nav/NavLayout.svelte b/src/components/Nav/NavLayout.svelte new file mode 100644 index 0000000..9641d82 --- /dev/null +++ b/src/components/Nav/NavLayout.svelte @@ -0,0 +1,32 @@ + + + + +{#if navPosition === 'center'} + +{:else if navPosition === 'end'} + +{:else} + +{/if} diff --git a/src/components/Nav/index.js b/src/components/Nav/index.js new file mode 100644 index 0000000..4f94d5f --- /dev/null +++ b/src/components/Nav/index.js @@ -0,0 +1,10 @@ +import Nav from './Nav.svelte' +import NavItem from './NavItem.svelte' +import NavLayout from './NavLayout.svelte' + +export default Nav; +export { + Nav, + NavItem, + NavLayout +} \ No newline at end of file diff --git a/src/index.js b/src/index.js index de79e56..5224d01 100644 --- a/src/index.js +++ b/src/index.js @@ -11,14 +11,27 @@ import Notification from './components/Notification' import Progress from './components/Progress.svelte' import Snackbar from './components/Snackbar' import Switch from './components/Switch.svelte' -import { Tabs, Tab } from './components/Tabs' +import { + Tabs, + Tab +} from './components/Tabs' import Toast from './components/Toast' -import {Layout, Children} from './components/Layout' +import { + Layout, + Header, + Content, + Sider, + Footer +} from './components/Layout' import Pagination from './components/Pagination/Pagination.svelte' import Datepicker from './components/DatePicker/Datepicker.svelte' import Timepicker from './components/Timepicker/TimePicker.svelte' import Carousel from './components/carousel/Carousel.svelte' - +import { + Nav, + NavItem, + NavLayout +} from './components/Nav' export { Button, Collapse, @@ -36,11 +49,17 @@ export { Tab, Toast, Layout, - Children, + Header, + Content, + Sider, + Footer, Pagination, Datepicker, Timepicker, - Carousel + Carousel, + Nav, + NavItem, + NavLayout } export const Svelma = { @@ -60,8 +79,15 @@ export const Svelma = { Tab, Toast, Layout, + Header, + Content, + Sider, + Footer, Pagination, Datepicker, Timepicker, - Carousel -} + Carousel, + Nav, + NavItem, + NavLayout +} \ No newline at end of file