shujie-ui 0.1.0 → 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.
Files changed (46) hide show
  1. package/README.md +161 -132
  2. package/dist/shujie-ui.css +1 -1
  3. package/dist/shujie-ui.es.js +8 -8
  4. package/dist/shujie-ui.umd.js +1 -1
  5. package/easycom.json +8 -0
  6. package/package.json +98 -95
  7. package/src/components/sj-badge/index.ts +10 -0
  8. package/src/components/sj-badge/sj-badge.vue +132 -0
  9. package/src/components/sj-badge/types.ts +17 -0
  10. package/src/components/sj-button/index.ts +10 -0
  11. package/src/components/sj-button/sj-button.vue +267 -0
  12. package/src/components/sj-button/types.ts +37 -0
  13. package/src/components/sj-cell/index.ts +10 -0
  14. package/src/components/sj-cell/sj-cell.vue +170 -0
  15. package/src/components/sj-cell/types.ts +30 -0
  16. package/src/components/sj-divider/index.ts +10 -0
  17. package/src/components/sj-divider/sj-divider.vue +140 -0
  18. package/src/components/sj-divider/types.ts +16 -0
  19. package/src/components/sj-icon/iconfont.scss +36 -0
  20. package/src/components/sj-icon/index.ts +10 -0
  21. package/src/components/sj-icon/sj-icon.vue +51 -0
  22. package/src/components/sj-icon/types.ts +14 -0
  23. package/src/components/sj-loading/index.ts +10 -0
  24. package/src/components/sj-loading/sj-loading.vue +133 -0
  25. package/src/components/sj-loading/types.ts +20 -0
  26. package/src/components/sj-space/index.ts +10 -0
  27. package/src/components/sj-space/sj-space.vue +67 -0
  28. package/src/components/sj-space/types.ts +14 -0
  29. package/src/components/sj-tag/index.ts +10 -0
  30. package/src/components/sj-tag/sj-tag.vue +179 -0
  31. package/src/components/sj-tag/types.ts +16 -0
  32. package/src/env.d.ts +7 -0
  33. package/src/hooks/index.ts +3 -0
  34. package/src/hooks/useLoading.ts +30 -0
  35. package/src/hooks/useScroll.ts +42 -0
  36. package/src/hooks/useVisible.ts +22 -0
  37. package/src/index.ts +59 -0
  38. package/src/styles/index.scss +7 -0
  39. package/src/styles/mixins.scss +161 -0
  40. package/src/styles/prelude.scss +3 -0
  41. package/src/styles/reset.scss +33 -0
  42. package/src/styles/variables.scss +128 -0
  43. package/src/utils/format.ts +119 -0
  44. package/src/utils/index.ts +3 -0
  45. package/src/utils/platform.ts +63 -0
  46. package/src/utils/validate.ts +37 -0
package/README.md CHANGED
@@ -1,132 +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
- ### 1. 全局引入(推荐,适合从 npm 安装)
23
-
24
- npm 包内主要包含 **打包后的 `dist`**,组件样式集中在 **`dist/shujie-ui.css`**。在 UniApp **Vue 3** 项目的 `main.ts`(或 `main.js`)里:
25
-
26
- ```ts
27
- import { createSSRApp } from 'vue'
28
- import App from './App.vue'
29
- import SjUI from 'shujie-ui'
30
- import 'shujie-ui/dist/shujie-ui.css'
31
-
32
- export function createApp() {
33
- const app = createSSRApp(App)
34
- app.use(SjUI)
35
- return { app }
36
- }
37
- ```
38
-
39
- 之后在任意页面 **无需 import**,模板里直接用标签名(与文档一致,**`sj-` 前缀 + 短横线**):
40
-
41
- ```vue
42
- <template>
43
- <view class="page">
44
- <sj-button type="primary">按钮</sj-button>
45
- <sj-cell title="标题" value="内容" is-link />
46
- </view>
47
- </template>
48
- ```
49
-
50
- ### 2. 按需手动引入(不调用 `app.use`)
51
-
52
- 在页面或布局里 `import` 组件即可;**样式仍需在入口引一次**全局 CSS,否则无样式:
53
-
54
- ```ts
55
- import 'shujie-ui/dist/shujie-ui.css'
56
- ```
57
-
58
- ```vue
59
- <script setup lang="ts">
60
- import { SjButton, SjCell } from 'shujie-ui'
61
- </script>
62
-
63
- <template>
64
- <sj-button type="primary">按钮</sj-button>
65
- <SjCell title="标题" value="内容" />
66
- </template>
67
- ```
68
-
69
- ### 3. easycom 自动扫描 `.vue`(仅当能访问源码路径时)
70
-
71
- README 曾示例 `shujie-ui/src/components/...`,但 **当前发布到 npm 的包默认不包含 `src`**,该路径在 `node_modules` 里一般不存在。若要用 easycom 指到单文件组件,需要任选其一:
72
-
73
- - 使用 **Git 子模块 / 本地拷贝 / `npm link`** 把仓库放进工程,并把 `pages.json` 的 `custom` 指到**你机器上真实的 `sj-*.vue` 路径**;或
74
- - 后续若在 `package.json` 的 `files` 中增加 `src` 再发版,即可用类似规则指向包内源码。
75
-
76
- 在未包含源码的情况下,请使用上面的 **全局引入** 或 **按需 import + 入口 CSS**。
77
-
78
- ## 组件列表
79
-
80
- | 组件 | 说明 |
81
- |------|------|
82
- | sj-button | 按钮,多种类型/尺寸/形状/状态 |
83
- | sj-icon | 图标(iconfont,需自行替换字体资源) |
84
- | sj-cell | 单元格列表项 |
85
- | sj-loading | 加载指示 |
86
- | sj-divider | 分隔线 |
87
- | sj-tag | 标签 |
88
- | sj-badge | 徽标 |
89
- | sj-space | 间距布局 |
90
-
91
- ## 设计系统
92
-
93
- ### 主色
94
-
95
- | 名称 | 色值 | 用途 |
96
- |------|------|------|
97
- | Primary | `#2979ff` | 品牌主色 |
98
- | Success | `#19be6b` | 成功状态 |
99
- | Warning | `#ff9900` | 警告提示 |
100
- | Danger | `#fa3534` | 错误/危险 |
101
- | Info | `#909399` | 次要信息 |
102
-
103
- ### 自定义主题
104
-
105
- ```scss
106
- // 覆盖变量
107
- $sj-primary: #1890ff;
108
-
109
- // 然后引入样式
110
- @import 'shujie-ui/src/styles/index.scss';
111
- ```
112
-
113
- ## 工具函数
114
-
115
- ```ts
116
- import { addUnit, debounce, throttle, deepClone, isPhone, isEmail } from 'shujie-ui'
117
- ```
118
-
119
- ## Hooks
120
-
121
- ```ts
122
- import { useVisible, useLoading, useScroll } from 'shujie-ui'
123
- ```
124
-
125
- ## 链接
126
-
127
- - [npm 包](https://www.npmjs.com/package/shujie-ui)
128
- - [Gitee 仓库](https://gitee.com/jia-shujie666/shujie-ui)
129
-
130
- ## License
131
-
132
- MIT
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
@@ -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)}}.sj-divider[data-v-4e98255f]{box-sizing:border-box}.sj-divider--horizontal[data-v-4e98255f]{width:100%;margin:24rpx 0;align-items:center;display:flex}.sj-divider--vertical[data-v-4e98255f]{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-4e98255f]{border-style:dashed}.sj-divider--hairline .sj-divider__line[data-v-4e98255f]{border-width:1rpx}.sj-divider__line[data-v-4e98255f]{box-sizing:border-box;border:0 solid #e4e7ed}.sj-divider__line--full[data-v-4e98255f]{border-top-width:1rpx;flex:1;width:100%}.sj-divider__line--left[data-v-4e98255f],.sj-divider__line--right[data-v-4e98255f]{border-top-width:1rpx;flex:1}.sj-divider__text[data-v-4e98255f]{padding:0 24rpx;flex-shrink:0;max-width:80%}.sj-divider__text-inner[data-v-4e98255f]{color:#909399;font-size:24rpx;line-height:1.2}.sj-divider--vertical .sj-divider__line--full[data-v-4e98255f]{width:1rpx;height:100%;min-height:inherit;border-top-width:0;border-left-width:1rpx;flex:1}.sj-tag[data-v-2c263ebd]{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-2c263ebd]{padding:8rpx 16rpx;font-size:24rpx}.sj-tag--small[data-v-2c263ebd]{padding:4rpx 12rpx;font-size:20rpx}.sj-tag--round[data-v-2c263ebd]{border-radius:999rpx}.sj-tag[data-v-2c263ebd]:not(.sj-tag--round){border-radius:4rpx}.sj-tag__text[data-v-2c263ebd]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.sj-tag__close[data-v-2c263ebd]{margin-left:4rpx;padding:0 2rpx;opacity:.75;justify-content:center;align-items:center;display:flex}.sj-tag__close-icon[data-v-2c263ebd]{font-size:1.2em;line-height:1}.sj-tag--default[data-v-2c263ebd]{color:#606266;background:#f3f4f6}.sj-tag--default.sj-tag--plain[data-v-2c263ebd]{color:#606266;border:1rpx solid #e4e7ed;background:0 0}.sj-tag--primary[data-v-2c263ebd]{color:#fff;background:#2979ff}.sj-tag--primary.sj-tag--plain[data-v-2c263ebd]{color:#2979ff;border:1rpx solid #70b1ff;background:#e8f0fe}.sj-tag--success[data-v-2c263ebd]{color:#fff;background:#19be6b}.sj-tag--success.sj-tag--plain[data-v-2c263ebd]{color:#19be6b;border:1rpx solid #8ce8b5;background:#e8f9f0}.sj-tag--warning[data-v-2c263ebd]{color:#fff;background:#f90}.sj-tag--warning.sj-tag--plain[data-v-2c263ebd]{color:#f90;border:1rpx solid #ffcb57;background:#fff4e0}.sj-tag--danger[data-v-2c263ebd]{color:#fff;background:#fa3534}.sj-tag--danger.sj-tag--plain[data-v-2c263ebd]{color:#fa3534;border:1rpx solid #ff8a8a;background:#fee8e8}.sj-tag--info[data-v-2c263ebd]{color:#fff;background:#909399}.sj-tag--info.sj-tag--plain[data-v-2c263ebd]{color:#909399;border:1rpx solid #c0c4cc;background:#f4f4f5}.sj-badge[data-v-77de098c]{vertical-align:middle;justify-content:center;align-items:center;display:inline-flex;position:relative}.sj-badge__content[data-v-77de098c]{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-77de098c]{min-width:16rpx;width:16rpx;height:16rpx;border-radius:50%;padding:0}.sj-badge__content--top-right[data-v-77de098c]{top:0;right:0}.sj-badge__content--top-left[data-v-77de098c]{top:0;left:0}.sj-badge__content--bottom-right[data-v-77de098c]{bottom:0;right:0}.sj-badge__content--bottom-left[data-v-77de098c]{bottom:0;left:0}.sj-badge__text[data-v-77de098c]{display:block;transform:scale(.92)}.sj-space[data-v-ab457af8],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*/
@@ -80,7 +80,7 @@ var E = /* @__PURE__ */ s({
80
80
  let n = e.__vccOpts || e;
81
81
  for (let [e, r] of t) n[e] = r;
82
82
  return n;
83
- }, O = /* @__PURE__ */ D(E, [["__scopeId", "data-v-7cac47d7"]]), k = [
83
+ }, O = /* @__PURE__ */ D(E, [["__scopeId", "data-v-b9c3bb46"]]), k = [
84
84
  "disabled",
85
85
  "form-type",
86
86
  "hover-class"
@@ -159,7 +159,7 @@ var E = /* @__PURE__ */ s({
159
159
  a("text", j, [t.loading && t.loadingText ? (u(), i(e, { key: 0 }, [o(m(t.loadingText), 1)], 64)) : p(s.$slots, "default", { key: 1 }, void 0, !0)])
160
160
  ], 14, k));
161
161
  }
162
- }), [["__scopeId", "data-v-d5bd5c39"]]);
162
+ }), [["__scopeId", "data-v-330c439c"]]);
163
163
  //#endregion
164
164
  //#region src/components/sj-icon/index.ts
165
165
  M.install = (e) => {
@@ -242,7 +242,7 @@ var N = { class: "sj-cell__title-text" }, P = {
242
242
  }, null, 8, ["name"])) : p(t.$slots, "right-icon", { key: 4 }, void 0, !0)
243
243
  ], 6));
244
244
  }
245
- }), [["__scopeId", "data-v-17f18255"]]);
245
+ }), [["__scopeId", "data-v-e1850ef0"]]);
246
246
  //#endregion
247
247
  //#region src/components/sj-cell/index.ts
248
248
  I.install = (e) => {
@@ -293,7 +293,7 @@ var L = {
293
293
  style: l({ fontSize: n.textSize ? h(v)(n.textSize) : void 0 })
294
294
  }, [p(t.$slots, "default", {}, () => [o(m(n.text), 1)], !0)], 4)) : r("", !0)], 6));
295
295
  }
296
- }), [["__scopeId", "data-v-48c28ad3"]]);
296
+ }), [["__scopeId", "data-v-e04c0de9"]]);
297
297
  //#endregion
298
298
  //#region src/components/sj-loading/index.ts
299
299
  R.install = (e) => {
@@ -345,7 +345,7 @@ var z = { class: "sj-divider__text" }, B = { class: "sj-divider__text-inner" },
345
345
  r[1] ||= a("view", { class: "sj-divider__line sj-divider__line--right" }, null, -1)
346
346
  ], 64)) : (u(), i("view", V))], 6));
347
347
  }
348
- }), [["__scopeId", "data-v-4e98255f"]]);
348
+ }), [["__scopeId", "data-v-5ed68b48"]]);
349
349
  //#endregion
350
350
  //#region src/components/sj-divider/index.ts
351
351
  H.install = (e) => {
@@ -405,7 +405,7 @@ var U = { class: "sj-tag__text" }, W = /* @__PURE__ */ D(/* @__PURE__ */ s({
405
405
  onClick: _(m, ["stop"])
406
406
  }, [...n[0] ||= [a("text", { class: "sj-tag__close-icon" }, "×", -1)]])) : r("", !0)], 6));
407
407
  }
408
- }), [["__scopeId", "data-v-2c263ebd"]]);
408
+ }), [["__scopeId", "data-v-2d115ec9"]]);
409
409
  //#endregion
410
410
  //#region src/components/sj-tag/index.ts
411
411
  W.install = (e) => {
@@ -462,7 +462,7 @@ var G = {
462
462
  style: l(f.value)
463
463
  }, [e.dot ? r("", !0) : (u(), i("text", G, m(o.value), 1))], 6)) : r("", !0)], 6));
464
464
  }
465
- }), [["__scopeId", "data-v-77de098c"]]);
465
+ }), [["__scopeId", "data-v-3ca66be2"]]);
466
466
  //#endregion
467
467
  //#region src/components/sj-badge/index.ts
468
468
  K.install = (e) => {
@@ -518,7 +518,7 @@ var q = /* @__PURE__ */ D(/* @__PURE__ */ s({
518
518
  style: l(a.value)
519
519
  }, [p(t.$slots, "default", {}, void 0, !0)], 6));
520
520
  }
521
- }), [["__scopeId", "data-v-ab457af8"]]);
521
+ }), [["__scopeId", "data-v-1a734be2"]]);
522
522
  //#endregion
523
523
  //#region src/components/sj-space/index.ts
524
524
  q.install = (e) => {
@@ -1 +1 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`)):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.SjUI={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});function n(e,t=`rpx`){return e==null?``:typeof e==`string`?/^\d+(\.\d+)?$/.test(e)?`${e}${t}`:e:`${e}${t}`}function r(e){return Number(e.replace(/rpx|px|rem|em|vw|vh/g,``))}function i(e,t,n){return Math.min(Math.max(e,t),n)}function a(e,t=2){return String(e).padStart(t,`0`)}function o(e){if(typeof e!=`object`||!e)return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(e=>o(e));let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=o(e[n]));return t}var s=0;function c(e=`sj`){return`${e}-${++s}-${Math.random().toString(36).slice(2,8)}`}function l(e,t=300){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,r),n=null},t)}}function u(e,t=300){let n=0;return function(...r){let i=Date.now();i-n>=t&&(e.apply(this,r),n=i)}}function d(e,t){return new Promise(n=>{uni.createSelectorQuery().in(t).select(e).boundingClientRect(e=>{n(e)}).exec()})}var f=(0,t.defineComponent)({__name:`sj-icon`,props:{name:{default:``},color:{default:``},size:{default:`inherit`},prefix:{default:`sj-icon`},customClass:{default:``},customStyle:{default:``}},emits:[`click`],setup(e,{emit:r}){let i=e,a=r,o=(0,t.computed)(()=>n(i.size)),s=e=>{a(`click`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`text`,{class:(0,t.normalizeClass)([e.prefix,e.name?`${e.prefix}-${e.name}`:``,e.customClass]),style:(0,t.normalizeStyle)([{fontSize:o.value,color:e.color||void 0},e.customStyle]),onClick:s},null,6))}}),p=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},m=p(f,[[`__scopeId`,`data-v-7cac47d7`]]),h=[`disabled`,`form-type`,`hover-class`],g={key:0,class:`sj-button__loading`},_={class:`sj-button__text`},v=p((0,t.defineComponent)({__name:`sj-button`,props:{type:{default:`default`},size:{default:`medium`},shape:{default:`square`},plain:{type:Boolean,default:!1},hairline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},loadingText:{default:``},loadingSize:{default:`40rpx`},icon:{default:``},iconPrefix:{default:`sj-icon`},block:{type:Boolean,default:!1},nativeType:{default:`button`},customClass:{default:``},customStyle:{default:``}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n,a=e=>{r.disabled||r.loading||i(`click`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{class:(0,t.normalizeClass)([`sj-button`,`sj-button--${e.type}`,`sj-button--${e.size}`,`sj-button--${e.shape}`,{"sj-button--plain":e.plain,"sj-button--hairline":e.hairline,"sj-button--disabled":e.disabled,"sj-button--loading":e.loading,"sj-button--block":e.block},e.customClass]),style:(0,t.normalizeStyle)(e.customStyle),disabled:e.disabled||e.loading,"form-type":e.nativeType===`submit`||e.nativeType===`reset`?e.nativeType:void 0,"hover-class":e.disabled||e.loading?``:`sj-button--active`,"hover-start-time":`20`,"hover-stay-time":`70`,onClick:a},[e.loading?((0,t.openBlock)(),(0,t.createElementBlock)(`view`,g,[...r[0]||=[(0,t.createElementVNode)(`view`,{class:`sj-button__loading-spinner`},null,-1)]])):(0,t.createCommentVNode)(``,!0),e.icon&&!e.loading?((0,t.openBlock)(),(0,t.createBlock)(m,{key:1,name:e.icon,prefix:e.iconPrefix,class:`sj-button__icon`},null,8,[`name`,`prefix`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`text`,_,[e.loading&&e.loadingText?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createTextVNode)((0,t.toDisplayString)(e.loadingText),1)],64)):(0,t.renderSlot)(n.$slots,`default`,{key:1},void 0,!0)])],14,h))}}),[[`__scopeId`,`data-v-d5bd5c39`]]);v.install=e=>{e.component(`SjButton`,v)},m.install=e=>{e.component(`SjIcon`,m)};var y={class:`sj-cell__title-text`},b={key:0,class:`sj-cell__label`},x={class:`sj-cell__value-text`},S=p((0,t.defineComponent)({__name:`sj-cell`,props:{title:{default:``},value:{default:``},label:{default:``},isLink:{type:Boolean,default:!1},arrowDirection:{default:`right`},required:{type:Boolean,default:!1},clickable:{type:Boolean,default:!1},icon:{default:``},iconSize:{default:``},titleWidth:{default:``},titleAlign:{default:`left`},border:{type:Boolean,default:!0},customClass:{default:``},customStyle:{default:``}},emits:[`click`],setup(e,{emit:r}){let i=r,a=e=>{i(`click`,e)};return(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{class:(0,t.normalizeClass)([`sj-cell`,{"sj-cell--clickable":e.clickable||e.isLink,"sj-cell--required":e.required,"sj-cell--borderless":!e.border},e.customClass]),style:(0,t.normalizeStyle)(e.customStyle),onClick:a},[e.icon?((0,t.openBlock)(),(0,t.createBlock)(m,{key:0,name:e.icon,size:e.iconSize||`40rpx`,class:`sj-cell__left-icon`},null,8,[`name`,`size`])):(0,t.renderSlot)(r.$slots,`icon`,{key:1},void 0,!0),e.title||r.$slots.title||r.$slots.label||e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{key:2,class:`sj-cell__title`,style:(0,t.normalizeStyle)({textAlign:e.titleAlign,flex:e.titleWidth?`0 0 ${(0,t.unref)(n)(e.titleWidth)}`:``})},[(0,t.renderSlot)(r.$slots,`title`,{},()=>[(0,t.createElementVNode)(`text`,y,(0,t.toDisplayString)(e.title),1)],!0),(0,t.renderSlot)(r.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`text`,b,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)],!0)],4)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`view`,{class:(0,t.normalizeClass)([`sj-cell__value`,{"sj-cell__value--alone":!e.title&&!r.$slots.title}])},[(0,t.renderSlot)(r.$slots,`default`,{},()=>[(0,t.createElementVNode)(`text`,x,(0,t.toDisplayString)(e.value),1)],!0)],2),e.isLink?((0,t.openBlock)(),(0,t.createBlock)(m,{key:3,name:`arrow-${e.arrowDirection}`,class:`sj-cell__right-icon`},null,8,[`name`])):(0,t.renderSlot)(r.$slots,`right-icon`,{key:4},void 0,!0)],6))}}),[[`__scopeId`,`data-v-17f18255`]]);S.install=e=>{e.component(`SjCell`,S)};var C={key:0,class:`sj-loading__circular`},w=p((0,t.defineComponent)({__name:`sj-loading`,props:{type:{default:`circular`},color:{default:``},size:{default:`64rpx`},textSize:{default:``},text:{default:``},vertical:{type:Boolean,default:!1},customClass:{default:``},customStyle:{default:``}},setup(e){let r=e,i=(0,t.computed)(()=>n(r.size));return(r,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{class:(0,t.normalizeClass)([`sj-loading`,{"sj-loading--vertical":e.vertical},e.customClass]),style:(0,t.normalizeStyle)(e.customStyle)},[(0,t.createElementVNode)(`view`,{class:(0,t.normalizeClass)([`sj-loading__spinner`,`sj-loading__spinner--${e.type}`]),style:(0,t.normalizeStyle)({width:i.value,height:i.value,color:e.color||void 0})},[e.type===`circular`?((0,t.openBlock)(),(0,t.createElementBlock)(`view`,C,[...a[0]||=[(0,t.createElementVNode)(`view`,{class:`sj-loading__circular-ring`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},(0,t.renderList)(12,e=>(0,t.createElementVNode)(`view`,{key:e,class:`sj-loading__spinner-dot`})),64))],6),e.text||r.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`text`,{key:0,class:`sj-loading__text`,style:(0,t.normalizeStyle)({fontSize:e.textSize?(0,t.unref)(n)(e.textSize):void 0})},[(0,t.renderSlot)(r.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)],!0)],4)):(0,t.createCommentVNode)(``,!0)],6))}}),[[`__scopeId`,`data-v-48c28ad3`]]);w.install=e=>{e.component(`SjLoading`,w)};var T={class:`sj-divider__text`},E={class:`sj-divider__text-inner`},D={key:1,class:`sj-divider__line sj-divider__line--full`},O=p((0,t.defineComponent)({__name:`sj-divider`,props:{orientation:{default:`horizontal`},dashed:{type:Boolean,default:!1},hairline:{type:Boolean,default:!0},text:{default:``},height:{default:``},margin:{default:``},customClass:{default:``},customStyle:{default:``}},setup(e){let r=e,i=(0,t.useSlots)(),a=(0,t.computed)(()=>r.orientation===`horizontal`?!!(r.text||i.default):!1),o=(0,t.computed)(()=>{let e={};return r.margin&&(e.margin=n(r.margin)),r.orientation===`vertical`&&r.height&&(e.height=n(r.height),e.alignSelf=`stretch`),[e,r.customStyle]});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{class:(0,t.normalizeClass)([`sj-divider`,`sj-divider--${e.orientation}`,{"sj-divider--dashed":e.dashed,"sj-divider--hairline":e.hairline,"sj-divider--with-text":a.value},e.customClass]),style:(0,t.normalizeStyle)(o.value)},[e.orientation===`horizontal`&&a.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[r[0]||=(0,t.createElementVNode)(`view`,{class:`sj-divider__line sj-divider__line--left`},null,-1),(0,t.createElementVNode)(`view`,T,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createElementVNode)(`text`,E,(0,t.toDisplayString)(e.text),1)],!0)]),r[1]||=(0,t.createElementVNode)(`view`,{class:`sj-divider__line sj-divider__line--right`},null,-1)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`view`,D))],6))}}),[[`__scopeId`,`data-v-4e98255f`]]);O.install=e=>{e.component(`SjDivider`,O)};var k={class:`sj-tag__text`},A=p((0,t.defineComponent)({__name:`sj-tag`,props:{type:{default:`default`},plain:{type:Boolean,default:!1},round:{type:Boolean,default:!1},size:{default:`medium`},closable:{type:Boolean,default:!1},color:{default:``},bgColor:{default:``},customClass:{default:``},customStyle:{default:``}},emits:[`click`,`close`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>{let e={};return r.color&&(e.color=r.color),r.bgColor&&!r.plain&&(e.backgroundColor=r.bgColor),[e,r.customStyle]}),o=e=>{i(`click`,e)},s=e=>{i(`close`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{class:(0,t.normalizeClass)([`sj-tag`,`sj-tag--${e.type}`,`sj-tag--${e.size}`,{"sj-tag--plain":e.plain,"sj-tag--round":e.round,"sj-tag--closable":e.closable},e.customClass]),style:(0,t.normalizeStyle)(a.value),onClick:o},[(0,t.createElementVNode)(`text`,k,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{key:0,class:`sj-tag__close`,onClick:(0,t.withModifiers)(s,[`stop`])},[...r[0]||=[(0,t.createElementVNode)(`text`,{class:`sj-tag__close-icon`},`×`,-1)]])):(0,t.createCommentVNode)(``,!0)],6))}}),[[`__scopeId`,`data-v-2c263ebd`]]);A.install=e=>{e.component(`SjTag`,A)};var j={key:0,class:`sj-badge__text`},M=p((0,t.defineComponent)({__name:`sj-badge`,props:{dot:{type:Boolean,default:!1},content:{default:``},max:{default:99},position:{default:`top-right`},offset:{},color:{default:``},customClass:{default:``},customStyle:{default:``}},setup(e){let r=e,i=(0,t.computed)(()=>!!(r.dot||r.content===0||r.content===`0`||r.content!==``&&r.content!==null&&r.content!==void 0)),a=(0,t.computed)(()=>{let e=r.content;return typeof e==`number`&&e>r.max?`${r.max}+`:String(e)}),o=(0,t.computed)(()=>[`sj-badge__content`,{"sj-badge__content--dot":r.dot,[`sj-badge__content--${r.position}`]:!0}]),s={"top-right":`translate(40%, -40%)`,"top-left":`translate(-40%, -40%)`,"bottom-right":`translate(40%, 40%)`,"bottom-left":`translate(-40%, 40%)`},c=(0,t.computed)(()=>{let e={};r.color&&(e.backgroundColor=r.color);let t=s[r.position];if(r.offset&&r.offset.length===2){let[e,i]=r.offset;t+=` translate(${n(e)}, ${n(i)})`}return e.transform=t,e});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{class:(0,t.normalizeClass)([`sj-badge`,e.customClass]),style:(0,t.normalizeStyle)(e.customStyle)},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0),i.value?((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{key:0,class:(0,t.normalizeClass)(o.value),style:(0,t.normalizeStyle)(c.value)},[e.dot?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`text`,j,(0,t.toDisplayString)(a.value),1))],6)):(0,t.createCommentVNode)(``,!0)],6))}}),[[`__scopeId`,`data-v-77de098c`]]);M.install=e=>{e.component(`SjBadge`,M)};var N=p((0,t.defineComponent)({__name:`sj-space`,props:{direction:{default:`horizontal`},size:{default:`medium`},wrap:{type:Boolean,default:!1},align:{default:`center`},justify:{default:`start`},customClass:{default:``},customStyle:{default:``}},setup(e){let r=e,i={small:16,medium:24,large:32},a=(0,t.computed)(()=>{let e=typeof r.size==`number`?n(r.size):n(i[r.size]);return[{display:`flex`,flexDirection:r.direction===`vertical`?`column`:`row`,flexWrap:r.wrap?`wrap`:`nowrap`,alignItems:{start:`flex-start`,center:`center`,end:`flex-end`,stretch:`stretch`,baseline:`baseline`}[r.align]||`center`,justifyContent:{start:`flex-start`,center:`center`,end:`flex-end`,between:`space-between`,around:`space-around`,evenly:`space-evenly`}[r.justify]||`flex-start`,gap:e},r.customStyle]});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{class:(0,t.normalizeClass)([`sj-space`,e.customClass]),style:(0,t.normalizeStyle)(a.value)},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],6))}}),[[`__scopeId`,`data-v-ab457af8`]]);N.install=e=>{e.component(`SjSpace`,N)};function P(){return typeof uni<`u`?uni.getSystemInfoSync().uniPlatform||`unknown`:typeof window<`u`?`h5`:`unknown`}function F(){return P()===`h5`}function I(){return P().startsWith(`mp-`)}function L(){return P()===`mp-weixin`}function R(){return P()===`mp-alipay`}function z(){return P()===`app-plus`}function B(){try{return uni.getSystemInfoSync()}catch{return{screenWidth:375,screenHeight:667,windowWidth:375,windowHeight:667,pixelRatio:2,platform:`unknown`}}}function V(e){return e==null?!0:typeof e==`string`?e.trim()===``:Array.isArray(e)?e.length===0:typeof e==`object`?Object.keys(e).length===0:!1}function H(e){return typeof e==`number`&&!isNaN(e)}function U(e){return/^1[3-9]\d{9}$/.test(e)}function W(e){return/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(e)}function G(e){return/^https?:\/\/.+/.test(e)}function K(e){return/^\d{15}|\d{18}|\d{17}[Xx]$/.test(e)}function q(e=!1){let n=(0,t.ref)(e);return{visible:n,show:()=>{n.value=!0},hide:()=>{n.value=!1},toggle:()=>{n.value=!n.value}}}function J(e=!1){let n=(0,t.ref)(e),r=()=>{n.value=!0},i=()=>{n.value=!1};return{loading:n,startLoading:r,stopLoading:i,withLoading:async e=>{try{return r(),await e()}finally{i()}}}}function Y(e=50){let n=(0,t.ref)({scrollTop:0,scrollLeft:0,isScrollTop:!0,isScrollBottom:!1,direction:`none`}),r=0;return{scrollState:n,onScroll:u(t=>{let{scrollTop:i,scrollLeft:a}=t.detail,o=i>r?`down`:i<r?`up`:`none`;r=i,n.value={scrollTop:i,scrollLeft:a,isScrollTop:i<=e,isScrollBottom:!1,direction:o}},100)}}var X={SjButton:v,SjIcon:m,SjCell:S,SjLoading:w,SjDivider:O,SjTag:A,SjBadge:M,SjSpace:N};e.SjBadge=M,e.SjButton=v,e.SjCell=S,e.SjDivider=O,e.SjIcon=m,e.SjLoading=w,e.SjSpace=N,e.SjTag=A,e.addUnit=n,e.clamp=i,e.debounce=l,e.deepClone=o,e.default={install:e=>{Object.entries(X).forEach(([t,n])=>{e.component(t,n)})}},e.getPlatform=P,e.getRect=d,e.getSystemInfo=B,e.isAlipay=R,e.isApp=z,e.isEmail=W,e.isEmpty=V,e.isH5=F,e.isIdCard=K,e.isMP=I,e.isNumber=H,e.isPhone=U,e.isUrl=G,e.isWeixin=L,e.padZero=a,e.removeUnit=r,e.throttle=u,e.uniqueId=c,e.useLoading=J,e.useScroll=Y,e.useVisible=q});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`)):typeof define==`function`&&define.amd?define([`exports`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.SjUI={},e.Vue))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});function n(e,t=`rpx`){return e==null?``:typeof e==`string`?/^\d+(\.\d+)?$/.test(e)?`${e}${t}`:e:`${e}${t}`}function r(e){return Number(e.replace(/rpx|px|rem|em|vw|vh/g,``))}function i(e,t,n){return Math.min(Math.max(e,t),n)}function a(e,t=2){return String(e).padStart(t,`0`)}function o(e){if(typeof e!=`object`||!e)return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(e=>o(e));let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=o(e[n]));return t}var s=0;function c(e=`sj`){return`${e}-${++s}-${Math.random().toString(36).slice(2,8)}`}function l(e,t=300){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,r),n=null},t)}}function u(e,t=300){let n=0;return function(...r){let i=Date.now();i-n>=t&&(e.apply(this,r),n=i)}}function d(e,t){return new Promise(n=>{uni.createSelectorQuery().in(t).select(e).boundingClientRect(e=>{n(e)}).exec()})}var f=(0,t.defineComponent)({__name:`sj-icon`,props:{name:{default:``},color:{default:``},size:{default:`inherit`},prefix:{default:`sj-icon`},customClass:{default:``},customStyle:{default:``}},emits:[`click`],setup(e,{emit:r}){let i=e,a=r,o=(0,t.computed)(()=>n(i.size)),s=e=>{a(`click`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`text`,{class:(0,t.normalizeClass)([e.prefix,e.name?`${e.prefix}-${e.name}`:``,e.customClass]),style:(0,t.normalizeStyle)([{fontSize:o.value,color:e.color||void 0},e.customStyle]),onClick:s},null,6))}}),p=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},m=p(f,[[`__scopeId`,`data-v-b9c3bb46`]]),h=[`disabled`,`form-type`,`hover-class`],g={key:0,class:`sj-button__loading`},_={class:`sj-button__text`},v=p((0,t.defineComponent)({__name:`sj-button`,props:{type:{default:`default`},size:{default:`medium`},shape:{default:`square`},plain:{type:Boolean,default:!1},hairline:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},loadingText:{default:``},loadingSize:{default:`40rpx`},icon:{default:``},iconPrefix:{default:`sj-icon`},block:{type:Boolean,default:!1},nativeType:{default:`button`},customClass:{default:``},customStyle:{default:``}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n,a=e=>{r.disabled||r.loading||i(`click`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{class:(0,t.normalizeClass)([`sj-button`,`sj-button--${e.type}`,`sj-button--${e.size}`,`sj-button--${e.shape}`,{"sj-button--plain":e.plain,"sj-button--hairline":e.hairline,"sj-button--disabled":e.disabled,"sj-button--loading":e.loading,"sj-button--block":e.block},e.customClass]),style:(0,t.normalizeStyle)(e.customStyle),disabled:e.disabled||e.loading,"form-type":e.nativeType===`submit`||e.nativeType===`reset`?e.nativeType:void 0,"hover-class":e.disabled||e.loading?``:`sj-button--active`,"hover-start-time":`20`,"hover-stay-time":`70`,onClick:a},[e.loading?((0,t.openBlock)(),(0,t.createElementBlock)(`view`,g,[...r[0]||=[(0,t.createElementVNode)(`view`,{class:`sj-button__loading-spinner`},null,-1)]])):(0,t.createCommentVNode)(``,!0),e.icon&&!e.loading?((0,t.openBlock)(),(0,t.createBlock)(m,{key:1,name:e.icon,prefix:e.iconPrefix,class:`sj-button__icon`},null,8,[`name`,`prefix`])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`text`,_,[e.loading&&e.loadingText?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createTextVNode)((0,t.toDisplayString)(e.loadingText),1)],64)):(0,t.renderSlot)(n.$slots,`default`,{key:1},void 0,!0)])],14,h))}}),[[`__scopeId`,`data-v-330c439c`]]);v.install=e=>{e.component(`SjButton`,v)},m.install=e=>{e.component(`SjIcon`,m)};var y={class:`sj-cell__title-text`},b={key:0,class:`sj-cell__label`},x={class:`sj-cell__value-text`},S=p((0,t.defineComponent)({__name:`sj-cell`,props:{title:{default:``},value:{default:``},label:{default:``},isLink:{type:Boolean,default:!1},arrowDirection:{default:`right`},required:{type:Boolean,default:!1},clickable:{type:Boolean,default:!1},icon:{default:``},iconSize:{default:``},titleWidth:{default:``},titleAlign:{default:`left`},border:{type:Boolean,default:!0},customClass:{default:``},customStyle:{default:``}},emits:[`click`],setup(e,{emit:r}){let i=r,a=e=>{i(`click`,e)};return(r,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{class:(0,t.normalizeClass)([`sj-cell`,{"sj-cell--clickable":e.clickable||e.isLink,"sj-cell--required":e.required,"sj-cell--borderless":!e.border},e.customClass]),style:(0,t.normalizeStyle)(e.customStyle),onClick:a},[e.icon?((0,t.openBlock)(),(0,t.createBlock)(m,{key:0,name:e.icon,size:e.iconSize||`40rpx`,class:`sj-cell__left-icon`},null,8,[`name`,`size`])):(0,t.renderSlot)(r.$slots,`icon`,{key:1},void 0,!0),e.title||r.$slots.title||r.$slots.label||e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{key:2,class:`sj-cell__title`,style:(0,t.normalizeStyle)({textAlign:e.titleAlign,flex:e.titleWidth?`0 0 ${(0,t.unref)(n)(e.titleWidth)}`:``})},[(0,t.renderSlot)(r.$slots,`title`,{},()=>[(0,t.createElementVNode)(`text`,y,(0,t.toDisplayString)(e.title),1)],!0),(0,t.renderSlot)(r.$slots,`label`,{},()=>[e.label?((0,t.openBlock)(),(0,t.createElementBlock)(`text`,b,(0,t.toDisplayString)(e.label),1)):(0,t.createCommentVNode)(``,!0)],!0)],4)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`view`,{class:(0,t.normalizeClass)([`sj-cell__value`,{"sj-cell__value--alone":!e.title&&!r.$slots.title}])},[(0,t.renderSlot)(r.$slots,`default`,{},()=>[(0,t.createElementVNode)(`text`,x,(0,t.toDisplayString)(e.value),1)],!0)],2),e.isLink?((0,t.openBlock)(),(0,t.createBlock)(m,{key:3,name:`arrow-${e.arrowDirection}`,class:`sj-cell__right-icon`},null,8,[`name`])):(0,t.renderSlot)(r.$slots,`right-icon`,{key:4},void 0,!0)],6))}}),[[`__scopeId`,`data-v-e1850ef0`]]);S.install=e=>{e.component(`SjCell`,S)};var C={key:0,class:`sj-loading__circular`},w=p((0,t.defineComponent)({__name:`sj-loading`,props:{type:{default:`circular`},color:{default:``},size:{default:`64rpx`},textSize:{default:``},text:{default:``},vertical:{type:Boolean,default:!1},customClass:{default:``},customStyle:{default:``}},setup(e){let r=e,i=(0,t.computed)(()=>n(r.size));return(r,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{class:(0,t.normalizeClass)([`sj-loading`,{"sj-loading--vertical":e.vertical},e.customClass]),style:(0,t.normalizeStyle)(e.customStyle)},[(0,t.createElementVNode)(`view`,{class:(0,t.normalizeClass)([`sj-loading__spinner`,`sj-loading__spinner--${e.type}`]),style:(0,t.normalizeStyle)({width:i.value,height:i.value,color:e.color||void 0})},[e.type===`circular`?((0,t.openBlock)(),(0,t.createElementBlock)(`view`,C,[...a[0]||=[(0,t.createElementVNode)(`view`,{class:`sj-loading__circular-ring`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},(0,t.renderList)(12,e=>(0,t.createElementVNode)(`view`,{key:e,class:`sj-loading__spinner-dot`})),64))],6),e.text||r.$slots.default?((0,t.openBlock)(),(0,t.createElementBlock)(`text`,{key:0,class:`sj-loading__text`,style:(0,t.normalizeStyle)({fontSize:e.textSize?(0,t.unref)(n)(e.textSize):void 0})},[(0,t.renderSlot)(r.$slots,`default`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.text),1)],!0)],4)):(0,t.createCommentVNode)(``,!0)],6))}}),[[`__scopeId`,`data-v-e04c0de9`]]);w.install=e=>{e.component(`SjLoading`,w)};var T={class:`sj-divider__text`},E={class:`sj-divider__text-inner`},D={key:1,class:`sj-divider__line sj-divider__line--full`},O=p((0,t.defineComponent)({__name:`sj-divider`,props:{orientation:{default:`horizontal`},dashed:{type:Boolean,default:!1},hairline:{type:Boolean,default:!0},text:{default:``},height:{default:``},margin:{default:``},customClass:{default:``},customStyle:{default:``}},setup(e){let r=e,i=(0,t.useSlots)(),a=(0,t.computed)(()=>r.orientation===`horizontal`?!!(r.text||i.default):!1),o=(0,t.computed)(()=>{let e={};return r.margin&&(e.margin=n(r.margin)),r.orientation===`vertical`&&r.height&&(e.height=n(r.height),e.alignSelf=`stretch`),[e,r.customStyle]});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{class:(0,t.normalizeClass)([`sj-divider`,`sj-divider--${e.orientation}`,{"sj-divider--dashed":e.dashed,"sj-divider--hairline":e.hairline,"sj-divider--with-text":a.value},e.customClass]),style:(0,t.normalizeStyle)(o.value)},[e.orientation===`horizontal`&&a.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[r[0]||=(0,t.createElementVNode)(`view`,{class:`sj-divider__line sj-divider__line--left`},null,-1),(0,t.createElementVNode)(`view`,T,[(0,t.renderSlot)(n.$slots,`default`,{},()=>[(0,t.createElementVNode)(`text`,E,(0,t.toDisplayString)(e.text),1)],!0)]),r[1]||=(0,t.createElementVNode)(`view`,{class:`sj-divider__line sj-divider__line--right`},null,-1)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`view`,D))],6))}}),[[`__scopeId`,`data-v-5ed68b48`]]);O.install=e=>{e.component(`SjDivider`,O)};var k={class:`sj-tag__text`},A=p((0,t.defineComponent)({__name:`sj-tag`,props:{type:{default:`default`},plain:{type:Boolean,default:!1},round:{type:Boolean,default:!1},size:{default:`medium`},closable:{type:Boolean,default:!1},color:{default:``},bgColor:{default:``},customClass:{default:``},customStyle:{default:``}},emits:[`click`,`close`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>{let e={};return r.color&&(e.color=r.color),r.bgColor&&!r.plain&&(e.backgroundColor=r.bgColor),[e,r.customStyle]}),o=e=>{i(`click`,e)},s=e=>{i(`close`,e)};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{class:(0,t.normalizeClass)([`sj-tag`,`sj-tag--${e.type}`,`sj-tag--${e.size}`,{"sj-tag--plain":e.plain,"sj-tag--round":e.round,"sj-tag--closable":e.closable},e.customClass]),style:(0,t.normalizeStyle)(a.value),onClick:o},[(0,t.createElementVNode)(`text`,k,[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)]),e.closable?((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{key:0,class:`sj-tag__close`,onClick:(0,t.withModifiers)(s,[`stop`])},[...r[0]||=[(0,t.createElementVNode)(`text`,{class:`sj-tag__close-icon`},`×`,-1)]])):(0,t.createCommentVNode)(``,!0)],6))}}),[[`__scopeId`,`data-v-2d115ec9`]]);A.install=e=>{e.component(`SjTag`,A)};var j={key:0,class:`sj-badge__text`},M=p((0,t.defineComponent)({__name:`sj-badge`,props:{dot:{type:Boolean,default:!1},content:{default:``},max:{default:99},position:{default:`top-right`},offset:{},color:{default:``},customClass:{default:``},customStyle:{default:``}},setup(e){let r=e,i=(0,t.computed)(()=>!!(r.dot||r.content===0||r.content===`0`||r.content!==``&&r.content!==null&&r.content!==void 0)),a=(0,t.computed)(()=>{let e=r.content;return typeof e==`number`&&e>r.max?`${r.max}+`:String(e)}),o=(0,t.computed)(()=>[`sj-badge__content`,{"sj-badge__content--dot":r.dot,[`sj-badge__content--${r.position}`]:!0}]),s={"top-right":`translate(40%, -40%)`,"top-left":`translate(-40%, -40%)`,"bottom-right":`translate(40%, 40%)`,"bottom-left":`translate(-40%, 40%)`},c=(0,t.computed)(()=>{let e={};r.color&&(e.backgroundColor=r.color);let t=s[r.position];if(r.offset&&r.offset.length===2){let[e,i]=r.offset;t+=` translate(${n(e)}, ${n(i)})`}return e.transform=t,e});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{class:(0,t.normalizeClass)([`sj-badge`,e.customClass]),style:(0,t.normalizeStyle)(e.customStyle)},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0),i.value?((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{key:0,class:(0,t.normalizeClass)(o.value),style:(0,t.normalizeStyle)(c.value)},[e.dot?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`text`,j,(0,t.toDisplayString)(a.value),1))],6)):(0,t.createCommentVNode)(``,!0)],6))}}),[[`__scopeId`,`data-v-3ca66be2`]]);M.install=e=>{e.component(`SjBadge`,M)};var N=p((0,t.defineComponent)({__name:`sj-space`,props:{direction:{default:`horizontal`},size:{default:`medium`},wrap:{type:Boolean,default:!1},align:{default:`center`},justify:{default:`start`},customClass:{default:``},customStyle:{default:``}},setup(e){let r=e,i={small:16,medium:24,large:32},a=(0,t.computed)(()=>{let e=typeof r.size==`number`?n(r.size):n(i[r.size]);return[{display:`flex`,flexDirection:r.direction===`vertical`?`column`:`row`,flexWrap:r.wrap?`wrap`:`nowrap`,alignItems:{start:`flex-start`,center:`center`,end:`flex-end`,stretch:`stretch`,baseline:`baseline`}[r.align]||`center`,justifyContent:{start:`flex-start`,center:`center`,end:`flex-end`,between:`space-between`,around:`space-around`,evenly:`space-evenly`}[r.justify]||`flex-start`,gap:e},r.customStyle]});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`view`,{class:(0,t.normalizeClass)([`sj-space`,e.customClass]),style:(0,t.normalizeStyle)(a.value)},[(0,t.renderSlot)(n.$slots,`default`,{},void 0,!0)],6))}}),[[`__scopeId`,`data-v-1a734be2`]]);N.install=e=>{e.component(`SjSpace`,N)};function P(){return typeof uni<`u`?uni.getSystemInfoSync().uniPlatform||`unknown`:typeof window<`u`?`h5`:`unknown`}function F(){return P()===`h5`}function I(){return P().startsWith(`mp-`)}function L(){return P()===`mp-weixin`}function R(){return P()===`mp-alipay`}function z(){return P()===`app-plus`}function B(){try{return uni.getSystemInfoSync()}catch{return{screenWidth:375,screenHeight:667,windowWidth:375,windowHeight:667,pixelRatio:2,platform:`unknown`}}}function V(e){return e==null?!0:typeof e==`string`?e.trim()===``:Array.isArray(e)?e.length===0:typeof e==`object`?Object.keys(e).length===0:!1}function H(e){return typeof e==`number`&&!isNaN(e)}function U(e){return/^1[3-9]\d{9}$/.test(e)}function W(e){return/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(e)}function G(e){return/^https?:\/\/.+/.test(e)}function K(e){return/^\d{15}|\d{18}|\d{17}[Xx]$/.test(e)}function q(e=!1){let n=(0,t.ref)(e);return{visible:n,show:()=>{n.value=!0},hide:()=>{n.value=!1},toggle:()=>{n.value=!n.value}}}function J(e=!1){let n=(0,t.ref)(e),r=()=>{n.value=!0},i=()=>{n.value=!1};return{loading:n,startLoading:r,stopLoading:i,withLoading:async e=>{try{return r(),await e()}finally{i()}}}}function Y(e=50){let n=(0,t.ref)({scrollTop:0,scrollLeft:0,isScrollTop:!0,isScrollBottom:!1,direction:`none`}),r=0;return{scrollState:n,onScroll:u(t=>{let{scrollTop:i,scrollLeft:a}=t.detail,o=i>r?`down`:i<r?`up`:`none`;r=i,n.value={scrollTop:i,scrollLeft:a,isScrollTop:i<=e,isScrollBottom:!1,direction:o}},100)}}var X={SjButton:v,SjIcon:m,SjCell:S,SjLoading:w,SjDivider:O,SjTag:A,SjBadge:M,SjSpace:N};e.SjBadge=M,e.SjButton=v,e.SjCell=S,e.SjDivider=O,e.SjIcon=m,e.SjLoading=w,e.SjSpace=N,e.SjTag=A,e.addUnit=n,e.clamp=i,e.debounce=l,e.deepClone=o,e.default={install:e=>{Object.entries(X).forEach(([t,n])=>{e.component(t,n)})}},e.getPlatform=P,e.getRect=d,e.getSystemInfo=B,e.isAlipay=R,e.isApp=z,e.isEmail=W,e.isEmpty=V,e.isH5=F,e.isIdCard=K,e.isMP=I,e.isNumber=H,e.isPhone=U,e.isUrl=G,e.isWeixin=L,e.padZero=a,e.removeUnit=r,e.throttle=u,e.uniqueId=c,e.useLoading=J,e.useScroll=Y,e.useVisible=q});
package/easycom.json ADDED
@@ -0,0 +1,8 @@
1
+ {
2
+ "easycom": {
3
+ "autoscan": true,
4
+ "custom": {
5
+ "^sj-(.*)": "shujie-ui/src/components/sj-$1/sj-$1.vue"
6
+ }
7
+ }
8
+ }