@reliverse/relinka 1.1.5 → 1.1.7

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 (115) hide show
  1. package/dist-npm/components/anykey/index.js +77 -57
  2. package/dist-npm/components/block/block.js +61 -48
  3. package/dist-npm/components/checkbox/index.js +211 -178
  4. package/dist-npm/components/confirm/confirm-main.js +122 -85
  5. package/dist-npm/components/confirm/confirm-three.js +27 -24
  6. package/dist-npm/components/confirm/index.js +45 -36
  7. package/dist-npm/components/core/Separator.js +17 -15
  8. package/dist-npm/components/core/create-prompt.js +124 -101
  9. package/dist-npm/components/core/errors.js +15 -19
  10. package/dist-npm/components/core/hook-engine.js +120 -91
  11. package/dist-npm/components/core/index.js +12 -12
  12. package/dist-npm/components/core/key.js +6 -16
  13. package/dist-npm/components/core/lines.js +54 -45
  14. package/dist-npm/components/core/make-theme.js +30 -21
  15. package/dist-npm/components/core/position.js +23 -27
  16. package/dist-npm/components/core/promise-polyfill.js +14 -11
  17. package/dist-npm/components/core/screen-manager.js +74 -59
  18. package/dist-npm/components/core/theme.js +32 -22
  19. package/dist-npm/components/core/use-effect.js +15 -9
  20. package/dist-npm/components/core/use-keypress.js +23 -19
  21. package/dist-npm/components/core/use-memo.js +16 -10
  22. package/dist-npm/components/core/use-pagination.js +32 -33
  23. package/dist-npm/components/core/use-prefix.js +38 -40
  24. package/dist-npm/components/core/use-ref.js +5 -2
  25. package/dist-npm/components/core/use-state.js +23 -15
  26. package/dist-npm/components/core/useKeyPress.js +17 -14
  27. package/dist-npm/components/core/usePromptState.js +14 -8
  28. package/dist-npm/components/core/utils.js +16 -7
  29. package/dist-npm/components/date/date.js +204 -167
  30. package/dist-npm/components/editor/index.js +92 -71
  31. package/dist-npm/components/expand/index.js +124 -96
  32. package/dist-npm/components/figures/index.js +294 -283
  33. package/dist-npm/components/input/index.js +87 -61
  34. package/dist-npm/components/input/text-main.js +124 -97
  35. package/dist-npm/components/input/text.js +28 -24
  36. package/dist-npm/components/instance/basic.js +25 -17
  37. package/dist-npm/components/instance/browser.js +18 -14
  38. package/dist-npm/components/instance/reporter/basic.js +65 -46
  39. package/dist-npm/components/instance/reporter/browser.js +47 -44
  40. package/dist-npm/components/instance/reporter/fancy.js +96 -83
  41. package/dist-npm/components/instance/shared.js +2 -2
  42. package/dist-npm/components/mono/mono.js +62 -52
  43. package/dist-npm/components/mono/monoTwo.js +49 -35
  44. package/dist-npm/components/multiselect/group-multiselect.js +71 -55
  45. package/dist-npm/components/multiselect/multi-select-two.js +130 -97
  46. package/dist-npm/components/multiselect/multi-select.js +49 -43
  47. package/dist-npm/components/multiselect/multiselect-main.js +146 -120
  48. package/dist-npm/components/multiselect/num-multi-select.js +130 -97
  49. package/dist-npm/components/multiselect/num-multiselect-main.js +35 -24
  50. package/dist-npm/components/next-steps/next-steps.js +25 -23
  51. package/dist-npm/components/number/index.js +112 -78
  52. package/dist-npm/components/number/number-main.js +2 -95
  53. package/dist-npm/components/password/index.js +73 -54
  54. package/dist-npm/components/password/password-main.js +2 -119
  55. package/dist-npm/components/password/password-three.js +30 -26
  56. package/dist-npm/components/progressbar/ProgressBar.js +64 -45
  57. package/dist-npm/components/progressbar/helper.js +40 -33
  58. package/dist-npm/components/progressbar/index.js +1 -1
  59. package/dist-npm/components/prompts/create.js +44 -29
  60. package/dist-npm/components/prompts/index.js +45 -45
  61. package/dist-npm/components/prompts/prompt.js +260 -211
  62. package/dist-npm/components/prompts/promptTwo.js +605 -561
  63. package/dist-npm/components/prompts/relinka.js +295 -237
  64. package/dist-npm/components/range/range.js +294 -247
  65. package/dist-npm/components/rawlist/index.js +107 -87
  66. package/dist-npm/components/results/results.js +37 -31
  67. package/dist-npm/components/search/index.js +193 -148
  68. package/dist-npm/components/select/index.js +186 -148
  69. package/dist-npm/components/select/num-select-main.js +27 -27
  70. package/dist-npm/components/select/num-select.js +5 -124
  71. package/dist-npm/components/select/select-key.js +25 -24
  72. package/dist-npm/components/select/select-main.js +133 -109
  73. package/dist-npm/components/select/select-three.js +36 -32
  74. package/dist-npm/components/select/select-two.js +87 -94
  75. package/dist-npm/components/spinner/index.js +136 -107
  76. package/dist-npm/components/st-end/end.js +26 -34
  77. package/dist-npm/components/st-end/start.js +15 -29
  78. package/dist-npm/components/toggle/index.js +137 -113
  79. package/dist-npm/components/visual/animate/animate.js +10 -53
  80. package/dist-npm/components/visual/ascii-art/ascii-art.js +1 -12
  81. package/dist-npm/mod.js +2 -1
  82. package/dist-npm/testing/index.js +83 -58
  83. package/dist-npm/types/general.js +1 -0
  84. package/dist-npm/types/index.js +3 -2
  85. package/dist-npm/types/keypress.js +36 -35
  86. package/dist-npm/types/readline.js +1 -0
  87. package/dist-npm/types/relinka.js +1 -0
  88. package/dist-npm/types/utils.js +1 -0
  89. package/dist-npm/utils/box.js +137 -135
  90. package/dist-npm/utils/color.js +74 -65
  91. package/dist-npm/utils/colorize.js +156 -124
  92. package/dist-npm/utils/component.js +657 -532
  93. package/dist-npm/utils/constants.js +63 -64
  94. package/dist-npm/utils/core.js +3 -2
  95. package/dist-npm/utils/decoder.js +223 -244
  96. package/dist-npm/utils/error.js +9 -4
  97. package/dist-npm/utils/errors.js +4 -14
  98. package/dist-npm/utils/format.js +24 -19
  99. package/dist-npm/utils/keypress.js +414 -316
  100. package/dist-npm/utils/log.js +15 -11
  101. package/dist-npm/utils/mapping.js +52 -45
  102. package/dist-npm/utils/messages.js +183 -183
  103. package/dist-npm/utils/platforms.js +20 -16
  104. package/dist-npm/utils/prompt-tmp.js +286 -235
  105. package/dist-npm/utils/prompt-two.js +286 -235
  106. package/dist-npm/utils/readline.js +7 -5
  107. package/dist-npm/utils/skeleton.js +170 -130
  108. package/dist-npm/utils/stream.js +2 -2
  109. package/dist-npm/utils/string.js +58 -44
  110. package/dist-npm/utils/terminal.js +34 -23
  111. package/dist-npm/utils/tree.js +41 -30
  112. package/dist-npm/utils/types.js +1 -0
  113. package/dist-npm/utils/utils.js +8 -8
  114. package/dist-npm/utils/variants.js +44 -36
  115. package/package.json +20 -28
@@ -1,15 +1,19 @@
1
1
  export function isPlainObject(obj) {
2
- return Object.prototype.toString.call(obj) === "[object Object]";
2
+ return Object.prototype.toString.call(obj) === '[object Object]';
3
3
  }
4
+
4
5
  export function isLogObj(arg) {
5
- if (!isPlainObject(arg)) {
6
- return false;
7
- }
8
- if (!arg.message && !arg.args) {
9
- return false;
10
- }
11
- if (arg.stack) {
12
- return false;
13
- }
14
- return true;
6
+ if (!isPlainObject(arg)) {
7
+ return false;
8
+ }
9
+
10
+ if (!arg.message && !arg.args) {
11
+ return false;
12
+ }
13
+
14
+ if (arg.stack) {
15
+ return false;
16
+ }
17
+
18
+ return true;
15
19
  }
@@ -1,49 +1,56 @@
1
- import chalk from "chalk";
2
- import gradient, { cristal, mind, passion, retro, vice } from "gradient-string";
3
- import { rainbow } from "gradient-string";
4
- import colors from "picocolors";
1
+ import chalk from 'chalk';
2
+ import gradient, {
3
+ cristal,
4
+ mind,
5
+ passion,
6
+ retro,
7
+ vice,
8
+ rainbow,
9
+ } from 'gradient-string';
10
+ import colors from 'picocolors';
11
+
5
12
  export const colorMap = {
6
- none: colors.reset,
7
- inverse: colors.inverse,
8
- black: colors.black,
9
- blue: colors.blue,
10
- blueBright: colors.blueBright,
11
- cyan: colors.cyan,
12
- cyanBright: colors.cyanBright,
13
- bgCyan: colors.bgCyan,
14
- bgCyanBright: colors.bgCyanBright,
15
- dim: colors.dim,
16
- gray: colors.gray,
17
- green: colors.green,
18
- greenBright: colors.greenBright,
19
- bgGreen: colors.bgGreen,
20
- bgGreenBright: colors.bgGreenBright,
21
- magenta: colors.magenta,
22
- red: colors.red,
23
- redBright: colors.redBright,
24
- bgRed: colors.bgRed,
25
- bgRedBright: colors.bgRedBright,
26
- white: colors.white,
27
- yellow: colors.yellow,
28
- yellowBright: colors.yellowBright,
29
- cristalGradient: cristal,
30
- mindGradient: mind,
31
- passionGradient: passion,
32
- rainbowGradient: rainbow,
33
- retroGradient: retro,
34
- viceGradient: vice,
35
- gradientGradient: gradient([
36
- "red",
37
- "yellow",
38
- "green",
39
- "cyan",
40
- "blue",
41
- "magenta"
42
- ])
13
+ none: colors.reset,
14
+ inverse: colors.inverse,
15
+ black: colors.black,
16
+ blue: colors.blue,
17
+ blueBright: colors.blueBright,
18
+ cyan: colors.cyan,
19
+ cyanBright: colors.cyanBright,
20
+ bgCyan: colors.bgCyan,
21
+ bgCyanBright: colors.bgCyanBright,
22
+ dim: colors.dim,
23
+ gray: colors.gray,
24
+ green: colors.green,
25
+ greenBright: colors.greenBright,
26
+ bgGreen: colors.bgGreen,
27
+ bgGreenBright: colors.bgGreenBright,
28
+ magenta: colors.magenta,
29
+ red: colors.red,
30
+ redBright: colors.redBright,
31
+ bgRed: colors.bgRed,
32
+ bgRedBright: colors.bgRedBright,
33
+ white: colors.white,
34
+ yellow: colors.yellow,
35
+ yellowBright: colors.yellowBright,
36
+ cristalGradient: cristal,
37
+ mindGradient: mind,
38
+ passionGradient: passion,
39
+ rainbowGradient: rainbow,
40
+ retroGradient: retro,
41
+ viceGradient: vice,
42
+ gradientGradient: gradient([
43
+ 'red',
44
+ 'yellow',
45
+ 'green',
46
+ 'cyan',
47
+ 'blue',
48
+ 'magenta',
49
+ ]),
43
50
  };
44
51
  export const typographyMap = {
45
- bold: chalk.bold,
46
- italic: chalk.italic,
47
- underline: chalk.underline,
48
- strikethrough: chalk.strikethrough
52
+ bold: chalk.bold,
53
+ italic: chalk.italic,
54
+ underline: chalk.underline,
55
+ strikethrough: chalk.strikethrough,
49
56
  };
@@ -1,200 +1,200 @@
1
- import { greenBright, redBright, dim } from "picocolors";
2
- import { colorMap, typographyMap } from "../utils/mapping.js";
3
- import { isUnicodeSupported } from "../utils/platforms.js";
4
- import { variantMap } from "../utils/variants.js";
1
+ import {
2
+ greenBright,
3
+ redBright,
4
+ dim,
5
+ } from 'picocolors';
6
+ import {colorMap, typographyMap} from '../utils/mapping.js';
7
+ import {isUnicodeSupported} from '../utils/platforms.js';
8
+ import {variantMap} from '../utils/variants.js';
9
+
5
10
  const unicode = isUnicodeSupported();
6
11
  const u = (c, fallback) => unicode ? c : fallback;
12
+
7
13
  export const symbols = {
8
- pointer: u("\u{1F449}", ">"),
9
- start: u("\u256D", "T"),
10
- middle: u("\u2502", "|"),
11
- end: u("\u2570", "*"),
12
- line: u("\u2500", "\u2014"),
13
- corner_top_right: u("\xBB", "T"),
14
- step_active: u("\u25C6", "\u2666"),
15
- step_error: u("\u{1F5F4}", "x"),
16
- info: u("\u2139", "i")
14
+ pointer: u('\u{1F449}', '>'),
15
+ start: u('\u256D', 'T'),
16
+ middle: u('\u2502', '|'),
17
+ end: u('\u2570', '*'),
18
+ line: u('\u2500', '\u2014'),
19
+ corner_top_right: u('\xBB', 'T'),
20
+ step_active: u('\u25C6', '\u2666'),
21
+ step_error: u('\u{1F5F4}', 'x'),
22
+ info: u('\u2139', 'i'),
17
23
  };
18
- function applyStyles(text, colorName = "", typographyName = "", variantName = "", borderColor = "") {
19
- let styledText = text;
20
- if (!variantName) {
21
- if (colorName && colorMap[colorName]) {
22
- styledText = colorMap[colorName](styledText);
23
- } else if (colorName) {
24
- console.warn(
25
- `Warning: Invalid color "${colorName}" provided to applyStyles.`
26
- );
24
+ function applyStyles(styledText, colorName = '', typographyName = '', variantName = '', borderColor = '') {
25
+ if (!variantName) {
26
+ if (colorName && colorMap[colorName]) {
27
+ styledText = colorMap[colorName](styledText);
28
+ }
29
+
30
+ if (typographyName && typographyMap[typographyName]) {
31
+ styledText = typographyMap[typographyName](styledText);
32
+ }
27
33
  }
28
- if (typographyName && typographyMap[typographyName]) {
29
- styledText = typographyMap[typographyName](styledText);
30
- } else if (typographyName) {
31
- console.warn(
32
- `Warning: Invalid typography "${typographyName}" provided to applyStyles.`
33
- );
34
+
35
+ if (variantName && variantMap[variantName]) {
36
+ styledText = variantMap[variantName](styledText, borderColor);
34
37
  }
35
- }
36
- if (variantName && variantMap[variantName]) {
37
- styledText = variantMap[variantName](styledText, borderColor);
38
- } else if (variantName) {
39
- console.warn(
40
- `Warning: Invalid variant "${variantName}" provided to applyStyles.`
41
- );
42
- }
43
- return styledText;
38
+
39
+ return styledText;
44
40
  }
45
- export const bar = ({
46
- borderColor = "viceGradient"
47
- }) => colorMap[borderColor](symbols.middle);
41
+
42
+ export const bar = ({borderColor = 'viceGradient'}) => colorMap[borderColor](symbols.middle);
48
43
  export function fmt(opts) {
49
- if (opts.title?.includes("\u2502 ") && !opts.dontRemoveBar) {
50
- opts.title = opts.title.replace("\u2502 ", "");
51
- }
52
- if (!opts.borderColor) {
53
- opts.borderColor = "viceGradient";
54
- }
55
- const formattedBar = bar({ borderColor: opts.borderColor });
56
- const prefixStartLine = opts.borderColor ? colorMap[opts.borderColor](symbols.start + symbols.line) : symbols.start + symbols.line;
57
- const prefixEndLine = opts.borderColor ? colorMap[opts.borderColor](symbols.end + symbols.line) : symbols.end + symbols.line;
58
- const suffixStartLine = opts.borderColor ? colorMap[opts.borderColor](`${symbols.line.repeat(28)}\u22B1`) : `${symbols.line.repeat(28)}\u22B1`;
59
- const suffixEndLine = opts.borderColor ? colorMap[opts.borderColor](`${symbols.line.repeat(58)}\u22B1`) : `${symbols.line.repeat(58)}\u22B1`;
60
- const MSG_CONFIGS = {
61
- M_NULL: {
62
- symbol: "",
63
- prefix: "",
64
- suffix: "",
65
- newLineBefore: opts.addNewLineBefore ?? false,
66
- newLineAfter: opts.addNewLineAfter ?? false
67
- },
68
- M_INFO_NULL: {
69
- symbol: "",
70
- prefix: formattedBar,
71
- suffix: "",
72
- newLineBefore: opts.addNewLineBefore ?? false,
73
- newLineAfter: opts.addNewLineAfter ?? false
74
- },
75
- M_START: {
76
- symbol: "",
77
- prefix: prefixStartLine,
78
- suffix: ` ${suffixStartLine}
44
+ if (opts.title?.includes('\u2502 ') && !opts.dontRemoveBar) {
45
+ opts.title = opts.title.replace('\u2502 ', '');
46
+ }
47
+
48
+ if (!opts.borderColor) {
49
+ opts.borderColor = 'viceGradient';
50
+ }
51
+
52
+ const formattedBar = bar({
53
+ borderColor: opts.borderColor,
54
+ });
55
+ const prefixStartLine = opts.borderColor ? colorMap[opts.borderColor](symbols.start + symbols.line) : symbols.start + symbols.line;
56
+ const prefixEndLine = opts.borderColor ? colorMap[opts.borderColor](symbols.end + symbols.line) : symbols.end + symbols.line;
57
+ const suffixStartLine = opts.borderColor ? colorMap[opts.borderColor](`${symbols.line.repeat(28)}\u22B1`) : `${symbols.line.repeat(28)}\u22B1`;
58
+ const suffixEndLine = opts.borderColor ? colorMap[opts.borderColor](`${symbols.line.repeat(58)}\u22B1`) : `${symbols.line.repeat(58)}\u22B1`;
59
+
60
+ const MSG_CONFIGS = {
61
+ M_NULL: {
62
+ symbol: '',
63
+ prefix: '',
64
+ suffix: '',
65
+ newLineBefore: opts.addNewLineBefore ?? false,
66
+ newLineAfter: opts.addNewLineAfter ?? false,
67
+ },
68
+ M_INFO_NULL: {
69
+ symbol: '',
70
+ prefix: formattedBar,
71
+ suffix: '',
72
+ newLineBefore: opts.addNewLineBefore ?? false,
73
+ newLineAfter: opts.addNewLineAfter ?? false,
74
+ },
75
+ M_START: {
76
+ symbol: '',
77
+ prefix: prefixStartLine,
78
+ suffix: ` ${suffixStartLine}
79
79
  ${formattedBar}`,
80
- newLineBefore: opts.addNewLineBefore ?? false,
81
- newLineAfter: opts.addNewLineAfter ?? false
82
- },
83
- M_MIDDLE: {
84
- symbol: formattedBar,
85
- prefix: "",
86
- suffix: "",
87
- newLineBefore: opts.addNewLineBefore ?? false,
88
- newLineAfter: opts.addNewLineAfter ?? false
89
- },
90
- M_GENERAL: {
91
- symbol: "",
92
- prefix: greenBright(symbols.step_active),
93
- suffix: opts.placeholder ? dim(opts.placeholder) + "\n" + formattedBar + " " : "",
94
- newLineBefore: opts.addNewLineBefore ?? false,
95
- newLineAfter: opts.addNewLineAfter ?? true
96
- },
97
- M_INFO: {
98
- symbol: "",
99
- prefix: greenBright(symbols.info),
100
- suffix: "",
101
- newLineBefore: opts.addNewLineBefore ?? false,
102
- newLineAfter: opts.addNewLineAfter ?? true
103
- },
104
- M_ERROR: {
105
- symbol: "",
106
- prefix: redBright(symbols.step_error),
107
- newLineBefore: opts.addNewLineBefore ?? false,
108
- newLineAfter: opts.addNewLineAfter ?? true
109
- },
110
- M_END: {
111
- symbol: "",
112
- prefix: greenBright(symbols.info),
113
- suffix: opts.border ? `
80
+ newLineBefore: opts.addNewLineBefore ?? false,
81
+ newLineAfter: opts.addNewLineAfter ?? false,
82
+ },
83
+ M_MIDDLE: {
84
+ symbol: formattedBar,
85
+ prefix: '',
86
+ suffix: '',
87
+ newLineBefore: opts.addNewLineBefore ?? false,
88
+ newLineAfter: opts.addNewLineAfter ?? false,
89
+ },
90
+ M_GENERAL: {
91
+ symbol: '',
92
+ prefix: greenBright(symbols.step_active),
93
+ suffix: opts.placeholder ? dim(opts.placeholder) + '\n' + formattedBar + ' ' : '',
94
+ newLineBefore: opts.addNewLineBefore ?? false,
95
+ newLineAfter: opts.addNewLineAfter ?? true,
96
+ },
97
+ M_INFO: {
98
+ symbol: '',
99
+ prefix: greenBright(symbols.info),
100
+ suffix: '',
101
+ newLineBefore: opts.addNewLineBefore ?? false,
102
+ newLineAfter: opts.addNewLineAfter ?? true,
103
+ },
104
+ M_ERROR: {
105
+ symbol: '',
106
+ prefix: redBright(symbols.step_error),
107
+ newLineBefore: opts.addNewLineBefore ?? false,
108
+ newLineAfter: opts.addNewLineAfter ?? true,
109
+ },
110
+ M_END: {
111
+ symbol: '',
112
+ prefix: greenBright(symbols.info),
113
+ suffix: opts.border ? `
114
114
  ${formattedBar}
115
115
  ${prefixEndLine}${suffixEndLine}
116
- ` : "",
117
- newLineBefore: opts.addNewLineBefore ?? false,
118
- newLineAfter: opts.addNewLineAfter ?? false
119
- },
120
- M_NEWLINE: {
121
- symbol: "",
122
- prefix: formattedBar,
123
- newLineBefore: opts.addNewLineBefore ?? false,
124
- newLineAfter: opts.addNewLineAfter ?? false
116
+ ` : '',
117
+ newLineBefore: opts.addNewLineBefore ?? false,
118
+ newLineAfter: opts.addNewLineAfter ?? false,
119
+ },
120
+ M_NEWLINE: {
121
+ symbol: '',
122
+ prefix: formattedBar,
123
+ newLineBefore: opts.addNewLineBefore ?? false,
124
+ newLineAfter: opts.addNewLineAfter ?? false,
125
+ },
126
+ };
127
+
128
+ const config = MSG_CONFIGS[opts.type];
129
+
130
+ if (!config) {
131
+ throw Error(`Invalid message type: ${opts.type}`);
125
132
  }
126
- };
127
- const config = MSG_CONFIGS[opts.type];
128
- if (!config) {
129
- throw new Error(`Invalid message type: ${opts.type}`);
130
- }
131
- const {
132
- symbol = "",
133
- prefix = "",
134
- suffix = "",
135
- newLineBefore = false,
136
- newLineAfter = false
137
- } = config;
138
- const formattedPrefix = prefix ? `${prefix}${opts.type === "M_START" ? " " : " "}` : "";
139
- const border = applyStyles(symbols.middle, opts.borderColor);
140
- const borderError = applyStyles(symbols.middle, "red");
141
- const borderWithSpace = `${border} `;
142
- let formattedTitle = "";
143
- if (opts.title) {
144
- formattedTitle = applyStyles(
145
- opts.title,
146
- opts.titleColor,
147
- opts.titleTypography,
148
- opts.titleVariant,
149
- opts.borderColor
150
- );
151
- if (opts.hint) {
152
- formattedTitle += `
133
+
134
+ const {
135
+ symbol = '',
136
+ prefix = '',
137
+ suffix = '',
138
+ newLineBefore = false,
139
+ newLineAfter = false,
140
+ } = config;
141
+
142
+ const formattedPrefix = prefix ? `${prefix}${opts.type === 'M_START' ? ' ' : ' '}` : '';
143
+ const border = applyStyles(symbols.middle, opts.borderColor);
144
+ const borderError = applyStyles(symbols.middle, 'red');
145
+ const borderWithSpace = `${border} `;
146
+ let formattedTitle = '';
147
+
148
+ if (opts.title) {
149
+ formattedTitle = applyStyles(opts.title, opts.titleColor, opts.titleTypography, opts.titleVariant, opts.borderColor);
150
+ if (opts.hint) {
151
+ formattedTitle += `
153
152
  ${borderWithSpace}${colorMap.blueBright(opts.hint)}`;
154
- }
155
- if (opts.errorMessage) {
156
- const formattedError = applyStyles(
157
- opts.errorMessage,
158
- "red",
159
- "bold",
160
- "",
161
- opts.borderColor
162
- );
163
- formattedTitle += `
153
+ }
154
+
155
+ if (opts.errorMessage) {
156
+ const formattedError = applyStyles(opts.errorMessage, 'red', 'bold', '', opts.borderColor);
157
+
158
+ formattedTitle += `
164
159
  ${borderError} ${formattedError}`;
160
+ }
165
161
  }
166
- }
167
- let formattedContent = "";
168
- if (opts.content) {
169
- const contentLines = opts.content.split("\n");
170
- formattedContent = contentLines.map((line) => {
171
- const styledLine = applyStyles(
172
- line,
173
- opts.contentColor,
174
- opts.contentTypography,
175
- opts.contentVariant,
176
- opts.borderColor
177
- );
178
- if (opts.type !== "M_START") {
179
- return `${borderWithSpace}${styledLine}`;
180
- } else {
181
- return styledLine;
182
- }
183
- }).join("\n");
184
- }
185
- const text = [formattedTitle, formattedContent].filter(Boolean).join(`
162
+
163
+ let formattedContent = '';
164
+
165
+ if (opts.content) {
166
+ const contentLines = opts.content.split('\n');
167
+
168
+ formattedContent = contentLines
169
+ .map((line) => {
170
+ const styledLine = applyStyles(line, opts.contentColor, opts.contentTypography, opts.contentVariant, opts.borderColor);
171
+
172
+ if (opts.type !== 'M_START') {
173
+ return `${borderWithSpace}${styledLine}`;
174
+ }
175
+
176
+ return styledLine;
177
+ })
178
+ .join('\n');
179
+ }
180
+
181
+ const text = [formattedTitle, formattedContent]
182
+ .filter(Boolean)
183
+ .join(`
186
184
  `);
187
- return [
188
- symbol,
189
- newLineBefore ? `
190
- ${formattedBar} ` : "",
191
- formattedPrefix,
192
- text,
193
- newLineAfter ? `
194
- ${formattedBar} ` : "",
195
- suffix
196
- ].filter(Boolean).join("");
197
- }
198
- export function msg(opts) {
199
- console[opts.type === "M_ERROR" ? "error" : "log"](fmt(opts));
185
+
186
+ return [
187
+ symbol,
188
+ newLineBefore ? `
189
+ ${formattedBar} ` : '',
190
+ formattedPrefix,
191
+ text,
192
+ newLineAfter ? `
193
+ ${formattedBar} ` : '',
194
+ suffix,
195
+ ]
196
+ .filter(Boolean)
197
+ .join('');
200
198
  }
199
+
200
+ export function msg() {}
@@ -1,22 +1,26 @@
1
- import process from "node:process";
1
+ import process from 'node:process';
2
+
2
3
  const platforms = {
3
- linux: process.platform !== "win32",
4
- win32: process.platform === "win32"
4
+ linux: process.platform !== 'win32',
5
+ win32: process.platform === 'win32',
5
6
  };
7
+
6
8
  const terminals = {
7
- linuxConsoleKernel: process.env.TERM !== "linux",
8
- windowsTerminal: Boolean(process.env.WT_SESSION),
9
- terminusSublimeOld: Boolean(process.env.TERMINUS_SUBLIME),
10
- cmderTerminal: process.env.ConEmuTask === "{cmd::Cmder}",
11
- terminusSublimeNew: process.env.TERM_PROGRAM === "Terminus-Sublime",
12
- visualStudioCode: process.env.TERM_PROGRAM === "vscode",
13
- xterm256color: process.env.TERM === "xterm-256color",
14
- alacrittyTerminal: process.env.TERM === "alacritty",
15
- jetbrainsJediTerm: process.env.TERMINAL_EMULATOR === "JetBrains-JediTerm"
9
+ linuxConsoleKernel: process.env.TERM !== 'linux',
10
+ windowsTerminal: Boolean(process.env.WT_SESSION),
11
+ terminusSublimeOld: Boolean(process.env.TERMINUS_SUBLIME),
12
+ cmderTerminal: process.env.ConEmuTask === '{cmd::Cmder}',
13
+ terminusSublimeNew: process.env.TERM_PROGRAM === 'Terminus-Sublime',
14
+ visualStudioCode: process.env.TERM_PROGRAM === 'vscode',
15
+ xterm256color: process.env.TERM === 'xterm-256color',
16
+ alacrittyTerminal: process.env.TERM === 'alacritty',
17
+ jetbrainsJediTerm: process.env.TERMINAL_EMULATOR === 'JetBrains-JediTerm',
16
18
  };
19
+
17
20
  export function isUnicodeSupported() {
18
- if (platforms.linux) {
19
- return terminals.linuxConsoleKernel;
20
- }
21
- return terminals.windowsTerminal || terminals.terminusSublimeOld || terminals.cmderTerminal || terminals.terminusSublimeNew || terminals.visualStudioCode || terminals.xterm256color || terminals.alacrittyTerminal || terminals.jetbrainsJediTerm;
21
+ if (platforms.linux) {
22
+ return terminals.linuxConsoleKernel;
23
+ }
24
+
25
+ return terminals.windowsTerminal || terminals.terminusSublimeOld || terminals.cmderTerminal || terminals.terminusSublimeNew || terminals.visualStudioCode || terminals.xterm256color || terminals.alacrittyTerminal || terminals.jetbrainsJediTerm;
22
26
  }