@zfqh/uniapp 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/docs/components/styles/base-styles.md +239 -367
- package/docs/guide/project-frame.md +26 -2
- package/docs/index.md +1 -1
- package/lib/components/g-back-button/g-back-button.vue +2 -2
- package/lib/components/g-checkbox-list/g-checkbox-list.vue +1 -1
- package/lib/components/g-float/g-float.vue +1 -1
- package/lib/components/g-grid-image/g-grid-image.vue +1 -1
- package/lib/components/g-grid-swiper/g-grid-swiper.vue +1 -1
- package/lib/components/g-more/g-more.vue +2 -2
- package/lib/components/g-page-container/g-page-container.vue +1 -1
- package/lib/components/g-popup/g-popup.vue +3 -3
- package/lib/components/g-refresh-view/g-refresh-view.vue +1 -1
- package/lib/components/g-search/g-search.vue +4 -4
- package/lib/components/g-share-photo/g-share-photo.vue +1 -1
- package/lib/components/g-share-view/g-share-view.vue +2 -2
- package/lib/components/g-share-weixin/g-share-weixin.vue +1 -1
- package/lib/components/g-tag-editor/g-tag-editor.vue +2 -2
- package/lib/components/g-trtc-room/g-trtc-room.vue +1 -1
- package/lib/styles/bg.scss +1 -22
- package/lib/styles/border.scss +1 -158
- package/lib/styles/{flex-vue.scss → flex.scss} +15 -12
- package/lib/styles/index.scss +5 -17
- package/lib/styles/layout.scss +17 -75
- package/lib/styles/reset-vue.scss +3 -1
- package/lib/styles/text-nvue.scss +1 -10
- package/lib/styles/text-vue.scss +0 -55
- package/lib/styles/text.scss +1 -43
- package/lib/styles/var.module.scss +1 -0
- package/package.json +2 -2
- package/lib/styles/animate-vue.scss +0 -3
- package/lib/styles/animate.scss +0 -27
- package/lib/styles/bg-vue.scss +0 -21
- package/lib/styles/flex-nvue.scss +0 -64
- package/lib/styles/font.scss +0 -59
- package/lib/styles/layout-nvue.scss +0 -24
- package/lib/styles/layout-vue.scss +0 -30
- package/lib/styles/opacity.scss +0 -10
- package/lib/styles/shadow.scss +0 -12
- package/lib/styles/sizing-vue.scss +0 -21
- package/lib/styles/sizing.scss +0 -21
- package/lib/styles/spacing.scss +0 -234
|
@@ -253,15 +253,39 @@ export function getToken() {
|
|
|
253
253
|
|
|
254
254
|
## 样式接入
|
|
255
255
|
|
|
256
|
-
`@zfqh/uniapp`
|
|
256
|
+
`@zfqh/uniapp` 内置的静态样式仅覆盖平台差异类和使用 `$uv-*` SCSS 变量的语义色类,间距、尺寸、字号、圆角、透明度、阴影等通用原子类由 `@gmcb/vite` 的 unocss 插件在构建时动态生成。
|
|
257
|
+
|
|
258
|
+
在项目全局样式中导入静态样式,放在 `App.vue` 的 `<style>` 块:
|
|
257
259
|
|
|
258
260
|
```scss
|
|
259
|
-
/* App.vue 的 <style> 块 */
|
|
260
261
|
@import '@zfqh/uniapp/lib/styles/index.scss';
|
|
261
262
|
```
|
|
262
263
|
|
|
263
264
|
此入口同时引入 `@gmcb/uv-ui/index.scss`,无需再单独导入 uv-ui 基础样式。
|
|
264
265
|
|
|
266
|
+
### 配置 unocss 插件
|
|
267
|
+
|
|
268
|
+
在 `vite.config.js` 中注册 unocss 插件,并传入 `blockList` 避免与内置静态类名冲突:
|
|
269
|
+
|
|
270
|
+
```js
|
|
271
|
+
import { join } from 'path';
|
|
272
|
+
import { defineConfig } from '@gmcb/vite';
|
|
273
|
+
import { unocss } from '@gmcb/vite/lib/plugins';
|
|
274
|
+
import { blockList } from '@gmcb/vite/lib/unocss';
|
|
275
|
+
|
|
276
|
+
// 解决工程化和非工程化编译兼容问题
|
|
277
|
+
const uni = require(join(process.cwd(), 'node_modules/@dcloudio/vite-plugin-uni')).default;
|
|
278
|
+
|
|
279
|
+
export default defineConfig({
|
|
280
|
+
plugins: [
|
|
281
|
+
uni(),
|
|
282
|
+
unocss({
|
|
283
|
+
blockList,
|
|
284
|
+
}),
|
|
285
|
+
],
|
|
286
|
+
});
|
|
287
|
+
```
|
|
288
|
+
|
|
265
289
|
### 覆盖 SCSS 主题变量
|
|
266
290
|
|
|
267
291
|
如果项目通过 `defineConfig({ color })` 覆盖了主题色,建议同步覆盖 SCSS 变量,确保 uv-ui 组件和工具类使用一致的颜色。在 `uni.scss` 中先导入 `@gmcb/uv-ui/theme.scss` 默认变量,再声明同名变量覆盖:
|
package/docs/index.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @zfqh/uniapp
|
|
2
2
|
|
|
3
|
-
`@zfqh/uniapp` 是面向 uni-app Vue 3 项目的公共能力包,包含配置系统、环境配置、请求封装、导航提示、COS 上传、应用更新、hooks、工具函数、Vuex modules、mixins、`g-*`
|
|
3
|
+
`@zfqh/uniapp` 是面向 uni-app Vue 3 项目的公共能力包,包含配置系统、环境配置、请求封装、导航提示、COS 上传、应用更新、hooks、工具函数、Vuex modules、mixins、`g-*` 公共组件和工具样式类(内置平台差异及语义色类,完整原子类需配合 `@gmcb/vite` 的 unocss 插件使用)。
|
|
4
4
|
|
|
5
5
|
## 快速入口
|
|
6
6
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view class="back-button" :style="[_customStyle]">
|
|
3
|
-
<view class="flex justify-center" @click="goBack" :class="[showHome ? '' : 'back']">
|
|
3
|
+
<view class="flex justify-center items-center" @click="goBack" :class="[showHome ? '' : 'back']">
|
|
4
4
|
<g-icon v-if="showIcon" :type="type" :font="iconFont" :name="iconName" :size="iconSize || 18" :color="color" />
|
|
5
5
|
<uv-icon v-else :name="iconName" :size="iconSize || 22" :color="color" />
|
|
6
6
|
</view>
|
|
7
|
-
<view v-if="showHome" class="flex justify-center" @click="goHome">
|
|
7
|
+
<view v-if="showHome" class="flex justify-center items-center" @click="goHome">
|
|
8
8
|
<g-icon
|
|
9
9
|
v-if="showIcon"
|
|
10
10
|
:type="type"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view class="float" :style="[style]" @tap.stop="click">
|
|
3
3
|
<slot>
|
|
4
|
-
<g-icon :name="iconName" :font="iconFont" :size="iconSize" :color="iconColor" class="flex" />
|
|
4
|
+
<g-icon :name="iconName" :font="iconFont" :size="iconSize" :color="iconColor" class="flex items-center" />
|
|
5
5
|
</slot>
|
|
6
6
|
</view>
|
|
7
7
|
</template>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view class="grid" :style="[_style]">
|
|
3
3
|
<view v-for="(item, index) in list" :key="index" :style="[_imageStyle]" class="overflow-hidden" @tap.stop="click(item)">
|
|
4
|
-
<image :src="item.image" style="width: 100%; height: 100%" :mode="mode" class="flex" />
|
|
4
|
+
<image :src="item.image" style="width: 100%; height: 100%" :mode="mode" class="flex items-center" />
|
|
5
5
|
</view>
|
|
6
6
|
</view>
|
|
7
7
|
</template>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<swiper-item v-for="(list, index) in dataList" :key="index">
|
|
5
5
|
<uv-grid :col="col" :border="false" align="left">
|
|
6
6
|
<uv-grid-item v-for="(ele, i) in list" :key="i" bgColor="transparent" :customStyle="_colStyle">
|
|
7
|
-
<view class="flex justify-center flex-col" :style="[_itemStyle(ele)]" @tap.stop="click(index, i)">
|
|
7
|
+
<view class="flex justify-center items-center flex-col" :style="[_itemStyle(ele)]" @tap.stop="click(index, i)">
|
|
8
8
|
<uv-image
|
|
9
9
|
v-if="ele[iconKey]"
|
|
10
10
|
:src="ele[iconKey]"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view :style="[style]">
|
|
3
|
-
<view class="flex" @tap.stop="click">
|
|
3
|
+
<view class="flex items-center" @tap.stop="click">
|
|
4
4
|
<slot name="text">
|
|
5
5
|
<text> {{ text }} </text>
|
|
6
6
|
</slot>
|
|
7
7
|
<slot name="arrow">
|
|
8
|
-
<g-icon :name="iconName" :size="iconSize" class="flex" />
|
|
8
|
+
<g-icon :name="iconName" :size="iconSize" class="flex items-center" />
|
|
9
9
|
</slot>
|
|
10
10
|
</view>
|
|
11
11
|
</view>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view class="container" :style="[containerStyle]">
|
|
3
3
|
<view v-if="showHeader" class="header" id="page_header" :style="[_headerStyle]">
|
|
4
|
-
<view v-if="showNavbar" class="flex justify-center" :style="[_navbarStyle]">
|
|
4
|
+
<view v-if="showNavbar" class="flex justify-center items-center" :style="[_navbarStyle]">
|
|
5
5
|
<view :style="[_leftStyle]">
|
|
6
6
|
<g-back-button
|
|
7
7
|
v-if="showBack"
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<view :style="[_customStyle]">
|
|
21
21
|
<slot v-if="opts.showHeader" name="header">
|
|
22
22
|
<view
|
|
23
|
-
class="flex"
|
|
23
|
+
class="flex items-center"
|
|
24
24
|
:class="[{ 'border-b': opts.headerBorder }, { 'justify-start': opts.titleAlign === 'left', 'justify-end': opts.titleAlign === 'right', 'justify-center': opts.titleAlign === 'center', 'justify-between': opts.titleAlign === 'between', 'justify-around': opts.titleAlign === 'around' }]"
|
|
25
25
|
:style="[_headerStyle]"
|
|
26
26
|
>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
</slot>
|
|
32
32
|
<slot v-if="opts.showContent" name="content">
|
|
33
33
|
<scroll-view scroll-y :style="[_scrollStyle]">
|
|
34
|
-
<view class="flex justify-center break-all" :class="[{ 'text-left': opts.align === 'left', 'text-right': opts.align === 'right', 'text-center': opts.align === 'center' }]" :style="[_contentStyle]">
|
|
34
|
+
<view class="flex justify-center items-center break-all" :class="[{ 'text-left': opts.align === 'left', 'text-right': opts.align === 'right', 'text-center': opts.align === 'center' }]" :style="[_contentStyle]">
|
|
35
35
|
<slot name="default">
|
|
36
36
|
<rich-text :nodes="opts.content" />
|
|
37
37
|
</slot>
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
<slot v-if="opts.showFooter" name="footer">
|
|
42
42
|
<view
|
|
43
43
|
v-if="opts.showConfirm || opts.showCancel"
|
|
44
|
-
class="flex justify-center footer"
|
|
44
|
+
class="flex justify-center items-center footer"
|
|
45
45
|
:class="{ 'border-t': opts.footerBorder }"
|
|
46
46
|
:style="[_footerStyle]"
|
|
47
47
|
>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
@refresherabort="refresherabort"
|
|
20
20
|
>
|
|
21
21
|
<slot v-if="mode === 'none' && enabled" name="refresher">
|
|
22
|
-
<view class="w-full flex flex-col justify-center text-tips" :style="[_loadingStyle]">
|
|
22
|
+
<view class="w-full flex flex-col justify-center items-center text-tips" :style="[_loadingStyle]">
|
|
23
23
|
<slot v-if="completed" name="completeText" :text="completeText">
|
|
24
24
|
<text> {{ completeText }} </text>
|
|
25
25
|
</slot>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<view class="search-input flex" @tap="click()" :style="[style]" :class="[shape]">
|
|
2
|
+
<view class="search-input flex items-center" @tap="click()" :style="[style]" :class="[shape]">
|
|
3
3
|
<slot name="icon">
|
|
4
4
|
<uv-icon name="search" size="20" class="text-tips" />
|
|
5
5
|
</slot>
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
@change="change"
|
|
15
15
|
>
|
|
16
16
|
<swiper-item v-for="(keyword, index) in data" :key="index">
|
|
17
|
-
<text class="ml-16rpx flex h-full" :style="[_inputStyle, _placeholderStyle]"> {{ keyword }} </text>
|
|
17
|
+
<text class="ml-16rpx flex h-full items-center" :style="[_inputStyle, _placeholderStyle]"> {{ keyword }} </text>
|
|
18
18
|
</swiper-item>
|
|
19
19
|
</swiper>
|
|
20
20
|
<view v-else class="flex-1 ml-16rpx h-full relative">
|
|
@@ -33,12 +33,12 @@
|
|
|
33
33
|
@input="input()"
|
|
34
34
|
/>
|
|
35
35
|
<view v-if="clearable" class="search-input-clear" @tap.stop="clear" :style="[closeStyle]">
|
|
36
|
-
<uv-icon v-if="keyword" name="close-circle-fill" class="flex text-tips" :size="clearSize" />
|
|
36
|
+
<uv-icon v-if="keyword" name="close-circle-fill" class="flex text-tips items-center" :size="clearSize" />
|
|
37
37
|
</view>
|
|
38
38
|
</view>
|
|
39
39
|
<view v-if="showButton" @tap.stop="search()">
|
|
40
40
|
<slot name="button">
|
|
41
|
-
<view class="flex" :style="[buttonStyle]">
|
|
41
|
+
<view class="flex items-center" :style="[buttonStyle]">
|
|
42
42
|
<uv-line direction="col" :color="lineColor" length="26" margin="0 16rpx" />
|
|
43
43
|
<text class="text-26rpx"> 搜索 </text>
|
|
44
44
|
</view>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<view class="flex justify-center flex-col" :style="[customStyle]" @tap.stop="$uv.throttle(click)">
|
|
2
|
+
<view class="flex justify-center items-center flex-col" :style="[customStyle]" @tap.stop="$uv.throttle(click)">
|
|
3
3
|
<image :src="url" :style="[style]" mode="heightFix" />
|
|
4
4
|
<text v-if="text" :style="[textStyle]"> {{ text }} </text>
|
|
5
5
|
</view>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<view class="flex flex-col pt-20rpx pl-20rpx pr-20rpx" :style="[customStyle]">
|
|
2
|
+
<view class="flex flex-col items-center pt-20rpx pl-20rpx pr-20rpx" :style="[customStyle]">
|
|
3
3
|
<view v-if="title" class="w-full pl-20rpx">
|
|
4
4
|
<text class="font-bold" :style="[titleStyle]"> {{ title }} </text>
|
|
5
5
|
</view>
|
|
6
|
-
<view class="w-full flex flex-wrap">
|
|
6
|
+
<view class="w-full flex flex-wrap items-center">
|
|
7
7
|
<template v-for="item in buttons" :key="item.type">
|
|
8
8
|
<g-share-weixin
|
|
9
9
|
v-if="hasWeixin && item.type === 'weixin'"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<view class="flex justify-center flex-col" :style="[customStyle]" @tap.stop="$uv.throttle(click)">
|
|
2
|
+
<view class="flex justify-center items-center flex-col" :style="[customStyle]" @tap.stop="$uv.throttle(click)">
|
|
3
3
|
<image :src="url" :style="[style]" mode="heightFix" />
|
|
4
4
|
<text v-if="text" :style="[textStyle]"> {{ text }} </text>
|
|
5
5
|
</view>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
:customStyle="_tagStyle"
|
|
12
12
|
@close="removeTag(i)"
|
|
13
13
|
/>
|
|
14
|
-
<view v-if="!disabled" class="flex-1 flex" style="min-width: 160rpx">
|
|
14
|
+
<view v-if="!disabled" class="flex-1 flex items-center" style="min-width: 160rpx">
|
|
15
15
|
<input
|
|
16
16
|
v-model.trim="content"
|
|
17
17
|
class="box-border flex-1"
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
<view v-for="(item, index) in list" :key="index" class="tag-editor-labels">
|
|
52
52
|
<view v-if="item.title" :style="[titleStyle]"> {{ item.title }} </view>
|
|
53
53
|
<view v-if="item.list" class="flex items-start">
|
|
54
|
-
<view class="flex-1 flex flex-wrap">
|
|
54
|
+
<view class="flex-1 flex flex-wrap items-center">
|
|
55
55
|
<uv-tags
|
|
56
56
|
v-for="ele in item.list"
|
|
57
57
|
:key="ele.label"
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
</view>
|
|
15
15
|
<view :style="[titleStyle]">
|
|
16
16
|
<slot v-if="!start || !enableCamera" name="title">
|
|
17
|
-
<view class="flex flex-col justify-center">
|
|
17
|
+
<view class="flex flex-col justify-center items-center">
|
|
18
18
|
<uv-avatar :src="avatar" size="120rpx" mode="aspectFill" class="u-flex" />
|
|
19
19
|
<text v-if="title" class="text-28rpx mt-12rpx"> {{ title }} </text>
|
|
20
20
|
<text v-if="description" :class="[title ? 'mt-6rpx' : 'mt-12rpx']" class="text-24rpx">
|
package/lib/styles/bg.scss
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
.bg-transparent {
|
|
2
|
-
background-color: transparent;
|
|
3
|
-
}
|
|
4
|
-
.bg-white {
|
|
5
|
-
background-color: #ffffff;
|
|
6
|
-
}
|
|
7
|
-
.bg-black {
|
|
8
|
-
background-color: #000000;
|
|
9
|
-
}
|
|
10
1
|
.bg-primary {
|
|
11
2
|
background-color: $uv-primary;
|
|
12
3
|
}
|
|
@@ -67,24 +58,12 @@
|
|
|
67
58
|
.bg-info-disabled {
|
|
68
59
|
background-color: $uv-info-disabled;
|
|
69
60
|
}
|
|
70
|
-
.bg-main {
|
|
71
|
-
background-color: $uv-main-color;
|
|
72
|
-
}
|
|
73
|
-
.bg-content {
|
|
74
|
-
background-color: $uv-content-color;
|
|
75
|
-
}
|
|
76
|
-
.bg-tips {
|
|
77
|
-
background-color: $uv-tips-color;
|
|
78
|
-
}
|
|
79
|
-
.bg-light {
|
|
80
|
-
background-color: $uv-light-color;
|
|
81
|
-
}
|
|
82
61
|
.bg-border {
|
|
83
62
|
background-color: $uv-border-color;
|
|
84
63
|
}
|
|
85
64
|
.bg {
|
|
86
65
|
background-color: $uv-bg-color;
|
|
87
|
-
}
|
|
66
|
+
}
|
|
88
67
|
.bg-light {
|
|
89
68
|
background-color: $uv-bg-light-color;
|
|
90
69
|
}
|
package/lib/styles/border.scss
CHANGED
|
@@ -8,79 +8,6 @@
|
|
|
8
8
|
border-style: solid;
|
|
9
9
|
border-color: $uv-border-color;
|
|
10
10
|
}
|
|
11
|
-
.border-0 {
|
|
12
|
-
border-width: 0;
|
|
13
|
-
}
|
|
14
|
-
.border-t-0 {
|
|
15
|
-
border-top-width: 0;
|
|
16
|
-
}
|
|
17
|
-
.border-r-0 {
|
|
18
|
-
border-right-width: 0;
|
|
19
|
-
}
|
|
20
|
-
.border-b-0 {
|
|
21
|
-
border-bottom-width: 0;
|
|
22
|
-
}
|
|
23
|
-
.border-l-0 {
|
|
24
|
-
border-left-width: 0;
|
|
25
|
-
}
|
|
26
|
-
@for $i from 1 through 4 {
|
|
27
|
-
$s: $i * 2;
|
|
28
|
-
.border-width-#{$s}px {
|
|
29
|
-
border-width: #{$s}px;
|
|
30
|
-
}
|
|
31
|
-
.border-width-#{$s}rpx {
|
|
32
|
-
border-width: #{$s}rpx;
|
|
33
|
-
}
|
|
34
|
-
.border-t-width-#{$s}px {
|
|
35
|
-
border-top-width: #{$s}px;
|
|
36
|
-
}
|
|
37
|
-
.border-t-width-#{$s}rpx {
|
|
38
|
-
border-top-width: #{$s}rpx;
|
|
39
|
-
}
|
|
40
|
-
.border-r-width-#{$s}px {
|
|
41
|
-
border-right-width: #{$s}px;
|
|
42
|
-
}
|
|
43
|
-
.border-r-width-#{$s}rpx {
|
|
44
|
-
border-right-width: #{$s}rpx;
|
|
45
|
-
}
|
|
46
|
-
.border-b-width-#{$s}px {
|
|
47
|
-
border-bottom-width: #{$s}px;
|
|
48
|
-
}
|
|
49
|
-
.border-b-width-#{$s}rpx {
|
|
50
|
-
border-bottom-width: #{$s}rpx;
|
|
51
|
-
}
|
|
52
|
-
.border-l-width-#{$s}px {
|
|
53
|
-
border-left-width: #{$s}px;
|
|
54
|
-
}
|
|
55
|
-
.border-l-width-#{$s}rpx {
|
|
56
|
-
border-left-width: #{$s}rpx;
|
|
57
|
-
}
|
|
58
|
-
.border-x-width-#{$s}px {
|
|
59
|
-
border-left-width: #{$s}px;
|
|
60
|
-
border-right-width: #{$s}px;
|
|
61
|
-
}
|
|
62
|
-
.border-x-width-#{$s}rpx {
|
|
63
|
-
border-left-width: #{$s}rpx;
|
|
64
|
-
border-right-width: #{$s}rpx;
|
|
65
|
-
}
|
|
66
|
-
.border-y-width-#{$s}px {
|
|
67
|
-
border-top-width: #{$s}px;
|
|
68
|
-
border-bottom-width: #{$s}px;
|
|
69
|
-
}
|
|
70
|
-
.border-y-width-#{$s}rpx {
|
|
71
|
-
border-top-width: #{$s}rpx;
|
|
72
|
-
border-bottom-width: #{$s}rpx;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
.border-solid {
|
|
76
|
-
border-style: solid;
|
|
77
|
-
}
|
|
78
|
-
.border-dashed {
|
|
79
|
-
border-style: dashed;
|
|
80
|
-
}
|
|
81
|
-
.border-dotted {
|
|
82
|
-
border-style: dotted;
|
|
83
|
-
}
|
|
84
11
|
.border-t {
|
|
85
12
|
border-top-width: 1px;
|
|
86
13
|
border-top-style: solid;
|
|
@@ -131,88 +58,4 @@
|
|
|
131
58
|
}
|
|
132
59
|
.border-info {
|
|
133
60
|
border-color: $uv-info;
|
|
134
|
-
}
|
|
135
|
-
.border-main {
|
|
136
|
-
border-color: $uv-main-color;
|
|
137
|
-
}
|
|
138
|
-
.border-light {
|
|
139
|
-
border-color: $uv-light-color;
|
|
140
|
-
}
|
|
141
|
-
.border-content {
|
|
142
|
-
border-color: $uv-content-color;
|
|
143
|
-
}
|
|
144
|
-
.border-transparent {
|
|
145
|
-
border-color: transparent;
|
|
146
|
-
}
|
|
147
|
-
.rounded-0 {
|
|
148
|
-
border-radius: 0;
|
|
149
|
-
}
|
|
150
|
-
.rounded-full {
|
|
151
|
-
border-radius: 9999px;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
@for $i from 1 through 50 {
|
|
155
|
-
$s: $i * 2;
|
|
156
|
-
.rounded-#{$s}px {
|
|
157
|
-
border-radius: #{$s}px;
|
|
158
|
-
}
|
|
159
|
-
.rounded-t-#{$s}px {
|
|
160
|
-
border-top-left-radius: #{$s}px;
|
|
161
|
-
border-top-right-radius: #{$s}px;
|
|
162
|
-
}
|
|
163
|
-
.rounded-b-#{$s}px {
|
|
164
|
-
border-bottom-left-radius: #{$s}px;
|
|
165
|
-
border-bottom-right-radius: #{$s}px;
|
|
166
|
-
}
|
|
167
|
-
.rounded-l-#{$s}px {
|
|
168
|
-
border-top-left-radius: #{$s}px;
|
|
169
|
-
border-bottom-left-radius: #{$s}px;
|
|
170
|
-
}
|
|
171
|
-
.rounded-r-#{$s}px {
|
|
172
|
-
border-top-right-radius: #{$s}px;
|
|
173
|
-
border-bottom-right-radius: #{$s}px;
|
|
174
|
-
}
|
|
175
|
-
.rounded-tl-#{$s}px {
|
|
176
|
-
border-top-left-radius: #{$s}px;
|
|
177
|
-
}
|
|
178
|
-
.rounded-tr-#{$s}px {
|
|
179
|
-
border-top-right-radius: #{$s}px;
|
|
180
|
-
}
|
|
181
|
-
.rounded-bl-#{$s}px {
|
|
182
|
-
border-bottom-left-radius: #{$s}px;
|
|
183
|
-
}
|
|
184
|
-
.rounded-br-#{$s}px {
|
|
185
|
-
border-bottom-right-radius: #{$s}px;
|
|
186
|
-
}
|
|
187
|
-
.rounded-#{$s}rpx {
|
|
188
|
-
border-radius: #{$s}rpx;
|
|
189
|
-
}
|
|
190
|
-
.rounded-t-#{$s}rpx {
|
|
191
|
-
border-top-left-radius: #{$s}rpx;
|
|
192
|
-
border-top-right-radius: #{$s}rpx;
|
|
193
|
-
}
|
|
194
|
-
.rounded-b-#{$s}rpx {
|
|
195
|
-
border-bottom-left-radius: #{$s}rpx;
|
|
196
|
-
border-bottom-right-radius: #{$s}rpx;
|
|
197
|
-
}
|
|
198
|
-
.rounded-l-#{$s}rpx {
|
|
199
|
-
border-top-left-radius: #{$s}rpx;
|
|
200
|
-
border-bottom-left-radius: #{$s}rpx;
|
|
201
|
-
}
|
|
202
|
-
.rounded-r-#{$s}rpx {
|
|
203
|
-
border-top-right-radius: #{$s}rpx;
|
|
204
|
-
border-bottom-right-radius: #{$s}rpx;
|
|
205
|
-
}
|
|
206
|
-
.rounded-tl-#{$s}rpx {
|
|
207
|
-
border-top-left-radius: #{$s}rpx;
|
|
208
|
-
}
|
|
209
|
-
.rounded-tr-#{$s}rpx {
|
|
210
|
-
border-top-right-radius: #{$s}rpx;
|
|
211
|
-
}
|
|
212
|
-
.rounded-bl-#{$s}rpx {
|
|
213
|
-
border-bottom-left-radius: #{$s}rpx;
|
|
214
|
-
}
|
|
215
|
-
.rounded-br-#{$s}rpx {
|
|
216
|
-
border-bottom-right-radius: #{$s}rpx;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
61
|
+
}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
flex
|
|
5
|
-
|
|
6
|
-
display: flex;
|
|
1
|
+
/* #ifdef H5 */
|
|
2
|
+
page {
|
|
3
|
+
/* #endif */
|
|
4
|
+
.flex {
|
|
5
|
+
/* #ifndef APP-NVUE */
|
|
6
|
+
display: flex;
|
|
7
|
+
/* #endif */
|
|
7
8
|
flex-direction: row;
|
|
8
|
-
align-items: center;
|
|
9
9
|
}
|
|
10
|
-
.flex-inline {
|
|
11
|
-
|
|
10
|
+
.flex-inline {
|
|
11
|
+
/* #ifndef APP-NVUE */
|
|
12
|
+
display: inline-flex;
|
|
13
|
+
/* #endif */
|
|
12
14
|
flex-direction: row;
|
|
13
|
-
align-items: center;
|
|
14
15
|
}
|
|
15
16
|
.flex-row {
|
|
16
17
|
flex-direction: row;
|
|
@@ -33,7 +34,7 @@ page {
|
|
|
33
34
|
.flex-wrap-reverse {
|
|
34
35
|
flex-wrap: wrap-reverse;
|
|
35
36
|
}
|
|
36
|
-
@for $n from 0 through
|
|
37
|
+
@for $n from 0 through 8 {
|
|
37
38
|
.flex-#{$n} {
|
|
38
39
|
flex: $n;
|
|
39
40
|
}
|
|
@@ -71,5 +72,7 @@ page {
|
|
|
71
72
|
.justify-around {
|
|
72
73
|
justify-content: space-around;
|
|
73
74
|
}
|
|
74
|
-
|
|
75
|
+
/* #ifdef H5 */
|
|
76
|
+
}
|
|
77
|
+
/* #endif */
|
|
75
78
|
|
package/lib/styles/index.scss
CHANGED
|
@@ -1,25 +1,13 @@
|
|
|
1
1
|
@import '@gmcb/uv-ui/index.scss';
|
|
2
|
-
@import './font.scss';
|
|
3
|
-
@import './spacing.scss';
|
|
4
|
-
@import './opacity.scss';
|
|
5
|
-
@import './sizing.scss';
|
|
6
|
-
@import './layout.scss';
|
|
7
|
-
@import './shadow.scss';
|
|
8
2
|
@import './border.scss';
|
|
9
3
|
@import './bg.scss';
|
|
10
|
-
@import './text.scss';
|
|
11
|
-
@import './
|
|
4
|
+
@import './text.scss';
|
|
5
|
+
@import './layout.scss';
|
|
6
|
+
@import './flex.scss';
|
|
12
7
|
/* #ifndef APP-NVUE */
|
|
13
|
-
@import './reset-vue.scss';
|
|
14
|
-
@import './flex-vue.scss';
|
|
15
|
-
@import './layout-vue.scss';
|
|
16
|
-
@import './sizing-vue.scss';
|
|
8
|
+
@import './reset-vue.scss';
|
|
17
9
|
@import './text-vue.scss';
|
|
18
|
-
@import './bg-vue.scss';
|
|
19
|
-
@import './animate-vue.scss';
|
|
20
10
|
/* #endif */
|
|
21
11
|
/* #ifdef APP-NVUE */
|
|
22
|
-
@import './
|
|
23
|
-
@import './layout-nvue.scss';
|
|
24
|
-
@import './text-nvue.scss';
|
|
12
|
+
@import './text-nvue.scss';
|
|
25
13
|
/* #endif */
|
package/lib/styles/layout.scss
CHANGED
|
@@ -1,76 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
@for $i from 0 through 50 {
|
|
19
|
-
$s: $i * 2;
|
|
20
|
-
.top-#{$s}px {
|
|
21
|
-
top: #{$s}px;
|
|
22
|
-
}
|
|
23
|
-
.right-#{$s}px {
|
|
24
|
-
right: #{$s}px;
|
|
25
|
-
}
|
|
26
|
-
.bottom-#{$s}px {
|
|
27
|
-
bottom: #{$s}px;
|
|
28
|
-
}
|
|
29
|
-
.left-#{$s}px {
|
|
30
|
-
left: #{$s}px;
|
|
31
|
-
}
|
|
32
|
-
.top-#{$s}rpx {
|
|
33
|
-
top: #{$s}rpx;
|
|
34
|
-
}
|
|
35
|
-
.right-#{$s}rpx {
|
|
36
|
-
right: #{$s}rpx;
|
|
37
|
-
}
|
|
38
|
-
.bottom-#{$s}rpx {
|
|
39
|
-
bottom: #{$s}rpx;
|
|
40
|
-
}
|
|
41
|
-
.left-#{$s}rpx {
|
|
42
|
-
left: #{$s}rpx;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
@for $i from 1 through 50 {
|
|
46
|
-
$s: $i * 2;
|
|
47
|
-
.-top-#{$s}px {
|
|
48
|
-
top: -#{$s}px;
|
|
49
|
-
}
|
|
50
|
-
.-right-#{$s}px {
|
|
51
|
-
right: -#{$s}px;
|
|
52
|
-
}
|
|
53
|
-
.-bottom-#{$s}px {
|
|
54
|
-
bottom: -#{$s}px;
|
|
55
|
-
}
|
|
56
|
-
.-left-#{$s}px {
|
|
57
|
-
left: -#{$s}px;
|
|
58
|
-
}
|
|
59
|
-
.-top-#{$s}rpx {
|
|
60
|
-
top: -#{$s}rpx;
|
|
61
|
-
}
|
|
62
|
-
.-right-#{$s}rpx {
|
|
63
|
-
right: -#{$s}rpx;
|
|
64
|
-
}
|
|
65
|
-
.-bottom-#{$s}rpx {
|
|
66
|
-
bottom: -#{$s}rpx;
|
|
67
|
-
}
|
|
68
|
-
.-left-#{$s}rpx {
|
|
69
|
-
left: -#{$s}rpx;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
@for $n from 0 through 10 {
|
|
73
|
-
.z-#{$n} {
|
|
74
|
-
z-index: $n;
|
|
75
|
-
}
|
|
1
|
+
/* #ifdef H5 */
|
|
2
|
+
page {
|
|
3
|
+
/* #endif */
|
|
4
|
+
.relative {
|
|
5
|
+
position: relative;
|
|
6
|
+
}
|
|
7
|
+
.absolute {
|
|
8
|
+
position: absolute;
|
|
9
|
+
}
|
|
10
|
+
.fixed {
|
|
11
|
+
position: fixed;
|
|
12
|
+
}
|
|
13
|
+
.sticky {
|
|
14
|
+
position: sticky;
|
|
15
|
+
}
|
|
16
|
+
/* #ifdef H5 */
|
|
76
17
|
}
|
|
18
|
+
/* #endif */
|