convoai 1.3.1 → 1.3.2
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/src/ui/gradient.js +80 -44
- package/dist/src/ui/gradient.js.map +1 -1
- package/package.json +1 -1
package/dist/src/ui/gradient.js
CHANGED
|
@@ -7,47 +7,89 @@ function gradientColor(t) {
|
|
|
7
7
|
// blue(80,150,255) → pink(220,72,195)
|
|
8
8
|
return `#${lerp(80, 220, t).toString(16).padStart(2, '0')}${lerp(150, 72, t).toString(16).padStart(2, '0')}${lerp(255, 195, t).toString(16).padStart(2, '0')}`;
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Calculate the display width of a string in terminal columns.
|
|
12
|
+
* CJK characters and emoji take 2 columns, ASCII takes 1.
|
|
13
|
+
*/
|
|
14
|
+
function displayWidth(str) {
|
|
15
|
+
let w = 0;
|
|
16
|
+
for (const ch of str) {
|
|
17
|
+
const code = ch.codePointAt(0) ?? 0;
|
|
18
|
+
if ((code >= 0x1100 && code <= 0x115f) || // Hangul Jamo
|
|
19
|
+
(code >= 0x2e80 && code <= 0x303e) || // CJK Radicals
|
|
20
|
+
(code >= 0x3040 && code <= 0x33bf) || // Japanese + CJK
|
|
21
|
+
(code >= 0x4e00 && code <= 0x9fff) || // CJK Unified
|
|
22
|
+
(code >= 0xac00 && code <= 0xd7af) || // Hangul Syllables
|
|
23
|
+
(code >= 0xf900 && code <= 0xfaff) || // CJK Compat
|
|
24
|
+
(code >= 0xfe30 && code <= 0xfe4f) || // CJK Compat Forms
|
|
25
|
+
(code >= 0xff01 && code <= 0xff60) || // Fullwidth Forms
|
|
26
|
+
(code >= 0x1f000 && code <= 0x1ffff) || // Emoji & symbols
|
|
27
|
+
(code >= 0x20000 && code <= 0x2ffff) || // CJK Extension B+
|
|
28
|
+
(code >= 0x2600 && code <= 0x27bf) || // Misc symbols
|
|
29
|
+
(code >= 0xfe00 && code <= 0xfe0f) || // Variation selectors
|
|
30
|
+
(code >= 0x200d && code <= 0x200d) // ZWJ
|
|
31
|
+
) {
|
|
32
|
+
w += 2;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
w += 1;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return w;
|
|
39
|
+
}
|
|
40
|
+
const GREEN = '#10b981';
|
|
41
|
+
const BOX_WIDTH = 56; // wider to fit CJK content
|
|
42
|
+
// ─── Padding helper ───────────────────────────────────────────────────────
|
|
43
|
+
function padToWidth(content, plainText, targetWidth) {
|
|
44
|
+
const visWidth = displayWidth(plainText);
|
|
45
|
+
const pad = Math.max(0, targetWidth - visWidth);
|
|
46
|
+
return content + ' '.repeat(pad);
|
|
47
|
+
}
|
|
12
48
|
// ─── gradientBox ───────────────────────────────────────────────────────────
|
|
13
49
|
export function gradientBox(opts) {
|
|
14
50
|
const { emoji, title, subtitle, body } = opts;
|
|
15
|
-
const inner = BOX_WIDTH - 2;
|
|
16
|
-
// Top border
|
|
51
|
+
const inner = BOX_WIDTH - 2;
|
|
52
|
+
// Top border
|
|
17
53
|
const topChars = ['╭', ...Array(inner).fill('─'), '╮'];
|
|
18
|
-
const top = topChars
|
|
54
|
+
const top = ' ' + topChars
|
|
19
55
|
.map((ch, i) => chalk.hex(gradientColor(i / (topChars.length - 1)))(ch))
|
|
20
56
|
.join('');
|
|
21
|
-
// Bottom border
|
|
57
|
+
// Bottom border
|
|
22
58
|
const bottomChars = ['╰', ...Array(inner).fill('─'), '╯'];
|
|
23
|
-
const bottom = bottomChars
|
|
59
|
+
const bottom = ' ' + bottomChars
|
|
24
60
|
.map((ch, i) => chalk.hex(gradientColor(i / (bottomChars.length - 1)))(ch))
|
|
25
61
|
.join('');
|
|
26
62
|
const leftBorder = chalk.hex(gradientColor(0))('│');
|
|
27
63
|
const rightBorder = chalk.hex(gradientColor(1))('│');
|
|
28
|
-
const blankLine =
|
|
29
|
-
// Title
|
|
64
|
+
const blankLine = ` ${leftBorder}${' '.repeat(inner)}${rightBorder}`;
|
|
65
|
+
// Title: emoji + gradient text
|
|
30
66
|
const titleGrad = [...title]
|
|
31
67
|
.map((ch, i) => chalk.hex(gradientColor(i / Math.max(title.length - 1, 1))).bold(ch))
|
|
32
68
|
.join('');
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
69
|
+
const titlePlain = ` ${emoji} ${title}`;
|
|
70
|
+
const titleContent = ` ${emoji} ${titleGrad}`;
|
|
71
|
+
const titlePadded = padToWidth(titleContent, titlePlain, inner);
|
|
72
|
+
const titleLine = ` ${leftBorder}${titlePadded}${rightBorder}`;
|
|
73
|
+
// Subtitle
|
|
74
|
+
const lines = [top, blankLine, titleLine];
|
|
75
|
+
if (subtitle) {
|
|
76
|
+
const subPlain = ` ${subtitle}`;
|
|
77
|
+
const subContent = ` ${chalk.dim(subtitle)}`;
|
|
78
|
+
const subPadded = padToWidth(subContent, subPlain, inner);
|
|
79
|
+
lines.push(` ${leftBorder}${subPadded}${rightBorder}`);
|
|
80
|
+
}
|
|
81
|
+
// Body lines
|
|
45
82
|
if (body && body.length > 0) {
|
|
46
83
|
for (const line of body) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
84
|
+
if (line === '') {
|
|
85
|
+
lines.push(blankLine);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
const bodyPlain = ` ${line}`;
|
|
89
|
+
const bodyContent = ` ${chalk.dim(line)}`;
|
|
90
|
+
const bodyPadded = padToWidth(bodyContent, bodyPlain, inner);
|
|
91
|
+
lines.push(` ${leftBorder}${bodyPadded}${rightBorder}`);
|
|
92
|
+
}
|
|
51
93
|
}
|
|
52
94
|
}
|
|
53
95
|
lines.push(blankLine, bottom);
|
|
@@ -58,20 +100,20 @@ export function gradientBoxGreen(opts) {
|
|
|
58
100
|
const { emoji, title, subtitle } = opts;
|
|
59
101
|
const inner = BOX_WIDTH - 2;
|
|
60
102
|
const gc = chalk.hex(GREEN);
|
|
61
|
-
const top = gc('╭' + '─'.repeat(inner) + '╮');
|
|
62
|
-
const bottom = gc('╰' + '─'.repeat(inner) + '╯');
|
|
103
|
+
const top = ' ' + gc('╭' + '─'.repeat(inner) + '╮');
|
|
104
|
+
const bottom = ' ' + gc('╰' + '─'.repeat(inner) + '╯');
|
|
63
105
|
const leftBorder = gc('│');
|
|
64
106
|
const rightBorder = gc('│');
|
|
65
|
-
const blankLine =
|
|
66
|
-
// Title: each char in green, bold
|
|
107
|
+
const blankLine = ` ${leftBorder}${' '.repeat(inner)}${rightBorder}`;
|
|
67
108
|
const titleStyled = [...title].map((ch) => gc(chalk.bold(ch))).join('');
|
|
68
|
-
const
|
|
69
|
-
const
|
|
70
|
-
const
|
|
71
|
-
const
|
|
72
|
-
const
|
|
73
|
-
const
|
|
74
|
-
const
|
|
109
|
+
const titlePlain = ` ${emoji} ${title}`;
|
|
110
|
+
const titleContent = ` ${emoji} ${titleStyled}`;
|
|
111
|
+
const titlePadded = padToWidth(titleContent, titlePlain, inner);
|
|
112
|
+
const titleLine = ` ${leftBorder}${titlePadded}${rightBorder}`;
|
|
113
|
+
const subPlain = ` ${subtitle}`;
|
|
114
|
+
const subContent = ` ${chalk.dim(subtitle)}`;
|
|
115
|
+
const subPadded = padToWidth(subContent, subPlain, inner);
|
|
116
|
+
const subLine = ` ${leftBorder}${subPadded}${rightBorder}`;
|
|
75
117
|
return [top, blankLine, titleLine, subLine, blankLine, bottom];
|
|
76
118
|
}
|
|
77
119
|
// ─── gradientTitle ─────────────────────────────────────────────────────────
|
|
@@ -89,15 +131,11 @@ export function gradientProgress(current, total) {
|
|
|
89
131
|
for (let i = 0; i < filled; i++) {
|
|
90
132
|
let color;
|
|
91
133
|
if (isComplete) {
|
|
92
|
-
// blue → pink → green celebration gradient
|
|
93
134
|
const t = i / Math.max(filled - 1, 1);
|
|
94
135
|
if (t <= 0.5) {
|
|
95
|
-
|
|
96
|
-
const seg = t * 2;
|
|
97
|
-
color = gradientColor(seg);
|
|
136
|
+
color = gradientColor(t * 2);
|
|
98
137
|
}
|
|
99
138
|
else {
|
|
100
|
-
// pink → green
|
|
101
139
|
const seg = (t - 0.5) * 2;
|
|
102
140
|
const r = lerp(220, 16, seg);
|
|
103
141
|
const g = lerp(72, 185, seg);
|
|
@@ -111,8 +149,6 @@ export function gradientProgress(current, total) {
|
|
|
111
149
|
}
|
|
112
150
|
blocks.push(chalk.bgHex(color)(' '));
|
|
113
151
|
}
|
|
114
|
-
|
|
115
|
-
const suffix = chalk.dim(` ${current}/${total}`);
|
|
116
|
-
return `${bar}${suffix}`;
|
|
152
|
+
return ` ${blocks.join('')} ${chalk.dim(`${current}/${total}`)}`;
|
|
117
153
|
}
|
|
118
154
|
//# sourceMappingURL=gradient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gradient.js","sourceRoot":"","sources":["../../../src/ui/gradient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,8EAA8E;AAE9E,SAAS,IAAI,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,CAAS;IAC9B,sCAAsC;IACtC,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACjK,CAAC;AAED,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"gradient.js","sourceRoot":"","sources":["../../../src/ui/gradient.ts"],"names":[],"mappings":"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"}
|