@veltra/styles 1.2.12 → 1.2.14
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/dist/theme/helper.d.ts +22 -0
- package/dist/theme/helper.js +8 -1
- package/dist/theme/helper.js.map +1 -1
- package/dist/theme/index.d.ts +2 -1
- package/dist/theme/index.js +2 -1
- package/package.json +3 -6
- package/src/theme/index.ts +2 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RGBColor } from "./type.js";
|
|
2
|
+
|
|
3
|
+
//#region src/theme/helper.d.ts
|
|
4
|
+
/** 实现十六进制颜色转RGB颜色,包括透明度 */
|
|
5
|
+
declare function HEXToRGB(color: string): RGBColor;
|
|
6
|
+
/**
|
|
7
|
+
* 混合两个颜色,并返回混合结果的十六进制表示。
|
|
8
|
+
* @param color1 - 第一个颜色,格式为`#RRGGBB`。
|
|
9
|
+
* @param color2 - 第二个颜色,格式为`#RRGGBB`。
|
|
10
|
+
* @param ratio - 颜色混合的比例,取值范围为0到1。
|
|
11
|
+
* @returns 混合结果的十六进制表示。
|
|
12
|
+
*/
|
|
13
|
+
declare function mixColor(color1: `#${string}`, color2: `#${string}`, ratio: number): string;
|
|
14
|
+
declare function defineBySize(variable: Record<'small' | 'default' | 'large', number>): Record<'small' | 'default' | 'large', number>;
|
|
15
|
+
/**
|
|
16
|
+
* 引用全局主题 CSS 变量(`--u-*` 命名空间)
|
|
17
|
+
* @param prop - 与 Theme 结构对应的连字符路径,如 `text-color-title`、`bg-color-hover`
|
|
18
|
+
*/
|
|
19
|
+
declare function cssVar(prop: string): string;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { HEXToRGB, cssVar, defineBySize, mixColor };
|
|
22
|
+
//# sourceMappingURL=helper.d.ts.map
|
package/dist/theme/helper.js
CHANGED
|
@@ -44,7 +44,14 @@ function mixColor(color1, color2, ratio) {
|
|
|
44
44
|
function defineBySize(variable) {
|
|
45
45
|
return variable;
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* 引用全局主题 CSS 变量(`--u-*` 命名空间)
|
|
49
|
+
* @param prop - 与 Theme 结构对应的连字符路径,如 `text-color-title`、`bg-color-hover`
|
|
50
|
+
*/
|
|
51
|
+
function cssVar(prop) {
|
|
52
|
+
return `var(--u-${prop})`;
|
|
53
|
+
}
|
|
47
54
|
//#endregion
|
|
48
|
-
export { defineBySize, mixColor };
|
|
55
|
+
export { HEXToRGB, cssVar, defineBySize, mixColor };
|
|
49
56
|
|
|
50
57
|
//# sourceMappingURL=helper.js.map
|
package/dist/theme/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","names":[],"sources":["../../src/theme/helper.ts"],"sourcesContent":["import type { RGBColor } from './type'\n\n/** 实现十六进制颜色转RGB颜色,包括透明度 */\nexport function HEXToRGB(color: string): RGBColor {\n // 移除可能存在的 '#' 前缀\n let hex = color.replace(/^#/, '')\n let [r, g, b] = [0, 0, 0]\n\n if (hex.length === 3) {\n const [r10, g10, b10] = [hex[0]!, hex[1]!, hex[2]!]\n hex = `${r10}${r10}${g10}${g10}${b10}${b10}`\n }\n\n r = parseInt(hex.slice(0, 2), 16)\n g = parseInt(hex.slice(2, 4), 16)\n b = parseInt(hex.slice(4, 6), 16)\n\n return [r, g, b]\n}\n\n/**\n * 混合两个颜色,并返回混合结果的十六进制表示。\n * @param color1 - 第一个颜色,格式为`#RRGGBB`。\n * @param color2 - 第二个颜色,格式为`#RRGGBB`。\n * @param ratio - 颜色混合的比例,取值范围为0到1。\n * @returns 混合结果的十六进制表示。\n */\nexport function mixColor(color1: `#${string}`, color2: `#${string}`, ratio: number): string {\n if (ratio > 1) throw new Error('ratio的值在0-1之间')\n const color1RGB = HEXToRGB(color1)\n const color2RGB = HEXToRGB(color2)\n\n const color1Ratio = 1 - ratio\n\n return (\n '#' +\n color1RGB\n .map((n, i) => {\n const hex = Math.floor(color1Ratio * n + color2RGB[i]! * ratio).toString(16)\n return hex.length === 1 ? '0' + hex : hex\n })\n .join('')\n )\n}\n\nexport function defineBySize(\n variable: Record<'small' | 'default' | 'large', number>\n): Record<'small' | 'default' | 'large', number> {\n return variable\n}\n\n/**\n * 引用全局主题 CSS 变量(`--u-*` 命名空间)\n * @param prop - 与 Theme 结构对应的连字符路径,如 `text-color-title`、`bg-color-hover`\n */\nexport function cssVar(prop: string): string {\n return `var(--u-${prop})`\n}\n"],"mappings":";;AAGA,SAAgB,SAAS,OAAyB;CAEhD,IAAI,MAAM,MAAM,QAAQ,MAAM,EAAE;CAChC,IAAI,CAAC,GAAG,GAAG,KAAK;EAAC;EAAG;EAAG;CAAC;CAExB,IAAI,IAAI,WAAW,GAAG;EACpB,MAAM,CAAC,KAAK,KAAK,OAAO;GAAC,IAAI;GAAK,IAAI;GAAK,IAAI;EAAG;EAClD,MAAM,GAAG,MAAM,MAAM,MAAM,MAAM,MAAM;CACzC;CAEA,IAAI,SAAS,IAAI,MAAM,GAAG,CAAC,GAAG,EAAE;CAChC,IAAI,SAAS,IAAI,MAAM,GAAG,CAAC,GAAG,EAAE;CAChC,IAAI,SAAS,IAAI,MAAM,GAAG,CAAC,GAAG,EAAE;CAEhC,OAAO;EAAC;EAAG;EAAG;CAAC;AACjB;;;;;;;;AASA,SAAgB,SAAS,QAAsB,QAAsB,OAAuB;CAC1F,IAAI,QAAQ,GAAG,MAAM,IAAI,MAAM,eAAe;CAC9C,MAAM,YAAY,SAAS,MAAM;CACjC,MAAM,YAAY,SAAS,MAAM;CAEjC,MAAM,cAAc,IAAI;CAExB,OACE,MACA,UACG,KAAK,GAAG,MAAM;EACb,MAAM,MAAM,KAAK,MAAM,cAAc,IAAI,UAAU,KAAM,KAAK,CAAC,CAAC,SAAS,EAAE;EAC3E,OAAO,IAAI,WAAW,IAAI,MAAM,MAAM;CACxC,CAAC,CAAC,CACD,KAAK,EAAE;AAEd;AAEA,SAAgB,aACd,UAC+C;CAC/C,OAAO;AACT"}
|
|
1
|
+
{"version":3,"file":"helper.js","names":[],"sources":["../../src/theme/helper.ts"],"sourcesContent":["import type { RGBColor } from './type'\n\n/** 实现十六进制颜色转RGB颜色,包括透明度 */\nexport function HEXToRGB(color: string): RGBColor {\n // 移除可能存在的 '#' 前缀\n let hex = color.replace(/^#/, '')\n let [r, g, b] = [0, 0, 0]\n\n if (hex.length === 3) {\n const [r10, g10, b10] = [hex[0]!, hex[1]!, hex[2]!]\n hex = `${r10}${r10}${g10}${g10}${b10}${b10}`\n }\n\n r = parseInt(hex.slice(0, 2), 16)\n g = parseInt(hex.slice(2, 4), 16)\n b = parseInt(hex.slice(4, 6), 16)\n\n return [r, g, b]\n}\n\n/**\n * 混合两个颜色,并返回混合结果的十六进制表示。\n * @param color1 - 第一个颜色,格式为`#RRGGBB`。\n * @param color2 - 第二个颜色,格式为`#RRGGBB`。\n * @param ratio - 颜色混合的比例,取值范围为0到1。\n * @returns 混合结果的十六进制表示。\n */\nexport function mixColor(color1: `#${string}`, color2: `#${string}`, ratio: number): string {\n if (ratio > 1) throw new Error('ratio的值在0-1之间')\n const color1RGB = HEXToRGB(color1)\n const color2RGB = HEXToRGB(color2)\n\n const color1Ratio = 1 - ratio\n\n return (\n '#' +\n color1RGB\n .map((n, i) => {\n const hex = Math.floor(color1Ratio * n + color2RGB[i]! * ratio).toString(16)\n return hex.length === 1 ? '0' + hex : hex\n })\n .join('')\n )\n}\n\nexport function defineBySize(\n variable: Record<'small' | 'default' | 'large', number>\n): Record<'small' | 'default' | 'large', number> {\n return variable\n}\n\n/**\n * 引用全局主题 CSS 变量(`--u-*` 命名空间)\n * @param prop - 与 Theme 结构对应的连字符路径,如 `text-color-title`、`bg-color-hover`\n */\nexport function cssVar(prop: string): string {\n return `var(--u-${prop})`\n}\n"],"mappings":";;AAGA,SAAgB,SAAS,OAAyB;CAEhD,IAAI,MAAM,MAAM,QAAQ,MAAM,EAAE;CAChC,IAAI,CAAC,GAAG,GAAG,KAAK;EAAC;EAAG;EAAG;CAAC;CAExB,IAAI,IAAI,WAAW,GAAG;EACpB,MAAM,CAAC,KAAK,KAAK,OAAO;GAAC,IAAI;GAAK,IAAI;GAAK,IAAI;EAAG;EAClD,MAAM,GAAG,MAAM,MAAM,MAAM,MAAM,MAAM;CACzC;CAEA,IAAI,SAAS,IAAI,MAAM,GAAG,CAAC,GAAG,EAAE;CAChC,IAAI,SAAS,IAAI,MAAM,GAAG,CAAC,GAAG,EAAE;CAChC,IAAI,SAAS,IAAI,MAAM,GAAG,CAAC,GAAG,EAAE;CAEhC,OAAO;EAAC;EAAG;EAAG;CAAC;AACjB;;;;;;;;AASA,SAAgB,SAAS,QAAsB,QAAsB,OAAuB;CAC1F,IAAI,QAAQ,GAAG,MAAM,IAAI,MAAM,eAAe;CAC9C,MAAM,YAAY,SAAS,MAAM;CACjC,MAAM,YAAY,SAAS,MAAM;CAEjC,MAAM,cAAc,IAAI;CAExB,OACE,MACA,UACG,KAAK,GAAG,MAAM;EACb,MAAM,MAAM,KAAK,MAAM,cAAc,IAAI,UAAU,KAAM,KAAK,CAAC,CAAC,SAAS,EAAE;EAC3E,OAAO,IAAI,WAAW,IAAI,MAAM,MAAM;CACxC,CAAC,CAAC,CACD,KAAK,EAAE;AAEd;AAEA,SAAgB,aACd,UAC+C;CAC/C,OAAO;AACT;;;;;AAMA,SAAgB,OAAO,MAAsB;CAC3C,OAAO,WAAW,KAAK;AACzB"}
|
package/dist/theme/index.d.ts
CHANGED
|
@@ -6,4 +6,5 @@ import { heroDarkTheme, heroLightTheme } from "./presets/hero.js";
|
|
|
6
6
|
import { shadcnDarkTheme, shadcnLightTheme } from "./presets/shadcn.js";
|
|
7
7
|
import { glassDarkTheme, glassLightTheme } from "./presets/glass.js";
|
|
8
8
|
import { currentTheme, loadTheme, setTheme } from "./load-theme.js";
|
|
9
|
-
|
|
9
|
+
import { HEXToRGB, cssVar, defineBySize, mixColor } from "./helper.js";
|
|
10
|
+
export { HEXToRGB, type RGBColor, type Theme, UITheme, cssVar, currentTheme, darkTheme, defineBySize, glassDarkTheme, glassLightTheme, heroDarkTheme, heroLightTheme, lightTheme, loadTheme, mixColor, setTheme, shadcnDarkTheme, shadcnLightTheme };
|
package/dist/theme/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { HEXToRGB, cssVar, defineBySize, mixColor } from "./helper.js";
|
|
1
2
|
import { UITheme } from "./ui-theme.js";
|
|
2
3
|
import { lightTheme } from "./presets/light.js";
|
|
3
4
|
import { darkTheme } from "./presets/dark.js";
|
|
@@ -5,4 +6,4 @@ import { heroDarkTheme, heroLightTheme } from "./presets/hero.js";
|
|
|
5
6
|
import { shadcnDarkTheme, shadcnLightTheme } from "./presets/shadcn.js";
|
|
6
7
|
import { glassDarkTheme, glassLightTheme } from "./presets/glass.js";
|
|
7
8
|
import { currentTheme, loadTheme, setTheme } from "./load-theme.js";
|
|
8
|
-
export { UITheme, currentTheme, darkTheme, glassDarkTheme, glassLightTheme, heroDarkTheme, heroLightTheme, lightTheme, loadTheme, setTheme, shadcnDarkTheme, shadcnLightTheme };
|
|
9
|
+
export { HEXToRGB, UITheme, cssVar, currentTheme, darkTheme, defineBySize, glassDarkTheme, glassLightTheme, heroDarkTheme, heroLightTheme, lightTheme, loadTheme, mixColor, setTheme, shadcnDarkTheme, shadcnLightTheme };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veltra/styles",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.14",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"src"
|
|
@@ -34,13 +34,10 @@
|
|
|
34
34
|
"default": "./dist/*"
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
|
-
"scripts": {
|
|
38
|
-
"build": "vp pack"
|
|
39
|
-
},
|
|
40
37
|
"peerDependencies": {
|
|
41
38
|
"@cat-kit/core": ">=1.1.8",
|
|
42
|
-
"@veltra/compositions": "1.2.
|
|
43
|
-
"@veltra/utils": "1.2.
|
|
39
|
+
"@veltra/compositions": "1.2.14",
|
|
40
|
+
"@veltra/utils": "1.2.14",
|
|
44
41
|
"vue": ">=3.5.39"
|
|
45
42
|
}
|
|
46
43
|
}
|