shujie-ui 0.0.3 → 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/README.md +161 -118
- package/dist/shujie-ui.css +1 -1
- package/dist/shujie-ui.es.js +275 -46
- package/dist/shujie-ui.umd.js +1 -1
- package/easycom.json +8 -0
- package/package.json +98 -95
- package/src/components/sj-badge/index.ts +10 -0
- package/src/components/sj-badge/sj-badge.vue +132 -0
- package/src/components/sj-badge/types.ts +17 -0
- package/src/components/sj-button/index.ts +10 -0
- package/src/components/sj-button/sj-button.vue +267 -0
- package/src/components/sj-button/types.ts +37 -0
- package/src/components/sj-cell/index.ts +10 -0
- package/src/components/sj-cell/sj-cell.vue +170 -0
- package/src/components/sj-cell/types.ts +30 -0
- package/src/components/sj-divider/index.ts +10 -0
- package/src/components/sj-divider/sj-divider.vue +140 -0
- package/src/components/sj-divider/types.ts +16 -0
- package/src/components/sj-icon/iconfont.scss +36 -0
- package/src/components/sj-icon/index.ts +10 -0
- package/src/components/sj-icon/sj-icon.vue +51 -0
- package/src/components/sj-icon/types.ts +14 -0
- package/src/components/sj-loading/index.ts +10 -0
- package/src/components/sj-loading/sj-loading.vue +133 -0
- package/src/components/sj-loading/types.ts +20 -0
- package/src/components/sj-space/index.ts +10 -0
- package/src/components/sj-space/sj-space.vue +67 -0
- package/src/components/sj-space/types.ts +14 -0
- package/src/components/sj-tag/index.ts +10 -0
- package/src/components/sj-tag/sj-tag.vue +179 -0
- package/src/components/sj-tag/types.ts +16 -0
- package/src/env.d.ts +7 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useLoading.ts +30 -0
- package/src/hooks/useScroll.ts +42 -0
- package/src/hooks/useVisible.ts +22 -0
- package/src/index.ts +59 -0
- package/src/styles/index.scss +7 -0
- package/src/styles/mixins.scss +161 -0
- package/src/styles/prelude.scss +3 -0
- package/src/styles/reset.scss +33 -0
- package/src/styles/variables.scss +128 -0
- package/src/utils/format.ts +119 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/platform.ts +63 -0
- package/src/utils/validate.ts +37 -0
package/README.md
CHANGED
|
@@ -1,118 +1,161 @@
|
|
|
1
|
-
# shujie-ui
|
|
2
|
-
|
|
3
|
-
一个基于 Vue 3 + TypeScript 的 UniApp 组件库,兼容小程序、H5、App。
|
|
4
|
-
|
|
5
|
-
## 特性
|
|
6
|
-
|
|
7
|
-
- Vue 3 + TypeScript + Composition API
|
|
8
|
-
- SCSS 设计系统(色彩/排版/间距/圆角/阴影)
|
|
9
|
-
- 全平台兼容(微信/支付宝/百度/字节/QQ 小程序 + H5 + App)
|
|
10
|
-
- 按需引入(easycom 自动注册)
|
|
11
|
-
- 单元测试覆盖
|
|
12
|
-
- VitePress 文档站
|
|
13
|
-
|
|
14
|
-
## 安装
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
npm install shujie-ui
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## 快速上手
|
|
21
|
-
|
|
22
|
-
###
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
app
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
{
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
```vue
|
|
51
|
-
<template>
|
|
52
|
-
<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
1
|
+
# shujie-ui
|
|
2
|
+
|
|
3
|
+
一个基于 Vue 3 + TypeScript 的 UniApp 组件库,兼容小程序、H5、App。
|
|
4
|
+
|
|
5
|
+
## 特性
|
|
6
|
+
|
|
7
|
+
- Vue 3 + TypeScript + Composition API
|
|
8
|
+
- SCSS 设计系统(色彩/排版/间距/圆角/阴影)
|
|
9
|
+
- 全平台兼容(微信/支付宝/百度/字节/QQ 小程序 + H5 + App)
|
|
10
|
+
- 按需引入(easycom 自动注册)
|
|
11
|
+
- 单元测试覆盖
|
|
12
|
+
- VitePress 文档站
|
|
13
|
+
|
|
14
|
+
## 安装
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install shujie-ui
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 快速上手
|
|
21
|
+
|
|
22
|
+
### 平台说明(必读)
|
|
23
|
+
|
|
24
|
+
| 场景 | 推荐方式 | 说明 |
|
|
25
|
+
|------|----------|------|
|
|
26
|
+
| **uni-app 小程序**(微信/支付宝等) | **easycom + 包内 `src/**/*.vue`** | 预打包的 `dist/*.es.js` 依赖标准 Vue 运行时辅助函数,与 `@dcloudio/uni-mp-vue` 不兼容,**请勿**在小程序里 `import SjUI from 'shujie-ui'` + `app.use`。 |
|
|
27
|
+
| **H5 / App、或仅工具函数** | `app.use(SjUI)` + `dist/shujie-ui.css`,或按需 `import { SjButton } from 'shujie-ui'` | 使用 npm 中的 **`dist`** 即可。 |
|
|
28
|
+
|
|
29
|
+
自 **v0.1.1** 起,发布包包含 **`src`**(组件源码、样式、utils、hooks),小程序请按下方 **easycom** 使用。
|
|
30
|
+
|
|
31
|
+
### 1. uni-app:easycom(小程序推荐)
|
|
32
|
+
|
|
33
|
+
将仓库根目录 **`easycom.json`** 中与 `pages.json` 同级的 `easycom` 段合并到你的 **`pages.json`**(或按下面手写):
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"easycom": {
|
|
38
|
+
"autoscan": true,
|
|
39
|
+
"custom": {
|
|
40
|
+
"^sj-(.*)": "shujie-ui/src/components/sj-$1/sj-$1.vue"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
组件 SFC 已内置 `@import` 设计变量与 mixin,**宿主项目无需**再为 `shujie-ui` 配置 Vite `additionalData`。
|
|
47
|
+
|
|
48
|
+
模板里直接使用(**`sj-` 前缀 + 短横线**):
|
|
49
|
+
|
|
50
|
+
```vue
|
|
51
|
+
<template>
|
|
52
|
+
<view class="page">
|
|
53
|
+
<sj-button type="primary">按钮</sj-button>
|
|
54
|
+
<sj-cell title="标题" value="内容" is-link />
|
|
55
|
+
</view>
|
|
56
|
+
</template>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
可选:在入口再引一次聚合样式(与 SFC scoped 并存,用于 reset等):
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
import 'shujie-ui/dist/shujie-ui.css'
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 2. uni-app:按路径按需引入 `.vue`
|
|
66
|
+
|
|
67
|
+
```vue
|
|
68
|
+
<script setup lang="ts">
|
|
69
|
+
import SjButton from 'shujie-ui/src/components/sj-button/sj-button.vue'
|
|
70
|
+
</script>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 3. H5 / 非小程序:全局引入 `dist`
|
|
74
|
+
|
|
75
|
+
组件样式集中在 **`dist/shujie-ui.css`**。在 **`main.ts`**:
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
import { createSSRApp } from 'vue'
|
|
79
|
+
import App from './App.vue'
|
|
80
|
+
import SjUI from 'shujie-ui'
|
|
81
|
+
import 'shujie-ui/dist/shujie-ui.css'
|
|
82
|
+
|
|
83
|
+
export function createApp() {
|
|
84
|
+
const app = createSSRApp(App)
|
|
85
|
+
app.use(SjUI)
|
|
86
|
+
return { app }
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 4. H5 / 非小程序:按需 `import` 命名导出
|
|
91
|
+
|
|
92
|
+
```ts
|
|
93
|
+
import 'shujie-ui/dist/shujie-ui.css'
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
```vue
|
|
97
|
+
<script setup lang="ts">
|
|
98
|
+
import { SjButton, SjCell } from 'shujie-ui'
|
|
99
|
+
</script>
|
|
100
|
+
|
|
101
|
+
<template>
|
|
102
|
+
<sj-button type="primary">按钮</sj-button>
|
|
103
|
+
<SjCell title="标题" value="内容" />
|
|
104
|
+
</template>
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## 组件列表
|
|
108
|
+
|
|
109
|
+
| 组件 | 说明 |
|
|
110
|
+
|------|------|
|
|
111
|
+
| sj-button | 按钮,多种类型/尺寸/形状/状态 |
|
|
112
|
+
| sj-icon | 图标(iconfont,需自行替换字体资源) |
|
|
113
|
+
| sj-cell | 单元格列表项 |
|
|
114
|
+
| sj-loading | 加载指示 |
|
|
115
|
+
| sj-divider | 分隔线 |
|
|
116
|
+
| sj-tag | 标签 |
|
|
117
|
+
| sj-badge | 徽标 |
|
|
118
|
+
| sj-space | 间距布局 |
|
|
119
|
+
|
|
120
|
+
## 设计系统
|
|
121
|
+
|
|
122
|
+
### 主色
|
|
123
|
+
|
|
124
|
+
| 名称 | 色值 | 用途 |
|
|
125
|
+
|------|------|------|
|
|
126
|
+
| Primary | `#2979ff` | 品牌主色 |
|
|
127
|
+
| Success | `#19be6b` | 成功状态 |
|
|
128
|
+
| Warning | `#ff9900` | 警告提示 |
|
|
129
|
+
| Danger | `#fa3534` | 错误/危险 |
|
|
130
|
+
| Info | `#909399` | 次要信息 |
|
|
131
|
+
|
|
132
|
+
### 自定义主题
|
|
133
|
+
|
|
134
|
+
```scss
|
|
135
|
+
// 覆盖变量
|
|
136
|
+
$sj-primary: #1890ff;
|
|
137
|
+
|
|
138
|
+
// 然后引入样式
|
|
139
|
+
@import 'shujie-ui/src/styles/index.scss';
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## 工具函数
|
|
143
|
+
|
|
144
|
+
```ts
|
|
145
|
+
import { addUnit, debounce, throttle, deepClone, isPhone, isEmail } from 'shujie-ui'
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Hooks
|
|
149
|
+
|
|
150
|
+
```ts
|
|
151
|
+
import { useVisible, useLoading, useScroll } from 'shujie-ui'
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## 链接
|
|
155
|
+
|
|
156
|
+
- [npm 包](https://www.npmjs.com/package/shujie-ui)
|
|
157
|
+
- [Gitee 仓库](https://gitee.com/jia-shujie666/shujie-ui)
|
|
158
|
+
|
|
159
|
+
## License
|
|
160
|
+
|
|
161
|
+
MIT
|
package/dist/shujie-ui.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.sj-button[data-v-d5bd5c39]{box-sizing:border-box;text-align:center;white-space:nowrap;appearance:none;cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;margin:0;padding:0;font-weight:500;line-height:1;transition:all .3s cubic-bezier(.645,.045,.355,1);display:inline-flex}.sj-button--small[data-v-d5bd5c39]{height:56rpx;padding:0 24rpx;font-size:24rpx}.sj-button--medium[data-v-d5bd5c39]{height:72rpx;padding:0 32rpx;font-size:28rpx}.sj-button--large[data-v-d5bd5c39]{height:88rpx;padding:0 48rpx;font-size:32rpx}.sj-button--default[data-v-d5bd5c39]{color:#606266;border:1rpx solid #e4e7ed;background:#fff}.sj-button--primary[data-v-d5bd5c39]{color:#fff;background:#2979ff}.sj-button--success[data-v-d5bd5c39]{color:#fff;background:#19be6b}.sj-button--warning[data-v-d5bd5c39]{color:#fff;background:#f90}.sj-button--danger[data-v-d5bd5c39]{color:#fff;background:#fa3534}.sj-button--info[data-v-d5bd5c39]{color:#fff;background:#909399}.sj-button--square[data-v-d5bd5c39]{border-radius:8rpx}.sj-button--round[data-v-d5bd5c39]{border-radius:999rpx}.sj-button--circle[data-v-d5bd5c39]{border-radius:50%;padding:0}.sj-button--circle.sj-button--small[data-v-d5bd5c39]{width:56rpx}.sj-button--circle.sj-button--medium[data-v-d5bd5c39]{width:72rpx}.sj-button--circle.sj-button--large[data-v-d5bd5c39]{width:88rpx}.sj-button--plain[data-v-d5bd5c39]{background:0 0!important}.sj-button--plain.sj-button--primary[data-v-d5bd5c39]{color:#2979ff;border:1rpx solid #2979ff}.sj-button--plain.sj-button--success[data-v-d5bd5c39]{color:#19be6b;border:1rpx solid #19be6b}.sj-button--plain.sj-button--warning[data-v-d5bd5c39]{color:#f90;border:1rpx solid #f90}.sj-button--plain.sj-button--danger[data-v-d5bd5c39]{color:#fa3534;border:1rpx solid #fa3534}.sj-button--plain.sj-button--info[data-v-d5bd5c39]{color:#909399;border:1rpx solid #909399}.sj-button--hairline[data-v-d5bd5c39]{position:relative;border-width:0!important}.sj-button--hairline[data-v-d5bd5c39]:after{content:"";border-radius:inherit;border:1px solid inherit;pointer-events:none;transform-origin:0 0;position:absolute;inset:0;transform:scale(.5)}.sj-button--hairline.sj-button--default[data-v-d5bd5c39]:after{border-color:#e4e7ed}.sj-button--hairline.sj-button--primary[data-v-d5bd5c39]:after{border-color:#2979ff}.sj-button--hairline.sj-button--success[data-v-d5bd5c39]:after{border-color:#19be6b}.sj-button--hairline.sj-button--warning[data-v-d5bd5c39]:after{border-color:#f90}.sj-button--hairline.sj-button--danger[data-v-d5bd5c39]:after{border-color:#fa3534}.sj-button--hairline.sj-button--info[data-v-d5bd5c39]:after{border-color:#909399}.sj-button--disabled[data-v-d5bd5c39]{opacity:.5;cursor:not-allowed;pointer-events:none}.sj-button--loading[data-v-d5bd5c39]{cursor:default}.sj-button--block[data-v-d5bd5c39]{width:100%;display:flex}.sj-button--active[data-v-d5bd5c39]{opacity:.7}.sj-button__icon[data-v-d5bd5c39],.sj-button__loading[data-v-d5bd5c39]{margin-right:8rpx}.sj-button__loading-spinner[data-v-d5bd5c39]{width:32rpx;height:32rpx;border:4rpx solid currentColor;border-top-color:#0000;border-radius:50%;animation:.6s linear infinite sj-spin-d5bd5c39}.sj-button__text[data-v-d5bd5c39]{align-items:center;display:flex}@keyframes sj-spin-d5bd5c39{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sj-cell[data-v-17f18255]{box-sizing:border-box;width:100%;padding:24rpx 32rpx;font-size:28rpx;background:#fff;align-items:center;line-height:1.5;display:flex;position:relative}.sj-cell[data-v-17f18255]:after{content:"";pointer-events:none;border-bottom:1rpx solid #e4e7ed;transform-origin:0 100%;position:absolute;bottom:0;left:0;right:0}.sj-cell--clickable[data-v-17f18255]{cursor:pointer}.sj-cell--clickable[data-v-17f18255]:active{background:#f2f3f5}.sj-cell--required[data-v-17f18255]:before{content:"*";left:16rpx;color:#fa3534;font-size:32rpx;position:absolute}.sj-cell--borderless[data-v-17f18255]:after{display:none}.sj-cell__left-icon[data-v-17f18255]{margin-right:16rpx;color:#909399}.sj-cell__title[data-v-17f18255]{flex:1;min-width:0}.sj-cell__title-text[data-v-17f18255]{color:#303133;font-size:28rpx}.sj-cell__label[data-v-17f18255]{margin-top:8rpx;color:#909399;font-size:24rpx;line-height:1.2;display:block}.sj-cell__value[data-v-17f18255]{text-align:right;flex:1;min-width:0;overflow:hidden}.sj-cell__value-text[data-v-17f18255]{color:#909399;font-size:28rpx;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sj-cell__value--alone[data-v-17f18255]{color:#303133;text-align:left}.sj-cell__right-icon[data-v-17f18255]{margin-left:8rpx;color:#c0c4cc;font-size:28rpx}.sj-loading[data-v-48c28ad3]{align-items:center;gap:16rpx;color:#909399;display:inline-flex}.sj-loading--vertical[data-v-48c28ad3]{gap:8rpx;flex-direction:column}.sj-loading__spinner[data-v-48c28ad3]{box-sizing:border-box;animation:.8s linear infinite sj-loading-rotate-48c28ad3;position:relative}.sj-loading__circular[data-v-48c28ad3]{width:100%;height:100%}.sj-loading__circular-ring[data-v-48c28ad3]{border:4rpx solid currentColor;box-sizing:border-box;border-top-color:#0000;border-radius:50%;width:100%;height:100%}.sj-loading__spinner-dot[data-v-48c28ad3]{opacity:0;background:currentColor;border-radius:50%;width:20%;height:20%;margin-left:-10%;position:absolute;top:0;left:50%}.sj-loading__spinner-dot[data-v-48c28ad3]:first-child{opacity:0;transform:rotate(0)}.sj-loading__spinner-dot[data-v-48c28ad3]:nth-child(2){opacity:.0833333;transform:rotate(30deg)}.sj-loading__spinner-dot[data-v-48c28ad3]:nth-child(3){opacity:.166667;transform:rotate(60deg)}.sj-loading__spinner-dot[data-v-48c28ad3]:nth-child(4){opacity:.25;transform:rotate(90deg)}.sj-loading__spinner-dot[data-v-48c28ad3]:nth-child(5){opacity:.333333;transform:rotate(120deg)}.sj-loading__spinner-dot[data-v-48c28ad3]:nth-child(6){opacity:.416667;transform:rotate(150deg)}.sj-loading__spinner-dot[data-v-48c28ad3]:nth-child(7){opacity:.5;transform:rotate(180deg)}.sj-loading__spinner-dot[data-v-48c28ad3]:nth-child(8){opacity:.583333;transform:rotate(210deg)}.sj-loading__spinner-dot[data-v-48c28ad3]:nth-child(9){opacity:.666667;transform:rotate(240deg)}.sj-loading__spinner-dot[data-v-48c28ad3]:nth-child(10){opacity:.75;transform:rotate(270deg)}.sj-loading__spinner-dot[data-v-48c28ad3]:nth-child(11){opacity:.833333;transform:rotate(300deg)}.sj-loading__spinner-dot[data-v-48c28ad3]:nth-child(12){opacity:.916667;transform:rotate(330deg)}.sj-loading__spinner--spinner[data-v-48c28ad3]{animation:none}.sj-loading__text[data-v-48c28ad3]{color:#909399;font-size:28rpx;line-height:1.5}@keyframes sj-loading-rotate-48c28ad3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}view,text,scroll-view,swiper,input,textarea,button,image{box-sizing:border-box}button{line-height:inherit;font-size:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}button:after{display:none}input,textarea{box-sizing:border-box}
|
|
1
|
+
.sj-button[data-v-330c439c]{box-sizing:border-box;text-align:center;white-space:nowrap;appearance:none;cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;margin:0;padding:0;font-weight:500;line-height:1;transition:all .3s cubic-bezier(.645,.045,.355,1);display:inline-flex}.sj-button--small[data-v-330c439c]{height:56rpx;padding:0 24rpx;font-size:24rpx}.sj-button--medium[data-v-330c439c]{height:72rpx;padding:0 32rpx;font-size:28rpx}.sj-button--large[data-v-330c439c]{height:88rpx;padding:0 48rpx;font-size:32rpx}.sj-button--default[data-v-330c439c]{color:#606266;border:1rpx solid #e4e7ed;background:#fff}.sj-button--primary[data-v-330c439c]{color:#fff;background:#2979ff}.sj-button--success[data-v-330c439c]{color:#fff;background:#19be6b}.sj-button--warning[data-v-330c439c]{color:#fff;background:#f90}.sj-button--danger[data-v-330c439c]{color:#fff;background:#fa3534}.sj-button--info[data-v-330c439c]{color:#fff;background:#909399}.sj-button--square[data-v-330c439c]{border-radius:8rpx}.sj-button--round[data-v-330c439c]{border-radius:999rpx}.sj-button--circle[data-v-330c439c]{border-radius:50%;padding:0}.sj-button--circle.sj-button--small[data-v-330c439c]{width:56rpx}.sj-button--circle.sj-button--medium[data-v-330c439c]{width:72rpx}.sj-button--circle.sj-button--large[data-v-330c439c]{width:88rpx}.sj-button--plain[data-v-330c439c]{background:0 0!important}.sj-button--plain.sj-button--primary[data-v-330c439c]{color:#2979ff;border:1rpx solid #2979ff}.sj-button--plain.sj-button--success[data-v-330c439c]{color:#19be6b;border:1rpx solid #19be6b}.sj-button--plain.sj-button--warning[data-v-330c439c]{color:#f90;border:1rpx solid #f90}.sj-button--plain.sj-button--danger[data-v-330c439c]{color:#fa3534;border:1rpx solid #fa3534}.sj-button--plain.sj-button--info[data-v-330c439c]{color:#909399;border:1rpx solid #909399}.sj-button--hairline[data-v-330c439c]{position:relative;border-width:0!important}.sj-button--hairline[data-v-330c439c]:after{content:"";border-radius:inherit;border:1px solid inherit;pointer-events:none;transform-origin:0 0;position:absolute;inset:0;transform:scale(.5)}.sj-button--hairline.sj-button--default[data-v-330c439c]:after{border-color:#e4e7ed}.sj-button--hairline.sj-button--primary[data-v-330c439c]:after{border-color:#2979ff}.sj-button--hairline.sj-button--success[data-v-330c439c]:after{border-color:#19be6b}.sj-button--hairline.sj-button--warning[data-v-330c439c]:after{border-color:#f90}.sj-button--hairline.sj-button--danger[data-v-330c439c]:after{border-color:#fa3534}.sj-button--hairline.sj-button--info[data-v-330c439c]:after{border-color:#909399}.sj-button--disabled[data-v-330c439c]{opacity:.5;cursor:not-allowed;pointer-events:none}.sj-button--loading[data-v-330c439c]{cursor:default}.sj-button--block[data-v-330c439c]{width:100%;display:flex}.sj-button--active[data-v-330c439c]{opacity:.7}.sj-button__icon[data-v-330c439c],.sj-button__loading[data-v-330c439c]{margin-right:8rpx}.sj-button__loading-spinner[data-v-330c439c]{width:32rpx;height:32rpx;border:4rpx solid currentColor;border-top-color:#0000;border-radius:50%;animation:.6s linear infinite sj-spin-330c439c}.sj-button__text[data-v-330c439c]{align-items:center;display:flex}@keyframes sj-spin-330c439c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sj-cell[data-v-e1850ef0]{box-sizing:border-box;width:100%;padding:24rpx 32rpx;font-size:28rpx;background:#fff;align-items:center;line-height:1.5;display:flex;position:relative}.sj-cell[data-v-e1850ef0]:after{content:"";pointer-events:none;border-bottom:1rpx solid #e4e7ed;transform-origin:0 100%;position:absolute;bottom:0;left:0;right:0}.sj-cell--clickable[data-v-e1850ef0]{cursor:pointer}.sj-cell--clickable[data-v-e1850ef0]:active{background:#f2f3f5}.sj-cell--required[data-v-e1850ef0]:before{content:"*";left:16rpx;color:#fa3534;font-size:32rpx;position:absolute}.sj-cell--borderless[data-v-e1850ef0]:after{display:none}.sj-cell__left-icon[data-v-e1850ef0]{margin-right:16rpx;color:#909399}.sj-cell__title[data-v-e1850ef0]{flex:1;min-width:0}.sj-cell__title-text[data-v-e1850ef0]{color:#303133;font-size:28rpx}.sj-cell__label[data-v-e1850ef0]{margin-top:8rpx;color:#909399;font-size:24rpx;line-height:1.2;display:block}.sj-cell__value[data-v-e1850ef0]{text-align:right;flex:1;min-width:0;overflow:hidden}.sj-cell__value-text[data-v-e1850ef0]{color:#909399;font-size:28rpx;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sj-cell__value--alone[data-v-e1850ef0]{color:#303133;text-align:left}.sj-cell__right-icon[data-v-e1850ef0]{margin-left:8rpx;color:#c0c4cc;font-size:28rpx}.sj-loading[data-v-e04c0de9]{align-items:center;gap:16rpx;color:#909399;display:inline-flex}.sj-loading--vertical[data-v-e04c0de9]{gap:8rpx;flex-direction:column}.sj-loading__spinner[data-v-e04c0de9]{box-sizing:border-box;animation:.8s linear infinite sj-loading-rotate-e04c0de9;position:relative}.sj-loading__circular[data-v-e04c0de9]{width:100%;height:100%}.sj-loading__circular-ring[data-v-e04c0de9]{border:4rpx solid currentColor;box-sizing:border-box;border-top-color:#0000;border-radius:50%;width:100%;height:100%}.sj-loading__spinner-dot[data-v-e04c0de9]{opacity:0;background:currentColor;border-radius:50%;width:20%;height:20%;margin-left:-10%;position:absolute;top:0;left:50%}.sj-loading__spinner-dot[data-v-e04c0de9]:first-child{opacity:0;transform:rotate(0)}.sj-loading__spinner-dot[data-v-e04c0de9]:nth-child(2){opacity:.0833333;transform:rotate(30deg)}.sj-loading__spinner-dot[data-v-e04c0de9]:nth-child(3){opacity:.166667;transform:rotate(60deg)}.sj-loading__spinner-dot[data-v-e04c0de9]:nth-child(4){opacity:.25;transform:rotate(90deg)}.sj-loading__spinner-dot[data-v-e04c0de9]:nth-child(5){opacity:.333333;transform:rotate(120deg)}.sj-loading__spinner-dot[data-v-e04c0de9]:nth-child(6){opacity:.416667;transform:rotate(150deg)}.sj-loading__spinner-dot[data-v-e04c0de9]:nth-child(7){opacity:.5;transform:rotate(180deg)}.sj-loading__spinner-dot[data-v-e04c0de9]:nth-child(8){opacity:.583333;transform:rotate(210deg)}.sj-loading__spinner-dot[data-v-e04c0de9]:nth-child(9){opacity:.666667;transform:rotate(240deg)}.sj-loading__spinner-dot[data-v-e04c0de9]:nth-child(10){opacity:.75;transform:rotate(270deg)}.sj-loading__spinner-dot[data-v-e04c0de9]:nth-child(11){opacity:.833333;transform:rotate(300deg)}.sj-loading__spinner-dot[data-v-e04c0de9]:nth-child(12){opacity:.916667;transform:rotate(330deg)}.sj-loading__spinner--spinner[data-v-e04c0de9]{animation:none}.sj-loading__text[data-v-e04c0de9]{color:#909399;font-size:28rpx;line-height:1.5}@keyframes sj-loading-rotate-e04c0de9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sj-divider[data-v-5ed68b48]{box-sizing:border-box}.sj-divider--horizontal[data-v-5ed68b48]{width:100%;margin:24rpx 0;align-items:center;display:flex}.sj-divider--vertical[data-v-5ed68b48]{width:1rpx;min-height:32rpx;margin:0 16rpx;vertical-align:middle;align-self:stretch;display:inline-flex}.sj-divider--dashed .sj-divider__line[data-v-5ed68b48]{border-style:dashed}.sj-divider--hairline .sj-divider__line[data-v-5ed68b48]{border-width:1rpx}.sj-divider__line[data-v-5ed68b48]{box-sizing:border-box;border:0 solid #e4e7ed}.sj-divider__line--full[data-v-5ed68b48]{border-top-width:1rpx;flex:1;width:100%}.sj-divider__line--left[data-v-5ed68b48],.sj-divider__line--right[data-v-5ed68b48]{border-top-width:1rpx;flex:1}.sj-divider__text[data-v-5ed68b48]{padding:0 24rpx;flex-shrink:0;max-width:80%}.sj-divider__text-inner[data-v-5ed68b48]{color:#909399;font-size:24rpx;line-height:1.2}.sj-divider--vertical .sj-divider__line--full[data-v-5ed68b48]{width:1rpx;height:100%;min-height:inherit;border-top-width:0;border-left-width:1rpx;flex:1}.sj-tag[data-v-2d115ec9]{box-sizing:border-box;align-items:center;max-width:100%;font-weight:400;line-height:1;display:inline-flex;position:relative}.sj-tag--medium[data-v-2d115ec9]{padding:8rpx 16rpx;font-size:24rpx}.sj-tag--small[data-v-2d115ec9]{padding:4rpx 12rpx;font-size:20rpx}.sj-tag--round[data-v-2d115ec9]{border-radius:999rpx}.sj-tag[data-v-2d115ec9]:not(.sj-tag--round){border-radius:4rpx}.sj-tag__text[data-v-2d115ec9]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.sj-tag__close[data-v-2d115ec9]{margin-left:4rpx;padding:0 2rpx;opacity:.75;justify-content:center;align-items:center;display:flex}.sj-tag__close-icon[data-v-2d115ec9]{font-size:1.2em;line-height:1}.sj-tag--default[data-v-2d115ec9]{color:#606266;background:#f3f4f6}.sj-tag--default.sj-tag--plain[data-v-2d115ec9]{color:#606266;border:1rpx solid #e4e7ed;background:0 0}.sj-tag--primary[data-v-2d115ec9]{color:#fff;background:#2979ff}.sj-tag--primary.sj-tag--plain[data-v-2d115ec9]{color:#2979ff;border:1rpx solid #70b1ff;background:#e8f0fe}.sj-tag--success[data-v-2d115ec9]{color:#fff;background:#19be6b}.sj-tag--success.sj-tag--plain[data-v-2d115ec9]{color:#19be6b;border:1rpx solid #8ce8b5;background:#e8f9f0}.sj-tag--warning[data-v-2d115ec9]{color:#fff;background:#f90}.sj-tag--warning.sj-tag--plain[data-v-2d115ec9]{color:#f90;border:1rpx solid #ffcb57;background:#fff4e0}.sj-tag--danger[data-v-2d115ec9]{color:#fff;background:#fa3534}.sj-tag--danger.sj-tag--plain[data-v-2d115ec9]{color:#fa3534;border:1rpx solid #ff8a8a;background:#fee8e8}.sj-tag--info[data-v-2d115ec9]{color:#fff;background:#909399}.sj-tag--info.sj-tag--plain[data-v-2d115ec9]{color:#909399;border:1rpx solid #c0c4cc;background:#f4f4f5}.sj-badge[data-v-3ca66be2]{vertical-align:middle;justify-content:center;align-items:center;display:inline-flex;position:relative}.sj-badge__content[data-v-3ca66be2]{z-index:1;box-sizing:border-box;min-width:32rpx;padding:0 8rpx;color:#fff;font-size:20rpx;font-weight:500;line-height:32rpx;text-align:center;border:2rpx solid #fff;border-radius:999rpx;transform-origin:50%;background:#fa3534;position:absolute}.sj-badge__content--dot[data-v-3ca66be2]{min-width:16rpx;width:16rpx;height:16rpx;border-radius:50%;padding:0}.sj-badge__content--top-right[data-v-3ca66be2]{top:0;right:0}.sj-badge__content--top-left[data-v-3ca66be2]{top:0;left:0}.sj-badge__content--bottom-right[data-v-3ca66be2]{bottom:0;right:0}.sj-badge__content--bottom-left[data-v-3ca66be2]{bottom:0;left:0}.sj-badge__text[data-v-3ca66be2]{display:block;transform:scale(.92)}.sj-space[data-v-1a734be2],view,text,scroll-view,swiper,input,textarea,button,image{box-sizing:border-box}button{line-height:inherit;font-size:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}button:after{display:none}input,textarea{box-sizing:border-box}
|
|
2
2
|
/*$vite$:1*/
|