@ruixinkeji/prism-ui 1.0.0

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 (48) hide show
  1. package/README.md +141 -0
  2. package/components/PrismAIAssist/PrismAIAssist.vue +98 -0
  3. package/components/PrismAddressInput/PrismAddressInput.vue +597 -0
  4. package/components/PrismCityCascadeSelect/PrismCityCascadeSelect.vue +793 -0
  5. package/components/PrismCityPicker/PrismCityPicker.vue +1008 -0
  6. package/components/PrismCitySelect/PrismCitySelect.vue +435 -0
  7. package/components/PrismCode/PrismCode.vue +749 -0
  8. package/components/PrismCodeInput/PrismCodeInput.vue +156 -0
  9. package/components/PrismDateTimePicker/PrismDateTimePicker.vue +953 -0
  10. package/components/PrismDropdown/PrismDropdown.vue +77 -0
  11. package/components/PrismGroupSticky/PrismGroupSticky.vue +352 -0
  12. package/components/PrismIdCardInput/PrismIdCardInput.vue +253 -0
  13. package/components/PrismImagePicker/PrismImagePicker.vue +457 -0
  14. package/components/PrismIndexBar/PrismIndexBar.vue +243 -0
  15. package/components/PrismLicensePlateInput/PrismLicensePlateInput.vue +1100 -0
  16. package/components/PrismMusicPlayer/PrismMusicPlayer.vue +530 -0
  17. package/components/PrismNavBar/PrismNavBar.vue +199 -0
  18. package/components/PrismSecureInput/PrismSecureInput.vue +360 -0
  19. package/components/PrismSticky/PrismSticky.vue +173 -0
  20. package/components/PrismSwiper/PrismSwiper.vue +339 -0
  21. package/components/PrismSwitch/PrismSwitch.vue +202 -0
  22. package/components/PrismTabBar/PrismTabBar.vue +147 -0
  23. package/components/PrismTabs/PrismTabs.vue +49 -0
  24. package/components/PrismVoiceInput/PrismVoiceInput.vue +529 -0
  25. package/index.d.ts +24 -0
  26. package/index.esm.js +25 -0
  27. package/index.js +25 -0
  28. package/package.json +89 -0
  29. package/styles/base.scss +227 -0
  30. package/styles/button.scss +120 -0
  31. package/styles/card.scss +306 -0
  32. package/styles/colors.scss +877 -0
  33. package/styles/data.scss +1229 -0
  34. package/styles/effects.scss +407 -0
  35. package/styles/feedback.scss +698 -0
  36. package/styles/form.scss +1574 -0
  37. package/styles/index.scss +46 -0
  38. package/styles/list.scss +184 -0
  39. package/styles/navigation.scss +554 -0
  40. package/styles/overlay.scss +182 -0
  41. package/styles/utilities.scss +134 -0
  42. package/styles/variables.scss +138 -0
  43. package/theme/blue.scss +36 -0
  44. package/theme/cyan.scss +32 -0
  45. package/theme/green.scss +32 -0
  46. package/theme/orange.scss +32 -0
  47. package/theme/purple.scss +32 -0
  48. package/theme/red.scss +32 -0
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Prism UI - 工具类样式
3
+ * 语义化组件类(保留 prism- 前缀)
4
+ */
5
+
6
+ /* ============================================================
7
+ 布局组件
8
+ ============================================================ */
9
+
10
+ .prism-container {
11
+ padding: 30rpx 30rpx 40rpx;
12
+ }
13
+
14
+ // 底部占位(用于 TabBar 页面)
15
+ .prism-bottom-placeholder {
16
+ height: calc(120rpx + env(safe-area-inset-bottom));
17
+ }
18
+
19
+ /* ============================================================
20
+ 文字颜色(语义化)
21
+ ============================================================ */
22
+
23
+ .prism-text-primary { color: var(--prism-text-primary); }
24
+ .prism-text-regular { color: var(--prism-text-regular); }
25
+ .prism-text-secondary { color: var(--prism-text-secondary); }
26
+ .prism-text-placeholder { color: var(--prism-text-placeholder); }
27
+ .prism-text-white { color: #FFFFFF; }
28
+ .prism-text-success { color: var(--prism-success-color); }
29
+ .prism-text-warning { color: var(--prism-warning-color); }
30
+ .prism-text-danger { color: var(--prism-danger-color); }
31
+
32
+ /* ============================================================
33
+ 安全区域
34
+ ============================================================ */
35
+
36
+ .prism-safe-area-bottom { padding-bottom: env(safe-area-inset-bottom); }
37
+ .prism-safe-area-top { padding-top: env(safe-area-inset-top); }
38
+
39
+ /* ============================================================
40
+ 链接文字
41
+ ============================================================ */
42
+
43
+ .prism-link {
44
+ color: var(--prism-primary-color);
45
+ font-weight: 500;
46
+ }
47
+
48
+ /* ============================================================
49
+ 快捷功能网格
50
+ ============================================================ */
51
+
52
+ .prism-quick-actions {
53
+ display: grid;
54
+ grid-template-columns: repeat(4, 1fr);
55
+ gap: 16rpx;
56
+ padding: 24rpx 16rpx;
57
+
58
+ .quick-item {
59
+ display: flex;
60
+ flex-direction: column;
61
+ align-items: center;
62
+ position: relative;
63
+
64
+ &:active {
65
+ opacity: 0.8;
66
+ }
67
+
68
+ .prism-badge {
69
+ top: 0;
70
+ right: 16rpx;
71
+ }
72
+
73
+ .prism-number-badge {
74
+ top: -4rpx;
75
+ right: 16rpx;
76
+ }
77
+ }
78
+
79
+ .quick-icon {
80
+ width: 80rpx;
81
+ height: 80rpx;
82
+ border-radius: 20rpx;
83
+ display: flex;
84
+ align-items: center;
85
+ justify-content: center;
86
+ margin-bottom: 12rpx;
87
+
88
+ .fa, .fa-solid {
89
+ font-size: 32rpx;
90
+ }
91
+
92
+ // 当使用 prism-icon 时,覆盖尺寸
93
+ &.prism-icon {
94
+ width: 80rpx;
95
+ height: 80rpx;
96
+ border-radius: 20rpx;
97
+
98
+ .fa, .fa-solid, .iconfont {
99
+ font-size: 32rpx;
100
+ }
101
+ }
102
+ }
103
+
104
+ .quick-text {
105
+ font-size: 22rpx;
106
+ color: var(--prism-text-primary, #1D2129);
107
+ }
108
+
109
+ .dark-mode & {
110
+ .quick-item .quick-text {
111
+ color: var(--prism-text-primary, #E5E6EB);
112
+ }
113
+ }
114
+ }
115
+
116
+ /* ============================================================
117
+ 代码展示
118
+ ============================================================ */
119
+
120
+ /* 代码提示标签 - 用于行内展示类名、代码片段等 */
121
+ .prism-code-hint {
122
+ display: inline-block;
123
+ font-size: 22rpx;
124
+ color: var(--prism-text-placeholder, #C9CDD4);
125
+ background: var(--prism-bg-color, #F7F8FA);
126
+ padding: 4rpx 12rpx;
127
+ border-radius: 6rpx;
128
+ font-family: 'Courier New', Consolas, Monaco, monospace;
129
+
130
+ .dark-mode & {
131
+ background: rgba(255, 255, 255, 0.06);
132
+ color: var(--prism-text-secondary, #A9AEB8);
133
+ }
134
+ }
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Prism UI - SCSS 变量定义
3
+ * 此文件包含所有设计令牌和变量
4
+ * 所有变量使用 $prism- 前缀,避免与用户项目冲突
5
+ *
6
+ * 主题切换:修改下面的引入文件即可切换主题
7
+ * 可选主题:blue(默认) / green / purple / orange / red / cyan
8
+ */
9
+
10
+ // 引入主题文件(切换主题只需修改这一行)
11
+ @import '../theme/blue.scss';
12
+
13
+ /* ============================================================
14
+ 一、浅色模式变量(使用 !default,允许主题文件覆盖)
15
+ ============================================================ */
16
+
17
+ /* -------------------- 主题色 -------------------- */
18
+ $prism-primary-color: #3478F6 !default;
19
+ $prism-primary-light: #EBF2FF !default;
20
+
21
+ /* -------------------- 状态色 -------------------- */
22
+ $prism-success-color: #00B42A; // 成功色
23
+ $prism-warning-color: #FF7D00; // 警告色
24
+ $prism-danger-color: #F53F3F; // 危险色
25
+ $prism-info-color: #86909C; // 信息色
26
+
27
+ /* -------------------- 文字颜色 -------------------- */
28
+ $prism-text-primary: #1D2129; // 主要文字
29
+ $prism-text-regular: #4E5969; // 常规文字
30
+ $prism-text-secondary: #86909C; // 次要文字
31
+ $prism-text-placeholder: #C9CDD4; // 占位符
32
+ $prism-icon-color: #C9CDD4; // 图标颜色
33
+ $prism-btn-text-color: #FFFFFF; // 按钮文字(主题色背景上)
34
+
35
+ /* -------------------- 边框颜色 -------------------- */
36
+ $prism-border-color-base: #E5E6EB; // 基础边框
37
+ $prism-border-color-light: #F2F3F5; // 浅色边框
38
+ $prism-border-color-lighter: #F7F8FA; // 更浅边框
39
+ $prism-border-color-extra-light: #F7F8FA; // 极浅边框
40
+
41
+ /* -------------------- 背景颜色 -------------------- */
42
+ $prism-bg-color-base: #F7F8FA; // 页面背景
43
+ $prism-bg-color: #F2F2F2; // 内容背景
44
+ $prism-bg-color-card: #FFFFFF; // 卡片背景
45
+ $prism-bg-color-input: #EBEEF2; // 输入框背景
46
+
47
+ /* ============================================================
48
+ 二、深色模式变量
49
+ ============================================================ */
50
+
51
+ /* -------------------- 主题色(深色) -------------------- */
52
+ $prism-primary-color-dark: #3478F6 !default;
53
+ $prism-primary-light-dark: #1E3A5F !default;
54
+
55
+ /* -------------------- 状态色(深色) -------------------- */
56
+ $prism-success-color-dark: #00994D; // 深色模式成功色
57
+ $prism-warning-color-dark: #E06600; // 深色模式警告色
58
+ $prism-danger-color-dark: #D93636; // 深色模式危险色
59
+ $prism-info-color-dark: #6B7785; // 深色模式信息色
60
+
61
+ /* -------------------- 文字颜色(深色) -------------------- */
62
+ $prism-text-primary-dark: #E5E6EB; // 深色模式主要文字
63
+ $prism-text-regular-dark: #C9CDD4; // 深色模式常规文字
64
+ $prism-text-secondary-dark: #86909C; // 深色模式次要文字
65
+ $prism-text-placeholder-dark: #6B7785; // 深色模式占位符(更亮)
66
+ $prism-icon-color-dark: #C9D1E0; // 深色模式图标颜色
67
+ $prism-btn-text-color-dark: #FFFFFF; // 深色模式按钮文字
68
+
69
+ /* -------------------- 边框颜色(深色) -------------------- */
70
+ $prism-border-color-base-dark: #3D3D3D; // 深色模式基础边框
71
+ $prism-border-color-light-dark: #2D2D2D; // 深色模式浅色边框
72
+
73
+ /* -------------------- 背景颜色(深色) -------------------- */
74
+ $prism-bg-color-dark: #1A1A1A; // 深色模式背景
75
+ $prism-bg-color-page-dark: #121212; // 深色模式页面背景
76
+ $prism-bg-color-card-dark: #242424; // 深色模式卡片背景
77
+ $prism-bg-color-input-dark: #2A2A2A; // 深色模式输入框背景
78
+
79
+ /* ============================================================
80
+ 三、主题色透明度(使用 !default,允许主题文件覆盖)
81
+ ============================================================ */
82
+ $prism-primary-alpha-05: rgba(52, 120, 246, 0.05) !default;
83
+ $prism-primary-alpha-08: rgba(52, 120, 246, 0.08) !default;
84
+ $prism-primary-alpha-10: rgba(52, 120, 246, 0.1) !default;
85
+ $prism-primary-alpha-12: rgba(52, 120, 246, 0.12) !default;
86
+ $prism-primary-alpha-15: rgba(52, 120, 246, 0.15) !default;
87
+ $prism-primary-alpha-20: rgba(52, 120, 246, 0.2) !default;
88
+ $prism-primary-alpha-25: rgba(52, 120, 246, 0.25) !default;
89
+ $prism-primary-alpha-30: rgba(52, 120, 246, 0.3) !default;
90
+ $prism-primary-alpha-35: rgba(52, 120, 246, 0.35) !default;
91
+ $prism-primary-alpha-40: rgba(52, 120, 246, 0.4) !default;
92
+ $prism-primary-alpha-50: rgba(52, 120, 246, 0.5) !default;
93
+
94
+ /* ============================================================
95
+ 主题色渐变(使用 !default,允许主题文件覆盖)
96
+ ============================================================ */
97
+ $prism-primary-gradient: linear-gradient(135deg, #3478F6 0%, #86B8FA 100%) !default;
98
+ $prism-primary-gradient-alpha: linear-gradient(135deg, rgba(52, 120, 246, 0.08) 0%, rgba(134, 184, 250, 0.08) 100%) !default;
99
+ $prism-primary-gradient-shadow: 0 8rpx 24rpx rgba(52, 120, 246, 0.3) !default;
100
+
101
+ /* ============================================================
102
+ 四、白色透明度
103
+ ============================================================ */
104
+ $prism-white-alpha-10: rgba(255, 255, 255, 0.1);
105
+ $prism-white-alpha-15: rgba(255, 255, 255, 0.15);
106
+ $prism-white-alpha-20: rgba(255, 255, 255, 0.2);
107
+ $prism-white-alpha-25: rgba(255, 255, 255, 0.25);
108
+
109
+ /* ============================================================
110
+ 六、第三方品牌色
111
+ ============================================================ */
112
+ $prism-wechat-color: #07C160;
113
+ $prism-wechat-bg: #E9F7EF;
114
+ $prism-wechat-alpha-15: rgba(7, 193, 96, 0.15);
115
+
116
+ $prism-alipay-color: #1677FF;
117
+ $prism-alipay-bg: #E8F4FF;
118
+ $prism-alipay-alpha-15: rgba(22, 119, 255, 0.15);
119
+
120
+ /* ============================================================
121
+ 八、常用阴影(使用 !default,允许主题文件覆盖)
122
+ ============================================================ */
123
+ $prism-shadow-primary: 0 8rpx 20rpx rgba($prism-primary-color, 0.35) !default;
124
+ $prism-shadow-primary-dark: 0 8rpx 24rpx rgba($prism-primary-color-dark, 0.2) !default;
125
+ $prism-shadow-card: 0 8rpx 32rpx rgba(0, 0, 0, 0.06);
126
+ $prism-shadow-card-dark: 0 8rpx 32rpx rgba(0, 0, 0, 0.3);
127
+
128
+ /* ============================================================
129
+ 九、统一间距
130
+ ============================================================ */
131
+ // 页面边距(卡片与屏幕边缘的距离,符合 iOS/Material Design 标准)
132
+ $prism-page-spacing: 32rpx;
133
+
134
+ // 卡片/区块间距(卡片之间的距离)
135
+ $prism-section-spacing: 32rpx;
136
+
137
+ // 卡片内边距
138
+ $prism-card-padding: 32rpx;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Prism UI - 蓝色主题(默认)
3
+ *
4
+ * 使用方式:在 variables.scss 中修改引入
5
+ * @import '../theme/blue.scss';
6
+ *
7
+ * 颜色值来自 colors.scss 中的 $prism-blue-* 变量
8
+ */
9
+
10
+ // ==================== 主题色 ====================
11
+ $prism-primary-color: #3478F6;
12
+ $prism-primary-light: #EBF2FF;
13
+ $prism-primary-color-dark: #60A5FA;
14
+ $prism-primary-light-dark: #1E3A5F;
15
+
16
+ // ==================== 主题色透明度 ====================
17
+ $prism-primary-alpha-05: rgba(52, 120, 246, 0.05);
18
+ $prism-primary-alpha-08: rgba(52, 120, 246, 0.08);
19
+ $prism-primary-alpha-10: rgba(52, 120, 246, 0.1);
20
+ $prism-primary-alpha-12: rgba(52, 120, 246, 0.12);
21
+ $prism-primary-alpha-15: rgba(52, 120, 246, 0.15);
22
+ $prism-primary-alpha-20: rgba(52, 120, 246, 0.2);
23
+ $prism-primary-alpha-25: rgba(52, 120, 246, 0.25);
24
+ $prism-primary-alpha-30: rgba(52, 120, 246, 0.3);
25
+ $prism-primary-alpha-35: rgba(52, 120, 246, 0.35);
26
+ $prism-primary-alpha-40: rgba(52, 120, 246, 0.4);
27
+ $prism-primary-alpha-50: rgba(52, 120, 246, 0.5);
28
+
29
+ // ==================== 渐变色 ====================
30
+ $prism-primary-gradient: linear-gradient(135deg, #3478F6 0%, #86B8FA 100%);
31
+ $prism-primary-gradient-alpha: linear-gradient(135deg, rgba(52, 120, 246, 0.08) 0%, rgba(134, 184, 250, 0.08) 100%);
32
+ $prism-primary-gradient-shadow: 0 8rpx 24rpx rgba(52, 120, 246, 0.3);
33
+
34
+ // ==================== 页面渐变 ====================
35
+ $prism-gradient-header: linear-gradient(180deg, #2563EB 0%, #3478F6 60%, #86B8FA 100%);
36
+ $prism-gradient-header-dark: linear-gradient(180deg, #1A2744 0%, #1E3A5F 60%, #2D4A6F 100%);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Prism UI - 青色主题
3
+ * 颜色值来自 colors.scss 中的 $prism-cyan-* 变量
4
+ */
5
+
6
+ // 主题色
7
+ $prism-primary-color: #14C9C9;
8
+ $prism-primary-light: #E8FAFA;
9
+ $prism-primary-color-dark: #22D3EE;
10
+ $prism-primary-light-dark: #1A3D3D;
11
+
12
+ // 主题色透明度
13
+ $prism-primary-alpha-05: rgba(20, 201, 201, 0.05);
14
+ $prism-primary-alpha-08: rgba(20, 201, 201, 0.08);
15
+ $prism-primary-alpha-10: rgba(20, 201, 201, 0.1);
16
+ $prism-primary-alpha-12: rgba(20, 201, 201, 0.12);
17
+ $prism-primary-alpha-15: rgba(20, 201, 201, 0.15);
18
+ $prism-primary-alpha-20: rgba(20, 201, 201, 0.2);
19
+ $prism-primary-alpha-25: rgba(20, 201, 201, 0.25);
20
+ $prism-primary-alpha-30: rgba(20, 201, 201, 0.3);
21
+ $prism-primary-alpha-35: rgba(20, 201, 201, 0.35);
22
+ $prism-primary-alpha-40: rgba(20, 201, 201, 0.4);
23
+ $prism-primary-alpha-50: rgba(20, 201, 201, 0.5);
24
+
25
+ // 渐变色
26
+ $prism-primary-gradient: linear-gradient(135deg, #14C9C9 0%, #67E8F9 100%);
27
+ $prism-primary-gradient-alpha: linear-gradient(135deg, rgba(20, 201, 201, 0.08) 0%, rgba(103, 232, 249, 0.08) 100%);
28
+ $prism-primary-gradient-shadow: 0 8rpx 24rpx rgba(20, 201, 201, 0.3);
29
+
30
+ // 页面渐变
31
+ $prism-gradient-header: linear-gradient(180deg, #08979C 0%, #14C9C9 60%, #67E8F9 100%);
32
+ $prism-gradient-header-dark: linear-gradient(180deg, #1A3D3D 0%, #2A4D4D 60%, #3A5D5D 100%);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Prism UI - 绿色主题
3
+ * 颜色值来自 colors.scss 中的 $prism-green-* 变量
4
+ */
5
+
6
+ // 主题色
7
+ $prism-primary-color: #00B42A;
8
+ $prism-primary-light: #E8F7E8;
9
+ $prism-primary-color-dark: #34D399;
10
+ $prism-primary-light-dark: #1A3D2A;
11
+
12
+ // 主题色透明度
13
+ $prism-primary-alpha-05: rgba(0, 180, 42, 0.05);
14
+ $prism-primary-alpha-08: rgba(0, 180, 42, 0.08);
15
+ $prism-primary-alpha-10: rgba(0, 180, 42, 0.1);
16
+ $prism-primary-alpha-12: rgba(0, 180, 42, 0.12);
17
+ $prism-primary-alpha-15: rgba(0, 180, 42, 0.15);
18
+ $prism-primary-alpha-20: rgba(0, 180, 42, 0.2);
19
+ $prism-primary-alpha-25: rgba(0, 180, 42, 0.25);
20
+ $prism-primary-alpha-30: rgba(0, 180, 42, 0.3);
21
+ $prism-primary-alpha-35: rgba(0, 180, 42, 0.35);
22
+ $prism-primary-alpha-40: rgba(0, 180, 42, 0.4);
23
+ $prism-primary-alpha-50: rgba(0, 180, 42, 0.5);
24
+
25
+ // 渐变色
26
+ $prism-primary-gradient: linear-gradient(135deg, #00B42A 0%, #6EE7B7 100%);
27
+ $prism-primary-gradient-alpha: linear-gradient(135deg, rgba(0, 180, 42, 0.08) 0%, rgba(110, 231, 183, 0.08) 100%);
28
+ $prism-primary-gradient-shadow: 0 8rpx 24rpx rgba(0, 180, 42, 0.3);
29
+
30
+ // 页面渐变
31
+ $prism-gradient-header: linear-gradient(180deg, #009A23 0%, #00B42A 60%, #6EE7B7 100%);
32
+ $prism-gradient-header-dark: linear-gradient(180deg, #1A3D2A 0%, #1E4D32 60%, #2D5D42 100%);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Prism UI - 橙色主题
3
+ * 颜色值来自 colors.scss 中的 $prism-orange-* 变量
4
+ */
5
+
6
+ // 主题色
7
+ $prism-primary-color: #FF7D00;
8
+ $prism-primary-light: #FFF3E8;
9
+ $prism-primary-color-dark: #FB923C;
10
+ $prism-primary-light-dark: #3D2A1A;
11
+
12
+ // 主题色透明度
13
+ $prism-primary-alpha-05: rgba(255, 125, 0, 0.05);
14
+ $prism-primary-alpha-08: rgba(255, 125, 0, 0.08);
15
+ $prism-primary-alpha-10: rgba(255, 125, 0, 0.1);
16
+ $prism-primary-alpha-12: rgba(255, 125, 0, 0.12);
17
+ $prism-primary-alpha-15: rgba(255, 125, 0, 0.15);
18
+ $prism-primary-alpha-20: rgba(255, 125, 0, 0.2);
19
+ $prism-primary-alpha-25: rgba(255, 125, 0, 0.25);
20
+ $prism-primary-alpha-30: rgba(255, 125, 0, 0.3);
21
+ $prism-primary-alpha-35: rgba(255, 125, 0, 0.35);
22
+ $prism-primary-alpha-40: rgba(255, 125, 0, 0.4);
23
+ $prism-primary-alpha-50: rgba(255, 125, 0, 0.5);
24
+
25
+ // 渐变色
26
+ $prism-primary-gradient: linear-gradient(135deg, #FF7D00 0%, #FDBA74 100%);
27
+ $prism-primary-gradient-alpha: linear-gradient(135deg, rgba(255, 125, 0, 0.08) 0%, rgba(253, 186, 116, 0.08) 100%);
28
+ $prism-primary-gradient-shadow: 0 8rpx 24rpx rgba(255, 125, 0, 0.3);
29
+
30
+ // 页面渐变
31
+ $prism-gradient-header: linear-gradient(180deg, #D46B08 0%, #FF7D00 60%, #FDBA74 100%);
32
+ $prism-gradient-header-dark: linear-gradient(180deg, #3D2A1A 0%, #4D3A2A 60%, #5D4A3A 100%);
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Prism UI - 紫色主题
3
+ * 颜色值来自 colors.scss 中的 $prism-purple-* 变量
4
+ */
5
+
6
+ // 主题色
7
+ $prism-primary-color: #722ED1;
8
+ $prism-primary-light: #F3E8FF;
9
+ $prism-primary-color-dark: #A855F7;
10
+ $prism-primary-light-dark: #2D1B4E;
11
+
12
+ // 主题色透明度
13
+ $prism-primary-alpha-05: rgba(114, 46, 209, 0.05);
14
+ $prism-primary-alpha-08: rgba(114, 46, 209, 0.08);
15
+ $prism-primary-alpha-10: rgba(114, 46, 209, 0.1);
16
+ $prism-primary-alpha-12: rgba(114, 46, 209, 0.12);
17
+ $prism-primary-alpha-15: rgba(114, 46, 209, 0.15);
18
+ $prism-primary-alpha-20: rgba(114, 46, 209, 0.2);
19
+ $prism-primary-alpha-25: rgba(114, 46, 209, 0.25);
20
+ $prism-primary-alpha-30: rgba(114, 46, 209, 0.3);
21
+ $prism-primary-alpha-35: rgba(114, 46, 209, 0.35);
22
+ $prism-primary-alpha-40: rgba(114, 46, 209, 0.4);
23
+ $prism-primary-alpha-50: rgba(114, 46, 209, 0.5);
24
+
25
+ // 渐变色
26
+ $prism-primary-gradient: linear-gradient(135deg, #722ED1 0%, #B37FEB 100%);
27
+ $prism-primary-gradient-alpha: linear-gradient(135deg, rgba(114, 46, 209, 0.08) 0%, rgba(179, 127, 235, 0.08) 100%);
28
+ $prism-primary-gradient-shadow: 0 8rpx 24rpx rgba(114, 46, 209, 0.3);
29
+
30
+ // 页面渐变
31
+ $prism-gradient-header: linear-gradient(180deg, #5B21B6 0%, #722ED1 60%, #B37FEB 100%);
32
+ $prism-gradient-header-dark: linear-gradient(180deg, #1E1033 0%, #2D1B4E 60%, #3D2A5F 100%);
package/theme/red.scss ADDED
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Prism UI - 红色主题
3
+ * 颜色值来自 colors.scss 中的 $prism-red-* 变量
4
+ */
5
+
6
+ // 主题色
7
+ $prism-primary-color: #F53F3F;
8
+ $prism-primary-light: #FFECE8;
9
+ $prism-primary-color-dark: #F87171;
10
+ $prism-primary-light-dark: #3D1A1A;
11
+
12
+ // 主题色透明度
13
+ $prism-primary-alpha-05: rgba(245, 63, 63, 0.05);
14
+ $prism-primary-alpha-08: rgba(245, 63, 63, 0.08);
15
+ $prism-primary-alpha-10: rgba(245, 63, 63, 0.1);
16
+ $prism-primary-alpha-12: rgba(245, 63, 63, 0.12);
17
+ $prism-primary-alpha-15: rgba(245, 63, 63, 0.15);
18
+ $prism-primary-alpha-20: rgba(245, 63, 63, 0.2);
19
+ $prism-primary-alpha-25: rgba(245, 63, 63, 0.25);
20
+ $prism-primary-alpha-30: rgba(245, 63, 63, 0.3);
21
+ $prism-primary-alpha-35: rgba(245, 63, 63, 0.35);
22
+ $prism-primary-alpha-40: rgba(245, 63, 63, 0.4);
23
+ $prism-primary-alpha-50: rgba(245, 63, 63, 0.5);
24
+
25
+ // 渐变色
26
+ $prism-primary-gradient: linear-gradient(135deg, #F53F3F 0%, #FCA5A5 100%);
27
+ $prism-primary-gradient-alpha: linear-gradient(135deg, rgba(245, 63, 63, 0.08) 0%, rgba(252, 165, 165, 0.08) 100%);
28
+ $prism-primary-gradient-shadow: 0 8rpx 24rpx rgba(245, 63, 63, 0.3);
29
+
30
+ // 页面渐变
31
+ $prism-gradient-header: linear-gradient(180deg, #CB2B2B 0%, #F53F3F 60%, #FCA5A5 100%);
32
+ $prism-gradient-header-dark: linear-gradient(180deg, #3D1A1A 0%, #4D2A2A 60%, #5D3A3A 100%);