@admin-core/design 0.1.0 → 0.2.1

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 (45) hide show
  1. package/README.en.md +698 -0
  2. package/README.md +588 -285
  3. package/dist/index.cjs +5 -1
  4. package/dist/index.cjs.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2616 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.umd.js +5 -1
  10. package/dist/index.umd.js.map +1 -1
  11. package/dist/style.css +1 -1
  12. package/dist/theme/composables.d.ts +89 -0
  13. package/dist/theme/composables.d.ts.map +1 -0
  14. package/dist/theme/constants.d.ts +56 -0
  15. package/dist/theme/constants.d.ts.map +1 -0
  16. package/dist/theme/i18n/en-US.d.ts +3 -0
  17. package/dist/theme/i18n/en-US.d.ts.map +1 -0
  18. package/dist/theme/i18n/index.d.ts +34 -0
  19. package/dist/theme/i18n/index.d.ts.map +1 -0
  20. package/dist/theme/i18n/zh-CN.d.ts +69 -0
  21. package/dist/theme/i18n/zh-CN.d.ts.map +1 -0
  22. package/dist/theme/index.d.ts +52 -0
  23. package/dist/theme/index.d.ts.map +1 -0
  24. package/dist/theme/integration.d.ts +124 -0
  25. package/dist/theme/integration.d.ts.map +1 -0
  26. package/dist/theme/types.d.ts +135 -0
  27. package/dist/theme/types.d.ts.map +1 -0
  28. package/dist/theme/utils.d.ts +230 -0
  29. package/dist/theme/utils.d.ts.map +1 -0
  30. package/package.json +32 -4
  31. package/src/css/base.css +145 -0
  32. package/src/css/components.css +96 -0
  33. package/src/css/index.css +21 -0
  34. package/src/css/integrations/ant-design-vue.css +64 -0
  35. package/src/css/integrations/arco-design.css +62 -0
  36. package/src/css/integrations/element-plus.css +157 -0
  37. package/src/css/integrations/index.css +17 -0
  38. package/src/css/integrations/naive-ui.css +60 -0
  39. package/src/css/nprogress.css +74 -0
  40. package/src/css/transition.css +256 -0
  41. package/src/css/ui.css +117 -0
  42. package/src/css/utilities.css +138 -0
  43. package/src/tokens/dark.css +406 -0
  44. package/src/tokens/index.ts +6 -0
  45. package/src/tokens/light.css +297 -0
@@ -0,0 +1,124 @@
1
+ /**
2
+ * 第三方组件库集成工具函数
3
+ */
4
+ /**
5
+ * 获取 HSL 格式的颜色值
6
+ * @param token - CSS 变量名(不带 -- 前缀)
7
+ * @returns HSL 格式的颜色字符串,如 'hsl(212, 100%, 48%)'
8
+ */
9
+ export declare function getHSLColor(token: string): string;
10
+ /**
11
+ * 将 HSL 字符串转换为 RGB 字符串
12
+ * @param hsl - HSL 字符串,格式:'212 100% 48%' 或 'hsl(212, 100%, 48%)'
13
+ * @returns RGB 格式字符串,如 'rgb(0, 102, 245)'
14
+ */
15
+ export declare function hslToRgb(hsl: string): string;
16
+ /**
17
+ * 将 HSL 字符串转换为 HEX 字符串
18
+ * @param hsl - HSL 字符串,格式:'212 100% 48%' 或 'hsl(212, 100%, 48%)'
19
+ * @returns HEX 格式字符串,如 '#0066F5'
20
+ */
21
+ export declare function hslToHex(hsl: string): string;
22
+ /**
23
+ * 获取 RGB 格式的颜色值
24
+ * @param token - CSS 变量名(不带 -- 前缀)
25
+ * @returns RGB 格式的颜色字符串,如 'rgb(0, 102, 245)'
26
+ */
27
+ export declare function getRGBColor(token: string): string;
28
+ /**
29
+ * 获取 HEX 格式的颜色值
30
+ * @param token - CSS 变量名(不带 -- 前缀)
31
+ * @returns HEX 格式的颜色字符串,如 '#0066F5'
32
+ */
33
+ export declare function getHexColor(token: string): string;
34
+ /**
35
+ * 获取所有主题颜色(HSL 格式)
36
+ * @returns 包含所有主题颜色的对象
37
+ */
38
+ export declare function getThemeColors(): {
39
+ primary: string;
40
+ primaryForeground: string;
41
+ secondary: string;
42
+ secondaryForeground: string;
43
+ accent: string;
44
+ accentForeground: string;
45
+ muted: string;
46
+ mutedForeground: string;
47
+ destructive: string;
48
+ destructiveForeground: string;
49
+ success: string;
50
+ successForeground: string;
51
+ warning: string;
52
+ warningForeground: string;
53
+ info: string;
54
+ infoForeground: string;
55
+ background: string;
56
+ backgroundDeep: string;
57
+ foreground: string;
58
+ card: string;
59
+ cardForeground: string;
60
+ border: string;
61
+ input: string;
62
+ ring: string;
63
+ };
64
+ /**
65
+ * 获取所有主题颜色(RGB 格式)
66
+ * @returns 包含所有主题颜色的对象(RGB 格式)
67
+ */
68
+ export declare function getThemeColorsRGB(): {
69
+ primary: string;
70
+ primaryForeground: string;
71
+ secondary: string;
72
+ secondaryForeground: string;
73
+ accent: string;
74
+ accentForeground: string;
75
+ muted: string;
76
+ mutedForeground: string;
77
+ destructive: string;
78
+ destructiveForeground: string;
79
+ success: string;
80
+ successForeground: string;
81
+ warning: string;
82
+ warningForeground: string;
83
+ info: string;
84
+ infoForeground: string;
85
+ background: string;
86
+ backgroundDeep: string;
87
+ foreground: string;
88
+ card: string;
89
+ cardForeground: string;
90
+ border: string;
91
+ input: string;
92
+ ring: string;
93
+ };
94
+ /**
95
+ * 获取所有主题颜色(HEX 格式)
96
+ * @returns 包含所有主题颜色的对象(HEX 格式)
97
+ */
98
+ export declare function getThemeColorsHex(): {
99
+ primary: string;
100
+ primaryForeground: string;
101
+ secondary: string;
102
+ secondaryForeground: string;
103
+ accent: string;
104
+ accentForeground: string;
105
+ muted: string;
106
+ mutedForeground: string;
107
+ destructive: string;
108
+ destructiveForeground: string;
109
+ success: string;
110
+ successForeground: string;
111
+ warning: string;
112
+ warningForeground: string;
113
+ info: string;
114
+ infoForeground: string;
115
+ background: string;
116
+ backgroundDeep: string;
117
+ foreground: string;
118
+ card: string;
119
+ cardForeground: string;
120
+ border: string;
121
+ input: string;
122
+ ring: string;
123
+ };
124
+ //# sourceMappingURL=integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/theme/integration.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsC5C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAc5C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED;;;GAGG;AACH,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;EA2B7B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;EA2BhC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;EA2BhC"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * 主题系统类型定义
3
+ */
4
+ /**
5
+ * 主题模式
6
+ */
7
+ export type ThemeMode = 'light' | 'dark';
8
+ /**
9
+ * 主题变体 ID
10
+ */
11
+ export type ThemeVariant = 'default' | 'slate' | 'burnished-lilac' | 'teaberry' | 'amaranth' | 'pulse-blue' | 'deep-teal' | 'mermaid-aqua' | 'pearl-purple' | 'burgundy' | 'burnt-sienna' | 'olive-sage' | 'champagne-gold' | 'dusty-rose' | 'citrus-green';
12
+ /**
13
+ * 主题类别
14
+ */
15
+ export type ThemeCategory = 'colorful' | 'neutral' | 'monochrome';
16
+ /**
17
+ * 主题元数据
18
+ */
19
+ export interface ThemeMetadata {
20
+ /** 主题 ID */
21
+ id: ThemeVariant;
22
+ /** 主题名称 */
23
+ name: string;
24
+ /** 主题图标(Emoji) */
25
+ icon: string;
26
+ /** 主题描述 */
27
+ description: string;
28
+ /** 主色(HSL 格式) */
29
+ primaryColor: string;
30
+ /** 主题类别 */
31
+ category: ThemeCategory;
32
+ /** 是否为默认主题 */
33
+ isDefault?: boolean;
34
+ }
35
+ /**
36
+ * 主题配置
37
+ */
38
+ export interface ThemeConfig {
39
+ /** 当前模式(浅色/暗色) */
40
+ mode: ThemeMode;
41
+ /** 当前主题变体 */
42
+ variant: ThemeVariant;
43
+ /** 是否启用过渡动画 */
44
+ enableTransition?: boolean;
45
+ /** 是否持久化到 localStorage */
46
+ persist?: boolean;
47
+ /** localStorage 键名前缀 */
48
+ storageKeyPrefix?: string;
49
+ }
50
+ /**
51
+ * 主题状态
52
+ */
53
+ export interface ThemeState {
54
+ /** 当前模式 */
55
+ mode: ThemeMode;
56
+ /** 当前变体 */
57
+ variant: ThemeVariant;
58
+ /** 是否正在切换主题 */
59
+ isChanging: boolean;
60
+ }
61
+ /**
62
+ * 主题切换选项
63
+ */
64
+ export interface ThemeChangeOptions {
65
+ /** 是否启用过渡动画 */
66
+ transition?: boolean;
67
+ /** 是否持久化 */
68
+ persist?: boolean;
69
+ }
70
+ /**
71
+ * 主题 Composable 返回值
72
+ */
73
+ export interface UseThemeReturn {
74
+ /** 当前主题状态 */
75
+ theme: ThemeState;
76
+ /** 当前模式 */
77
+ mode: ThemeMode;
78
+ /** 当前变体 */
79
+ variant: ThemeVariant;
80
+ /** 是否为暗色模式 */
81
+ isDark: boolean;
82
+ /** 是否正在切换主题 */
83
+ isChanging: boolean;
84
+ /** 设置主题模式 */
85
+ setMode: (mode: ThemeMode, options?: ThemeChangeOptions) => void;
86
+ /** 设置主题变体 */
87
+ setVariant: (variant: ThemeVariant, options?: ThemeChangeOptions) => void;
88
+ /** 切换暗色模式 */
89
+ toggleDarkMode: (options?: ThemeChangeOptions) => void;
90
+ /** 设置完整主题 */
91
+ setTheme: (config: Partial<ThemeConfig>, options?: ThemeChangeOptions) => void;
92
+ /** 获取所有可用主题 */
93
+ getAvailableThemes: () => ThemeMetadata[];
94
+ /** 获取当前主题元数据 */
95
+ getCurrentThemeMetadata: () => ThemeMetadata | undefined;
96
+ }
97
+ /**
98
+ * 颜色令牌名称
99
+ */
100
+ export type ColorToken = 'background' | 'background-deep' | 'foreground' | 'card' | 'card-foreground' | 'popover' | 'popover-foreground' | 'primary' | 'primary-foreground' | 'secondary' | 'secondary-foreground' | 'muted' | 'muted-foreground' | 'accent' | 'accent-foreground' | 'destructive' | 'destructive-foreground' | 'info' | 'info-foreground' | 'success' | 'success-foreground' | 'warning' | 'warning-foreground' | 'border' | 'input' | 'ring' | 'sidebar' | 'sidebar-deep' | 'header' | 'menu';
101
+ /**
102
+ * 颜色值(HSL 格式)
103
+ */
104
+ export interface ColorValue {
105
+ /** 色相 (0-360) */
106
+ h: number;
107
+ /** 饱和度 (0-100) */
108
+ s: number;
109
+ /** 亮度 (0-100) */
110
+ l: number;
111
+ /** 透明度 (0-1) */
112
+ a?: number;
113
+ }
114
+ /**
115
+ * 主题颜色映射
116
+ */
117
+ export type ThemeColors = Partial<Record<ColorToken, string>>;
118
+ /**
119
+ * 主题事件类型
120
+ */
121
+ export type ThemeEventType = 'mode-change' | 'variant-change' | 'theme-change';
122
+ /**
123
+ * 主题事件回调
124
+ */
125
+ export interface ThemeEventCallback {
126
+ (state: ThemeState): void;
127
+ }
128
+ /**
129
+ * 主题事件监听器
130
+ */
131
+ export interface ThemeEventListener {
132
+ type: ThemeEventType;
133
+ callback: ThemeEventCallback;
134
+ }
135
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,230 @@
1
+ import { ThemeMode, ThemeVariant, ThemeConfig, ThemeChangeOptions, ColorValue } from './types';
2
+ /**
3
+ * 获取 HTML 根元素
4
+ */
5
+ export declare function getHtmlElement(): HTMLElement;
6
+ /**
7
+ * 从 localStorage 获取主题模式
8
+ */
9
+ export declare function getStoredMode(): ThemeMode | null;
10
+ /**
11
+ * 从 localStorage 获取主题变体
12
+ */
13
+ export declare function getStoredVariant(): ThemeVariant | null;
14
+ /**
15
+ * 保存主题模式到 localStorage
16
+ */
17
+ export declare function storeMode(mode: ThemeMode): void;
18
+ /**
19
+ * 保存主题变体到 localStorage
20
+ */
21
+ export declare function storeVariant(variant: ThemeVariant): void;
22
+ /**
23
+ * 清除存储的主题配置
24
+ */
25
+ export declare function clearStoredTheme(): void;
26
+ /**
27
+ * 应用主题模式到 DOM
28
+ */
29
+ export declare function applyMode(mode: ThemeMode): void;
30
+ /**
31
+ * 应用主题变体到 DOM
32
+ */
33
+ export declare function applyVariant(variant: ThemeVariant): void;
34
+ /**
35
+ * 获取当前主题模式
36
+ */
37
+ export declare function getCurrentMode(): ThemeMode;
38
+ /**
39
+ * 获取当前主题变体
40
+ */
41
+ export declare function getCurrentVariant(): ThemeVariant;
42
+ /**
43
+ * 应用主题配置
44
+ */
45
+ export declare function applyTheme(config: Partial<ThemeConfig>, options?: ThemeChangeOptions): void;
46
+ /**
47
+ * 启用主题切换过渡动画
48
+ */
49
+ export declare function enableTransition(): void;
50
+ /**
51
+ * 禁用主题切换过渡动画
52
+ */
53
+ export declare function disableTransition(): void;
54
+ /**
55
+ * 切换暗色模式
56
+ */
57
+ export declare function toggleDarkMode(options?: ThemeChangeOptions): ThemeMode;
58
+ /**
59
+ * 初始化主题
60
+ * 从 localStorage 恢复主题配置,如果没有则使用默认值
61
+ */
62
+ export declare function initTheme(): ThemeConfig;
63
+ /**
64
+ * 检测系统主题偏好
65
+ */
66
+ export declare function detectSystemTheme(): ThemeMode;
67
+ /**
68
+ * 监听系统主题变化
69
+ */
70
+ export declare function watchSystemTheme(callback: (mode: ThemeMode) => void): () => void;
71
+ /**
72
+ * 获取所有可用主题
73
+ */
74
+ export declare function getAvailableThemes(): import('./types').ThemeMetadata[];
75
+ /**
76
+ * 根据 ID 获取主题元数据
77
+ */
78
+ export declare function getThemeMetadataById(variant: ThemeVariant): import('./types').ThemeMetadata | undefined;
79
+ /**
80
+ * 解析 HSL 颜色字符串
81
+ * @param hsl - HSL 颜色字符串,格式:'hsl(262.1, 83.3%, 57.8%)' 或 '262.1 83.3% 57.8%'
82
+ */
83
+ export declare function parseHSL(hsl: string): ColorValue | null;
84
+ /**
85
+ * 将 ColorValue 转换为 HSL 字符串
86
+ */
87
+ export declare function toHSLString(color: ColorValue): string;
88
+ /**
89
+ * 获取 CSS 变量值
90
+ */
91
+ export declare function getCSSVariable(name: string): string;
92
+ /**
93
+ * 设置 CSS 变量值
94
+ */
95
+ export declare function setCSSVariable(name: string, value: string): void;
96
+ /**
97
+ * 获取主题颜色
98
+ */
99
+ export declare function getThemeColor(token: string): string;
100
+ /**
101
+ * 验证主题变体是否有效
102
+ */
103
+ export declare function isValidVariant(variant: string): variant is ThemeVariant;
104
+ /**
105
+ * 验证主题模式是否有效
106
+ */
107
+ export declare function isValidMode(mode: string): mode is ThemeMode;
108
+ /**
109
+ * 自定义主题颜色配置
110
+ */
111
+ export interface CustomThemeColors {
112
+ /** 主色 */
113
+ primary?: string;
114
+ /** 主色前景色 */
115
+ primaryForeground?: string;
116
+ /** 次要色 */
117
+ secondary?: string;
118
+ /** 次要色前景色 */
119
+ secondaryForeground?: string;
120
+ /** 强调色 */
121
+ accent?: string;
122
+ /** 强调色前景色 */
123
+ accentForeground?: string;
124
+ /** 柔和色 */
125
+ muted?: string;
126
+ /** 柔和色前景色 */
127
+ mutedForeground?: string;
128
+ /** 背景色 */
129
+ background?: string;
130
+ /** 深层背景色 */
131
+ backgroundDeep?: string;
132
+ /** 前景色 */
133
+ foreground?: string;
134
+ /** 卡片背景色 */
135
+ card?: string;
136
+ /** 卡片前景色 */
137
+ cardForeground?: string;
138
+ /** 边框色 */
139
+ border?: string;
140
+ /** 输入框边框色 */
141
+ input?: string;
142
+ /** 焦点环颜色 */
143
+ ring?: string;
144
+ /** 侧边栏背景色 */
145
+ sidebar?: string;
146
+ /** 侧边栏深层背景色 */
147
+ sidebarDeep?: string;
148
+ /** 头部背景色 */
149
+ header?: string;
150
+ /** 菜单背景色 */
151
+ menu?: string;
152
+ }
153
+ /**
154
+ * 应用自定义主题颜色
155
+ * @param colors - 自定义颜色配置(HSL 格式,如 '280 35% 65%' 或 'hsl(280, 35%, 65%)')
156
+ * @param persist - 是否持久化到 localStorage
157
+ *
158
+ * @example
159
+ * ```typescript
160
+ * // 设置自定义主色
161
+ * applyCustomTheme({
162
+ * primary: '280 35% 65%',
163
+ * primaryForeground: '0 0% 98%'
164
+ * })
165
+ *
166
+ * // 使用完整的 HSL 格式
167
+ * applyCustomTheme({
168
+ * primary: 'hsl(280, 35%, 65%)',
169
+ * accent: 'hsl(200, 85%, 50%)'
170
+ * })
171
+ * ```
172
+ */
173
+ export declare function applyCustomTheme(colors: CustomThemeColors, persist?: boolean): void;
174
+ /**
175
+ * 获取存储的自定义主题颜色
176
+ */
177
+ export declare function getStoredCustomTheme(): CustomThemeColors | null;
178
+ /**
179
+ * 清除自定义主题颜色
180
+ */
181
+ export declare function clearCustomTheme(): void;
182
+ /**
183
+ * 恢复自定义主题颜色
184
+ */
185
+ export declare function restoreCustomTheme(): boolean;
186
+ /**
187
+ * 从 HEX 颜色转换为 HSL
188
+ * @param hex - HEX 颜色字符串,如 '#8B5CF6'
189
+ * @returns HSL 格式字符串,如 '280 35% 65%'
190
+ */
191
+ export declare function hexToHSL(hex: string): string;
192
+ /**
193
+ * 从 RGB 颜色转换为 HSL
194
+ * @param r - 红色值 (0-255)
195
+ * @param g - 绿色值 (0-255)
196
+ * @param b - 蓝色值 (0-255)
197
+ * @returns HSL 格式字符串,如 '280 35% 65%'
198
+ */
199
+ export declare function rgbToHSL(r: number, g: number, b: number): string;
200
+ /**
201
+ * 生成完整的主题配色方案(基于单一主色)
202
+ * @param primaryColor - 主色(HEX 或 HSL 格式)
203
+ * @param mode - 主题模式(light 或 dark)
204
+ * @returns 完整的主题颜色配置
205
+ *
206
+ * @example
207
+ * ```typescript
208
+ * // 从紫色生成完整配色
209
+ * const colors = generateThemeFromPrimary('#8B5CF6', 'light')
210
+ * applyCustomTheme(colors)
211
+ * ```
212
+ */
213
+ export declare function generateThemeFromPrimary(primaryColor: string, mode?: ThemeMode): CustomThemeColors;
214
+ /**
215
+ * 应用基于主色的完整主题
216
+ * @param primaryColor - 主色(HEX 或 HSL 格式)
217
+ * @param mode - 主题模式(默认使用当前模式)
218
+ * @param persist - 是否持久化
219
+ *
220
+ * @example
221
+ * ```typescript
222
+ * // 使用 HEX 颜色
223
+ * applyThemeFromPrimary('#8B5CF6')
224
+ *
225
+ * // 指定模式并持久化
226
+ * applyThemeFromPrimary('#8B5CF6', 'dark', true)
227
+ * ```
228
+ */
229
+ export declare function applyThemeFromPrimary(primaryColor: string, mode?: ThemeMode, persist?: boolean): void;
230
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/theme/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,UAAU,EACX,MAAM,SAAS,CAAA;AAYhB;;GAEG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,SAAS,GAAG,IAAI,CAIhD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CAItD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAG/C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAGxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAwB/C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CA2CxD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,SAAS,CAK1C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CAMhD;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAC5B,OAAO,GAAE,kBAAuB,GAC/B,IAAI,CA+BN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,SAAS,CAO1E;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,WAAW,CAcvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,SAAS,CAK7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,CAchF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,sCAEjC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,+CAEzD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAoBvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAQrD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAKhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,YAAY,CAEvE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,SAAS,CAE3D;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS;IACT,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,UAAU;IACV,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa;IACb,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,UAAU;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU;IACV,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa;IACb,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU;IACV,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU;IACV,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,UAAQ,GACd,IAAI,CAwBN;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAW/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAsCvC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAM5C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqC5C;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAiChE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,SAAmB,GACxB,iBAAiB,CAgGnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,SAAS,EAChB,OAAO,UAAQ,GACd,IAAI,CAQN"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@admin-core/design",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "设计系统(样式、令牌)",
@@ -25,10 +25,27 @@
25
25
  "import": "./dist/index.js",
26
26
  "require": "./dist/index.cjs"
27
27
  },
28
+ "./style.css": "./dist/style.css",
28
29
  "./css": "./dist/style.css",
30
+ "./css/index.css": "./src/css/index.css",
31
+ "./css/integrations/element-plus.css": "./src/css/integrations/element-plus.css",
32
+ "./css/integrations/ant-design-vue.css": "./src/css/integrations/ant-design-vue.css",
33
+ "./css/integrations/naive-ui.css": "./src/css/integrations/naive-ui.css",
34
+ "./css/integrations/arco-design.css": "./src/css/integrations/arco-design.css",
35
+ "./tokens/light.css": "./src/tokens/light.css",
36
+ "./tokens/dark.css": "./src/tokens/dark.css",
29
37
  "./umd": "./dist/index.umd.js",
38
+ "./theme": {
39
+ "types": "./src/theme/index.ts",
40
+ "import": "./src/theme/index.ts"
41
+ },
30
42
  "./scss-bem": "./src/scss-bem/bem.scss",
31
- "./scss-bem/*": "./src/scss-bem/*"
43
+ "./scss-bem/*": "./src/scss-bem/*",
44
+ "./tailwind.config": {
45
+ "types": "./tailwind.config.ts",
46
+ "import": "./tailwind.config.ts",
47
+ "require": "./tailwind.config.ts"
48
+ }
32
49
  },
33
50
  "main": "./dist/index.cjs",
34
51
  "module": "./dist/index.js",
@@ -37,14 +54,25 @@
37
54
  "types": "./dist/index.d.ts",
38
55
  "files": [
39
56
  "dist",
57
+ "src/css",
58
+ "src/tokens",
40
59
  "src/scss-bem",
41
- "README.md"
60
+ "README.md",
61
+ "README.en.md"
42
62
  ],
43
63
  "publishConfig": {
44
64
  "access": "public"
45
65
  },
66
+ "devDependencies": {
67
+ "@types/node": "^22.15.5",
68
+ "sass": "^1.97.1",
69
+ "tailwindcss": "^4.1.18",
70
+ "typescript": "^5.9.3",
71
+ "vite": "^7.3.1",
72
+ "vite-plugin-dts": "^4.5.4"
73
+ },
46
74
  "scripts": {
47
75
  "build": "vite build",
48
76
  "dev": "vite build --watch"
49
77
  }
50
- }
78
+ }