Files
wangjia 40760aa884
ci / server (push) Failing after 14s
ci / design-tokens (push) Failing after 11s
dudu MVP:五端语音输入法初始提交
- server:Go 网关(WS 流式识别中继/计费配额/微信登录支付 mock/反馈/埋点),gummy provider 已真实联调
- desktop:Tauri 2(全局快捷键 push-to-talk/浮层/托盘/设置/登录购买/反馈/首启引导)
- android:Compose 主 App + IME(键盘内录音直传)
- ios:App + 键盘扩展(1A spike 实证键盘内不可录音,走 deep link 听写)
- design/design-pipeline:设计系统 + token 导出 iOS/Android 主题
- doc:前后端设计文档(HTML);web:官网宣传页;todo:任务看板

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 00:38:37 +08:00

157 lines
5.4 KiB
Kotlin

// 自动生成 — 请勿手改。来源 design/tokens/*.css
// 重新生成:node design-pipeline/export-tokens.mjs
package app.dudu.design
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
object DuduTheme {
object Light {
val accent = Color(0xFF4F6EF7)
val accentHover = Color(0xFF3D58DB)
val accentPress = Color(0xFF2F44B3)
val accentSoft = Color(0xFFEEF1FE)
val accentSoft2 = Color(0xFFDFE5FD)
val accentText = Color(0xFF3D58DB)
val amber100 = Color(0xFFFCEFD7)
val amber500 = Color(0xFFE8890C)
val bgApp = Color(0xFFF6F7FA)
val blue100 = Color(0xFFDFE5FD)
val blue200 = Color(0xFFC4CFFB)
val blue300 = Color(0xFF9FB1F9)
val blue400 = Color(0xFF7590F8)
val blue50 = Color(0xFFEEF1FE)
val blue500 = Color(0xFF4F6EF7)
val blue600 = Color(0xFF3D58DB)
val blue700 = Color(0xFF2F44B3)
val blue800 = Color(0xFF25368C)
val blue900 = Color(0xFF1E2B6B)
val border1 = Color(0xFFE4E6EB)
val border2 = Color(0xFFD2D5DD)
val danger = Color(0xFFDC2626)
val dangerSoft = Color(0xFFFEE2E2)
val gray0 = Color(0xFFFFFFFF)
val gray100 = Color(0xFFF0F1F4)
val gray200 = Color(0xFFE4E6EB)
val gray25 = Color(0xFFFCFCFD)
val gray300 = Color(0xFFD2D5DD)
val gray400 = Color(0xFFA6ABB8)
val gray50 = Color(0xFFF6F7FA)
val gray500 = Color(0xFF7A8090)
val gray600 = Color(0xFF5A6072)
val gray700 = Color(0xFF434957)
val gray800 = Color(0xFF2B2F3A)
val gray900 = Color(0xFF1B1E26)
val gray950 = Color(0xFF11131A)
val green100 = Color(0xFFDCFCE7)
val green500 = Color(0xFF16A34A)
val overlayBg = Color(0xF2181A22)
val overlayText = Color(0xFFF2F4FA)
val overlayText2 = Color(0xFF9AA3BD)
val overlayText3 = Color(0xFF646E8C)
val positive = Color(0xFF16A34A)
val positiveSoft = Color(0xFFDCFCE7)
val red100 = Color(0xFFFEE2E2)
val red500 = Color(0xFFDC2626)
val surface2 = Color(0xFFF0F1F4)
val surface3 = Color(0xFFE4E6EB)
val surfaceCard = Color(0xFFFFFFFF)
val text1 = Color(0xFF1B1E26)
val text2 = Color(0xFF5A6072)
val text3 = Color(0xFFA6ABB8)
val textOnAccent = Color(0xFFFFFFFF)
val warning = Color(0xFFE8890C)
val warningSoft = Color(0xFFFCEFD7)
}
object Dark {
val accent = Color(0xFF5C77E8)
val accentHover = Color(0xFF6E89F9)
val accentPress = Color(0xFF4A63D6)
val accentSoft = Color(0x295C77E8)
val accentSoft2 = Color(0x425C77E8)
val accentText = Color(0xFF7D95F7)
val amber100 = Color(0xFFFCEFD7)
val amber500 = Color(0xFFE8890C)
val bgApp = Color(0xFF0F1116)
val blue100 = Color(0xFFDFE5FD)
val blue200 = Color(0xFFC4CFFB)
val blue300 = Color(0xFF9FB1F9)
val blue400 = Color(0xFF7590F8)
val blue50 = Color(0xFFEEF1FE)
val blue500 = Color(0xFF4F6EF7)
val blue600 = Color(0xFF3D58DB)
val blue700 = Color(0xFF2F44B3)
val blue800 = Color(0xFF25368C)
val blue900 = Color(0xFF1E2B6B)
val border1 = Color(0xFF272C38)
val border2 = Color(0xFF343A49)
val danger = Color(0xFFF05B5B)
val dangerSoft = Color(0x29F05B5B)
val gray0 = Color(0xFFFFFFFF)
val gray100 = Color(0xFFF0F1F4)
val gray200 = Color(0xFFE4E6EB)
val gray25 = Color(0xFFFCFCFD)
val gray300 = Color(0xFFD2D5DD)
val gray400 = Color(0xFFA6ABB8)
val gray50 = Color(0xFFF6F7FA)
val gray500 = Color(0xFF7A8090)
val gray600 = Color(0xFF5A6072)
val gray700 = Color(0xFF434957)
val gray800 = Color(0xFF2B2F3A)
val gray900 = Color(0xFF1B1E26)
val gray950 = Color(0xFF11131A)
val green100 = Color(0xFFDCFCE7)
val green500 = Color(0xFF16A34A)
val overlayBg = Color(0xF51E212B)
val overlayText = Color(0xFFF2F4FA)
val overlayText2 = Color(0xFF9AA3BD)
val overlayText3 = Color(0xFF646E8C)
val positive = Color(0xFF34C46A)
val positiveSoft = Color(0x2934C46A)
val red100 = Color(0xFFFEE2E2)
val red500 = Color(0xFFDC2626)
val surface2 = Color(0xFF1E222C)
val surface3 = Color(0xFF262B37)
val surfaceCard = Color(0xFF171A22)
val text1 = Color(0xFFECEEF4)
val text2 = Color(0xFF9AA1B2)
val text3 = Color(0xFF5F6678)
val textOnAccent = Color(0xFFFFFFFF)
val warning = Color(0xFFF2A33C)
val warningSoft = Color(0x29F2A33C)
}
// Dimensions (dp)
val controlLg = 44.dp
val controlMd = 36.dp
val controlSm = 28.dp
val controlXl = 56.dp
val radiusFull = 999.dp
val radiusLg = 14.dp
val radiusMd = 10.dp
val radiusSm = 6.dp
val radiusXl = 20.dp
val radiusXs = 4.dp
val space1 = 4.dp
val space10 = 40.dp
val space12 = 48.dp
val space16 = 64.dp
val space2 = 8.dp
val space3 = 12.dp
val space4 = 16.dp
val space5 = 20.dp
val space6 = 24.dp
val space8 = 32.dp
val text2xl = 24.dp
val text3xl = 32.dp
val text4xl = 44.dp
val textBase = 14.dp
val textLg = 17.dp
val textMd = 15.dp
val textSm = 13.dp
val textXl = 20.dp
val textXs = 12.dp
}