From a247c5ca9ca8a9ed637111667e959dc6dc0998ef Mon Sep 17 00:00:00 2001 From: yangjinjun3 <44964193+yangjinjun3@users.noreply.github.com> Date: Fri, 10 Sep 2021 17:15:29 +0800 Subject: [PATCH] feat: add divider (#644) Co-authored-by: johnyang2017 --- src/config.json | 11 +++ src/packages/__VUE/divider/demo.vue | 46 +++++++++++ src/packages/__VUE/divider/doc.md | 78 +++++++++++++++++++ src/packages/__VUE/divider/index.scss | 54 +++++++++++++ src/packages/__VUE/divider/index.taro.vue | 49 ++++++++++++ src/packages/__VUE/divider/index.vue | 49 ++++++++++++ src/sites/mobile-taro/vue/src/app.config.ts | 3 +- .../src/base/pages/divider/index.config.ts | 3 + .../vue/src/base/pages/divider/index.vue | 44 +++++++++++ 9 files changed, 336 insertions(+), 1 deletion(-) create mode 100644 src/packages/__VUE/divider/demo.vue create mode 100644 src/packages/__VUE/divider/doc.md create mode 100644 src/packages/__VUE/divider/index.scss create mode 100644 src/packages/__VUE/divider/index.taro.vue create mode 100644 src/packages/__VUE/divider/index.vue create mode 100644 src/sites/mobile-taro/vue/src/base/pages/divider/index.config.ts create mode 100644 src/sites/mobile-taro/vue/src/base/pages/divider/index.vue diff --git a/src/config.json b/src/config.json index c1b79f73c..386cd9768 100644 --- a/src/config.json +++ b/src/config.json @@ -171,6 +171,17 @@ "sort": 14, "show": true, "author": "szg2008" + }, + { + "version": "3.0.0", + "name": "Divider", + "taro": true, + "type": "component", + "cName": "分割线", + "desc": "用于将内容分隔为多个区域。", + "sort": 23, + "show": true, + "author": "yangjinjun3" } ] }, diff --git a/src/packages/__VUE/divider/demo.vue b/src/packages/__VUE/divider/demo.vue new file mode 100644 index 000000000..5d2e03955 --- /dev/null +++ b/src/packages/__VUE/divider/demo.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/packages/__VUE/divider/doc.md b/src/packages/__VUE/divider/doc.md new file mode 100644 index 000000000..dd953b230 --- /dev/null +++ b/src/packages/__VUE/divider/doc.md @@ -0,0 +1,78 @@ +# Divider 分割线 + +### 介绍 + +用于将内容分隔为多个区域。 + +### 安装 +``` javascript +import { createApp } from 'vue'; +// vue +import { Divider } from '@nutui/nutui'; +// taro +import { Divider } from '@nutui/nutui-taro'; + +const app = createApp(); +app.use(Divider); +``` + + +## 代码演示 + +### 基础用法 + +默认渲染一条水平分割线。 + +``` html + +``` + +### 展示文本 + +通过插槽在可以分割线中间插入内容。 + +``` html +文本 +``` + +### 内容位置 + +通过 content-position 指定内容所在位置。 + +``` html +文本 +文本 +``` + +### 虚线 + +添加 dashed 属性使分割线渲染为虚线。 + +``` html + +``` + +### 自定义样式 + +可以直接通过 style 属性设置分割线的样式。 + +``` html +文本 +``` + +## API + +### Props + +| 参数 | 说明 | 类型 | 默认值 | +|--------------|----------------------------------|--------|------------------| +| dashed | 是否使用虚线 | Boolean | false | +| hairline | 是否使用 0.5px 线 | Boolean | true | +| content-position | 内容位置,可选值为left right | String | center | + +### Slots + +| 名称 | 说明 | +|--------|----------------| +| default | 内容 | + \ No newline at end of file diff --git a/src/packages/__VUE/divider/index.scss b/src/packages/__VUE/divider/index.scss new file mode 100644 index 000000000..142035f9d --- /dev/null +++ b/src/packages/__VUE/divider/index.scss @@ -0,0 +1,54 @@ +.nut-divider { + display: flex; + align-items: center; + font-size: 28px; + color: #909ca4; + margin: 16px 0; + width: 100%; + + &::before, + &::after { + content: ''; + border: 1px solid currentColor; + border-width: 1px 0 0; + flex: 1; + } + + &.nut-divider-center, + &.nut-divider-left, + &.nut-divider-right { + &::before { + margin-right: 16px; + } + + &::after { + margin-left: 16px; + } + } + + &.nut-divider-left { + &::before { + max-width: 10%; + } + } + + &.nut-divider-right { + &::after { + max-width: 10%; + } + } + + &.nut-divider-dashed { + &::before, + &::after { + border-style: dashed; + } + } + + &.nut-divider-hairline { + &::before, + &::after { + transform: scaleY(0.5); + } + } +} diff --git a/src/packages/__VUE/divider/index.taro.vue b/src/packages/__VUE/divider/index.taro.vue new file mode 100644 index 000000000..fd19012a1 --- /dev/null +++ b/src/packages/__VUE/divider/index.taro.vue @@ -0,0 +1,49 @@ + + + + diff --git a/src/packages/__VUE/divider/index.vue b/src/packages/__VUE/divider/index.vue new file mode 100644 index 000000000..fd19012a1 --- /dev/null +++ b/src/packages/__VUE/divider/index.vue @@ -0,0 +1,49 @@ + + + + diff --git a/src/sites/mobile-taro/vue/src/app.config.ts b/src/sites/mobile-taro/vue/src/app.config.ts index 25a8ac90a..989dad006 100644 --- a/src/sites/mobile-taro/vue/src/app.config.ts +++ b/src/sites/mobile-taro/vue/src/app.config.ts @@ -35,7 +35,8 @@ export default { 'pages/price/index', 'pages/button/index', 'pages/avatar/index', - 'pages/overlay/index' + 'pages/overlay/index', + 'pages/divider/index' ] }, { diff --git a/src/sites/mobile-taro/vue/src/base/pages/divider/index.config.ts b/src/sites/mobile-taro/vue/src/base/pages/divider/index.config.ts new file mode 100644 index 000000000..4a0dcaac5 --- /dev/null +++ b/src/sites/mobile-taro/vue/src/base/pages/divider/index.config.ts @@ -0,0 +1,3 @@ +export default { + navigationBarTitleText: 'Divider' +}; diff --git a/src/sites/mobile-taro/vue/src/base/pages/divider/index.vue b/src/sites/mobile-taro/vue/src/base/pages/divider/index.vue new file mode 100644 index 000000000..b17df9104 --- /dev/null +++ b/src/sites/mobile-taro/vue/src/base/pages/divider/index.vue @@ -0,0 +1,44 @@ + + + + + -- GitLab