@ruixinkeji/prism-ui 1.0.4 → 1.0.6
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/package.json
CHANGED
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@ruixinkeji/prism-ui",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Prism UI - 现代化玻璃态设计 uni-app 组件库",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"module": "index.esm.js",
|
|
7
|
-
"types": "index.d.ts",
|
|
8
|
-
"files": [
|
|
9
|
-
"styles",
|
|
10
|
-
"theme",
|
|
11
|
-
"components",
|
|
12
|
-
"fonts",
|
|
13
|
-
"store",
|
|
14
|
-
"index.js",
|
|
15
|
-
"index.esm.js",
|
|
16
|
-
"index.d.ts",
|
|
17
|
-
"README.md"
|
|
18
|
-
],
|
|
19
|
-
"scripts": {
|
|
20
|
-
"dev:h5": "uni -p h5",
|
|
21
|
-
"build:h5": "uni build -p h5",
|
|
22
|
-
"dev:mp-weixin": "uni -p mp-weixin",
|
|
23
|
-
"build:mp-weixin": "uni build -p mp-weixin",
|
|
24
|
-
"build:lib": "node scripts/build.js",
|
|
25
|
-
"prepublishOnly": "npm run build:lib"
|
|
26
|
-
},
|
|
27
|
-
"keywords": [
|
|
28
|
-
"uni-app",
|
|
29
|
-
"vue3",
|
|
30
|
-
"ui",
|
|
31
|
-
"components",
|
|
32
|
-
"glassmorphism",
|
|
33
|
-
"dark-mode",
|
|
34
|
-
"prism-ui",
|
|
35
|
-
"ruixin",
|
|
36
|
-
"scss",
|
|
37
|
-
"css",
|
|
38
|
-
"mobile"
|
|
39
|
-
],
|
|
40
|
-
"author": "Ruixin",
|
|
41
|
-
"license": "MIT",
|
|
42
|
-
"repository": {
|
|
43
|
-
"type": "git",
|
|
44
|
-
"url": "https://github.com/ruixin/prism-ui.git"
|
|
45
|
-
},
|
|
46
|
-
"homepage": "https://github.com/ruixin/prism-ui#readme",
|
|
47
|
-
"bugs": {
|
|
48
|
-
"url": "https://github.com/ruixin/prism-ui/issues"
|
|
49
|
-
},
|
|
50
|
-
"peerDependencies": {
|
|
51
|
-
"pinia": "^2.0.0",
|
|
52
|
-
"sass": "^1.0.0",
|
|
53
|
-
"vue": "^3.0.0"
|
|
54
|
-
},
|
|
55
|
-
"peerDependenciesMeta": {
|
|
56
|
-
"pinia": {
|
|
57
|
-
"optional": true
|
|
58
|
-
},
|
|
59
|
-
"sass": {
|
|
60
|
-
"optional": false
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
"devDependencies": {
|
|
64
|
-
"@dcloudio/types": "^3.4.8",
|
|
65
|
-
"@dcloudio/uni-app": "3.0.0-4060620250520001",
|
|
66
|
-
"@dcloudio/uni-app-plus": "3.0.0-4060620250520001",
|
|
67
|
-
"@dcloudio/uni-automator": "3.0.0-4060620250520001",
|
|
68
|
-
"@dcloudio/uni-cli-shared": "3.0.0-4060620250520001",
|
|
69
|
-
"@dcloudio/uni-components": "3.0.0-4060620250520001",
|
|
70
|
-
"@dcloudio/uni-h5": "3.0.0-4060620250520001",
|
|
71
|
-
"@dcloudio/uni-mp-weixin": "3.0.0-4060620250520001",
|
|
72
|
-
"@dcloudio/uni-stacktracey": "3.0.0-4060620250520001",
|
|
73
|
-
"@dcloudio/vite-plugin-uni": "3.0.0-4060620250520001",
|
|
74
|
-
"@uni-helper/unocss-preset-uni": "^0.2.11",
|
|
75
|
-
"@unocss/preset-uno": "^66.5.10",
|
|
76
|
-
"@vue/runtime-core": "^3.4.21",
|
|
77
|
-
"pinia": "^2.0.36",
|
|
78
|
-
"sass": "^1.95.1",
|
|
79
|
-
"unocss": "^66.0.0",
|
|
80
|
-
"unocss-applet": "^0.12.2",
|
|
81
|
-
"vite": "^5.2.8",
|
|
82
|
-
"vue": "^3.4.21"
|
|
83
|
-
},
|
|
84
|
-
"publishConfig": {
|
|
85
|
-
"access": "public",
|
|
86
|
-
"registry": "https://registry.npmjs.org/"
|
|
87
|
-
},
|
|
88
|
-
"engines": {
|
|
89
|
-
"node": ">=16.0.0"
|
|
90
|
-
},
|
|
91
|
-
"dependencies": {
|
|
92
|
-
"@qiun/ucharts": "^2.5.0-20230101"
|
|
93
|
-
},
|
|
94
|
-
"type": "module"
|
|
95
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@ruixinkeji/prism-ui",
|
|
3
|
+
"version": "1.0.6",
|
|
4
|
+
"description": "Prism UI - 现代化玻璃态设计 uni-app 组件库",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"module": "index.esm.js",
|
|
7
|
+
"types": "index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"styles",
|
|
10
|
+
"theme",
|
|
11
|
+
"components",
|
|
12
|
+
"fonts",
|
|
13
|
+
"store",
|
|
14
|
+
"index.js",
|
|
15
|
+
"index.esm.js",
|
|
16
|
+
"index.d.ts",
|
|
17
|
+
"README.md"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"dev:h5": "uni -p h5",
|
|
21
|
+
"build:h5": "uni build -p h5",
|
|
22
|
+
"dev:mp-weixin": "uni -p mp-weixin",
|
|
23
|
+
"build:mp-weixin": "uni build -p mp-weixin",
|
|
24
|
+
"build:lib": "node scripts/build.js",
|
|
25
|
+
"prepublishOnly": "npm run build:lib"
|
|
26
|
+
},
|
|
27
|
+
"keywords": [
|
|
28
|
+
"uni-app",
|
|
29
|
+
"vue3",
|
|
30
|
+
"ui",
|
|
31
|
+
"components",
|
|
32
|
+
"glassmorphism",
|
|
33
|
+
"dark-mode",
|
|
34
|
+
"prism-ui",
|
|
35
|
+
"ruixin",
|
|
36
|
+
"scss",
|
|
37
|
+
"css",
|
|
38
|
+
"mobile"
|
|
39
|
+
],
|
|
40
|
+
"author": "Ruixin",
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "https://github.com/ruixin/prism-ui.git"
|
|
45
|
+
},
|
|
46
|
+
"homepage": "https://github.com/ruixin/prism-ui#readme",
|
|
47
|
+
"bugs": {
|
|
48
|
+
"url": "https://github.com/ruixin/prism-ui/issues"
|
|
49
|
+
},
|
|
50
|
+
"peerDependencies": {
|
|
51
|
+
"pinia": "^2.0.0",
|
|
52
|
+
"sass": "^1.0.0",
|
|
53
|
+
"vue": "^3.0.0"
|
|
54
|
+
},
|
|
55
|
+
"peerDependenciesMeta": {
|
|
56
|
+
"pinia": {
|
|
57
|
+
"optional": true
|
|
58
|
+
},
|
|
59
|
+
"sass": {
|
|
60
|
+
"optional": false
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@dcloudio/types": "^3.4.8",
|
|
65
|
+
"@dcloudio/uni-app": "3.0.0-4060620250520001",
|
|
66
|
+
"@dcloudio/uni-app-plus": "3.0.0-4060620250520001",
|
|
67
|
+
"@dcloudio/uni-automator": "3.0.0-4060620250520001",
|
|
68
|
+
"@dcloudio/uni-cli-shared": "3.0.0-4060620250520001",
|
|
69
|
+
"@dcloudio/uni-components": "3.0.0-4060620250520001",
|
|
70
|
+
"@dcloudio/uni-h5": "3.0.0-4060620250520001",
|
|
71
|
+
"@dcloudio/uni-mp-weixin": "3.0.0-4060620250520001",
|
|
72
|
+
"@dcloudio/uni-stacktracey": "3.0.0-4060620250520001",
|
|
73
|
+
"@dcloudio/vite-plugin-uni": "3.0.0-4060620250520001",
|
|
74
|
+
"@uni-helper/unocss-preset-uni": "^0.2.11",
|
|
75
|
+
"@unocss/preset-uno": "^66.5.10",
|
|
76
|
+
"@vue/runtime-core": "^3.4.21",
|
|
77
|
+
"pinia": "^2.0.36",
|
|
78
|
+
"sass": "^1.95.1",
|
|
79
|
+
"unocss": "^66.0.0",
|
|
80
|
+
"unocss-applet": "^0.12.2",
|
|
81
|
+
"vite": "^5.2.8",
|
|
82
|
+
"vue": "^3.4.21"
|
|
83
|
+
},
|
|
84
|
+
"publishConfig": {
|
|
85
|
+
"access": "public",
|
|
86
|
+
"registry": "https://registry.npmjs.org/"
|
|
87
|
+
},
|
|
88
|
+
"engines": {
|
|
89
|
+
"node": ">=16.0.0"
|
|
90
|
+
},
|
|
91
|
+
"dependencies": {
|
|
92
|
+
"@qiun/ucharts": "^2.5.0-20230101"
|
|
93
|
+
},
|
|
94
|
+
"type": "module"
|
|
95
|
+
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 系统检测 Composable
|
|
3
|
-
*/
|
|
4
|
-
import { ref, computed, onMounted } from 'vue';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* 使用微信浏览器检测
|
|
8
|
-
* @returns {{ isWechatBrowser: Ref<boolean> }}
|
|
9
|
-
*/
|
|
10
|
-
export function useWechatBrowser() {
|
|
11
|
-
const isWechatBrowser = ref(false);
|
|
12
|
-
|
|
13
|
-
onMounted(() => {
|
|
14
|
-
// #ifdef H5
|
|
15
|
-
if (typeof window !== 'undefined' && typeof navigator !== 'undefined') {
|
|
16
|
-
const ua = navigator.userAgent.toLowerCase();
|
|
17
|
-
isWechatBrowser.value = ua.includes('micromessenger');
|
|
18
|
-
}
|
|
19
|
-
// #endif
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
return {
|
|
23
|
-
isWechatBrowser
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* 使用状态栏高度
|
|
29
|
-
* @returns {{ statusBarHeight: Ref<number>, navbarHeight: Ref<number>, navbarContentHeight: Ref<number> }}
|
|
30
|
-
*/
|
|
31
|
-
export function useStatusBar() {
|
|
32
|
-
const statusBarHeight = ref(0);
|
|
33
|
-
|
|
34
|
-
onMounted(() => {
|
|
35
|
-
try {
|
|
36
|
-
const systemInfo = uni.getSystemInfoSync();
|
|
37
|
-
statusBarHeight.value = systemInfo.statusBarHeight || 0;
|
|
38
|
-
} catch (e) {
|
|
39
|
-
statusBarHeight.value = 0;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
// 导航栏内容高度(rpx 转 px)
|
|
44
|
-
const navbarContentHeight = computed(() => {
|
|
45
|
-
try {
|
|
46
|
-
const systemInfo = uni.getSystemInfoSync();
|
|
47
|
-
return 88 / 750 * systemInfo.windowWidth;
|
|
48
|
-
} catch (e) {
|
|
49
|
-
return 0;
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
// 完整导航栏高度(状态栏 + 内容)
|
|
54
|
-
const navbarHeight = computed(() => {
|
|
55
|
-
return statusBarHeight.value + navbarContentHeight.value;
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
return {
|
|
59
|
-
statusBarHeight,
|
|
60
|
-
navbarHeight,
|
|
61
|
-
navbarContentHeight
|
|
62
|
-
};
|
|
63
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 主题 Composable
|
|
3
|
-
* 提供深色模式状态检测,自动适配多种环境
|
|
4
|
-
*/
|
|
5
|
-
import { ref, computed, onMounted } from 'vue';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* 使用主题功能
|
|
9
|
-
* @returns {{ isDarkMode: Ref<boolean> }}
|
|
10
|
-
*/
|
|
11
|
-
export function useTheme() {
|
|
12
|
-
const isDarkMode = ref(false);
|
|
13
|
-
|
|
14
|
-
// H5 环境 - 从 HTML 元素的 class 判断
|
|
15
|
-
// #ifdef H5
|
|
16
|
-
onMounted(() => {
|
|
17
|
-
if (typeof document !== 'undefined') {
|
|
18
|
-
const updateDarkMode = () => {
|
|
19
|
-
isDarkMode.value = document.documentElement.classList.contains('dark-mode');
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
// 初始化
|
|
23
|
-
updateDarkMode();
|
|
24
|
-
|
|
25
|
-
// 监听 class 变化
|
|
26
|
-
const observer = new MutationObserver(updateDarkMode);
|
|
27
|
-
observer.observe(document.documentElement, {
|
|
28
|
-
attributes: true,
|
|
29
|
-
attributeFilter: ['class']
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
// 清理
|
|
33
|
-
return () => observer.disconnect();
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
// #endif
|
|
37
|
-
|
|
38
|
-
// 小程序/APP 环境 - 从系统信息判断
|
|
39
|
-
// #ifndef H5
|
|
40
|
-
onMounted(() => {
|
|
41
|
-
const updateDarkMode = () => {
|
|
42
|
-
try {
|
|
43
|
-
const systemInfo = uni.getSystemInfoSync();
|
|
44
|
-
isDarkMode.value = systemInfo.theme === 'dark';
|
|
45
|
-
} catch (e) {
|
|
46
|
-
isDarkMode.value = false;
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
// 初始化
|
|
51
|
-
updateDarkMode();
|
|
52
|
-
|
|
53
|
-
// 监听系统主题变化
|
|
54
|
-
uni.onThemeChange(() => {
|
|
55
|
-
updateDarkMode();
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
// #endif
|
|
59
|
-
|
|
60
|
-
return {
|
|
61
|
-
isDarkMode: computed(() => isDarkMode.value)
|
|
62
|
-
};
|
|
63
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 判断是否为微信浏览器环境
|
|
3
|
-
* @returns {boolean}
|
|
4
|
-
*/
|
|
5
|
-
export function isWechatBrowser() {
|
|
6
|
-
// #ifdef H5
|
|
7
|
-
if (typeof window !== 'undefined' && typeof navigator !== 'undefined') {
|
|
8
|
-
const ua = navigator.userAgent.toLowerCase();
|
|
9
|
-
return ua.includes('micromessenger');
|
|
10
|
-
}
|
|
11
|
-
// #endif
|
|
12
|
-
return false;
|
|
13
|
-
}
|