linecraft 0.2.2 → 0.2.4

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 (128) hide show
  1. package/README.md +43 -0
  2. package/lib/component.d.ts +1 -1
  3. package/lib/component.d.ts.map +1 -1
  4. package/lib/components/code-debug.d.ts +6 -2
  5. package/lib/components/code-debug.d.ts.map +1 -1
  6. package/lib/components/code-debug.js +164 -104
  7. package/lib/components/code-debug.js.map +1 -1
  8. package/lib/components/fill.d.ts +2 -2
  9. package/lib/components/fill.d.ts.map +1 -1
  10. package/lib/components/fill.js +1 -1
  11. package/lib/components/fill.js.map +1 -1
  12. package/lib/components/index.d.ts +2 -2
  13. package/lib/components/index.d.ts.map +1 -1
  14. package/lib/components/index.js +2 -2
  15. package/lib/components/index.js.map +1 -1
  16. package/lib/components/progress-bar-grid.d.ts +2 -2
  17. package/lib/components/progress-bar-grid.d.ts.map +1 -1
  18. package/lib/components/progress-bar-grid.js +5 -4
  19. package/lib/components/progress-bar-grid.js.map +1 -1
  20. package/lib/components/progress-bar-grid.test.js +10 -9
  21. package/lib/components/progress-bar-grid.test.js.map +1 -1
  22. package/lib/components/prompt.d.ts +2 -2
  23. package/lib/components/prompt.d.ts.map +1 -1
  24. package/lib/components/prompt.js +3 -2
  25. package/lib/components/prompt.js.map +1 -1
  26. package/lib/components/section.d.ts +2 -2
  27. package/lib/components/section.d.ts.map +1 -1
  28. package/lib/components/section.js +2 -2
  29. package/lib/components/section.js.map +1 -1
  30. package/lib/components/segments.d.ts +2 -2
  31. package/lib/components/segments.d.ts.map +1 -1
  32. package/lib/components/segments.js +2 -9
  33. package/lib/components/segments.js.map +1 -1
  34. package/lib/components/spinner.d.ts +2 -2
  35. package/lib/components/spinner.d.ts.map +1 -1
  36. package/lib/components/spinner.js +1 -1
  37. package/lib/components/spinner.js.map +1 -1
  38. package/lib/components/style.test.js +14 -13
  39. package/lib/components/style.test.js.map +1 -1
  40. package/lib/components/styled.d.ts +2 -2
  41. package/lib/components/styled.d.ts.map +1 -1
  42. package/lib/components/styled.js +4 -3
  43. package/lib/components/styled.js.map +1 -1
  44. package/lib/components/styled.test.js +14 -13
  45. package/lib/components/styled.test.js.map +1 -1
  46. package/lib/index.d.ts +18 -18
  47. package/lib/index.d.ts.map +1 -1
  48. package/lib/index.js +12 -12
  49. package/lib/index.js.map +1 -1
  50. package/lib/index.test.js +2 -2
  51. package/lib/index.test.js.map +1 -1
  52. package/lib/layout/grid.d.ts +2 -2
  53. package/lib/layout/grid.d.ts.map +1 -1
  54. package/lib/layout/grid.js +77 -40
  55. package/lib/layout/grid.js.map +1 -1
  56. package/lib/layout/grid.test.js +7 -7
  57. package/lib/layout/grid.test.js.map +1 -1
  58. package/lib/native/ansi.test.js +1 -1
  59. package/lib/native/ansi.test.js.map +1 -1
  60. package/lib/native/buffer.test.js +1 -1
  61. package/lib/native/buffer.test.js.map +1 -1
  62. package/lib/native/diff.d.ts.map +1 -1
  63. package/lib/native/diff.js +2 -1
  64. package/lib/native/diff.js.map +1 -1
  65. package/lib/native/diff.test.js +1 -1
  66. package/lib/native/diff.test.js.map +1 -1
  67. package/lib/native/region-renderer-debug.test.js +1 -1
  68. package/lib/native/region-renderer-debug.test.js.map +1 -1
  69. package/lib/native/region-renderer.d.ts +2 -2
  70. package/lib/native/region-renderer.d.ts.map +1 -1
  71. package/lib/native/region-renderer.js +15 -15
  72. package/lib/native/region-renderer.js.map +1 -1
  73. package/lib/native/region-simple.d.ts.map +1 -1
  74. package/lib/native/region-simple.js +5 -5
  75. package/lib/native/region-simple.js.map +1 -1
  76. package/lib/native/region.test.js +1 -1
  77. package/lib/native/region.test.js.map +1 -1
  78. package/lib/native/throttle.test.js +1 -1
  79. package/lib/native/throttle.test.js.map +1 -1
  80. package/lib/native.d.ts +5 -5
  81. package/lib/native.d.ts.map +1 -1
  82. package/lib/native.js +5 -5
  83. package/lib/native.js.map +1 -1
  84. package/lib/region-resize.test.js +2 -2
  85. package/lib/region-resize.test.js.map +1 -1
  86. package/lib/region.d.ts +5 -5
  87. package/lib/region.d.ts.map +1 -1
  88. package/lib/region.js +18 -23
  89. package/lib/region.js.map +1 -1
  90. package/lib/region.test.js +1 -1
  91. package/lib/region.test.js.map +1 -1
  92. package/lib/region.visual.test.js +1 -1
  93. package/lib/region.visual.test.js.map +1 -1
  94. package/lib/test-helpers/mock-region.d.ts +1 -1
  95. package/lib/test-helpers/mock-region.d.ts.map +1 -1
  96. package/lib/types.d.ts +1 -0
  97. package/lib/types.d.ts.map +1 -1
  98. package/lib/utils/colors-simple.d.ts +1 -1
  99. package/lib/utils/colors-simple.d.ts.map +1 -1
  100. package/lib/utils/colors-simple.js +1 -1
  101. package/lib/utils/colors-simple.js.map +1 -1
  102. package/lib/utils/colors.d.ts +1 -1
  103. package/lib/utils/colors.d.ts.map +1 -1
  104. package/lib/utils/colors.js +3 -0
  105. package/lib/utils/colors.js.map +1 -1
  106. package/lib/utils/colors.test.js +1 -1
  107. package/lib/utils/colors.test.js.map +1 -1
  108. package/lib/utils/cursor-position.d.ts.map +1 -1
  109. package/lib/utils/cursor-position.js +2 -4
  110. package/lib/utils/cursor-position.js.map +1 -1
  111. package/lib/utils/prompt.d.ts +2 -2
  112. package/lib/utils/prompt.d.ts.map +1 -1
  113. package/lib/utils/prompt.js +5 -5
  114. package/lib/utils/prompt.js.map +1 -1
  115. package/lib/utils/terminal-theme.d.ts +5 -4
  116. package/lib/utils/terminal-theme.d.ts.map +1 -1
  117. package/lib/utils/terminal-theme.js +7 -6
  118. package/lib/utils/terminal-theme.js.map +1 -1
  119. package/lib/utils/text.d.ts +27 -0
  120. package/lib/utils/text.d.ts.map +1 -1
  121. package/lib/utils/text.js +125 -0
  122. package/lib/utils/text.js.map +1 -1
  123. package/lib/utils/wait-for-spacebar.d.ts +1 -1
  124. package/lib/utils/wait-for-spacebar.d.ts.map +1 -1
  125. package/lib/utils/wait-for-spacebar.js +3 -3
  126. package/lib/utils/wait-for-spacebar.js.map +1 -1
  127. package/package.json +7 -3
  128. package/lib/native/region.js +0 -426
package/README.md CHANGED
@@ -41,6 +41,49 @@ r.set(
41
41
  r.destroy(true);
42
42
  ```
43
43
 
44
+ ## Terminal Management Features
45
+
46
+ Linecraft provides advanced terminal management capabilities that go beyond basic terminal logging:
47
+
48
+ ### Color-Aware Line Wrapping
49
+
50
+ Unlike basic terminal output, Linecraft's text wrapping is **fully ANSI-aware**. When text wraps across multiple lines, ANSI color codes are preserved and correctly re-applied to each wrapped line. This means:
51
+
52
+ - **Color preservation**: Colored text maintains its styling across line breaks
53
+ - **Accurate width calculation**: Wrapping is based on visible character width, not raw string length
54
+ - **Smart word breaking**: Text never breaks mid-word, ensuring readability
55
+ - **Multi-line styling**: Complex styled text (like error codes with underlines) wraps correctly
56
+
57
+ This is especially important for components like `CodeDebug`, where error messages with colored error codes need to wrap across multiple lines while maintaining their visual styling.
58
+
59
+ ### ANSI Code Handling
60
+
61
+ Linecraft correctly handles ANSI escape sequences throughout the rendering pipeline:
62
+
63
+ - **Width measurement**: All width calculations account for ANSI codes (colors, styles, cursor movements)
64
+ - **Text splitting**: When truncating or splitting text, ANSI codes are preserved and re-applied
65
+ - **Grid layouts**: Grid components correctly measure and align ANSI-styled content
66
+ - **Text alignment**: Alignment operations work correctly with styled text
67
+
68
+ ### Terminal State Management
69
+
70
+ Linecraft manages terminal state to prevent common terminal UI issues:
71
+
72
+ - **Auto-wrap disabled**: Prevents unwanted line breaks from terminal auto-wrapping
73
+ - **Cursor positioning**: Precise cursor control using absolute positioning
74
+ - **Viewport awareness**: Only renders visible content within the terminal viewport
75
+ - **Clean restoration**: Properly restores terminal state on cleanup
76
+
77
+ ### Responsive Layouts
78
+
79
+ Components automatically adapt to terminal size changes:
80
+
81
+ - **Grid layouts**: Flex columns adjust to available width
82
+ - **Text wrapping**: Wraps at appropriate boundaries based on terminal width
83
+ - **Component sizing**: Components receive updated `availableWidth` context on resize
84
+
85
+ These features make Linecraft suitable for building complex, interactive terminal UIs that work reliably across different terminal sizes and configurations.
86
+
44
87
  ## Performance
45
88
 
46
89
  Linecraft is built for high-performance terminal rendering from Node.js. The renderer includes several optimizations to minimize terminal updates and CPU usage:
@@ -1,4 +1,4 @@
1
- import type { TerminalRegion } from './region';
1
+ import type { TerminalRegion } from './region.js';
2
2
  /**
3
3
  * RenderContext provides information needed for rendering
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,CAAC,CAAC,GAAG,EAAE,aAAa,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,GAClD;IAAE,MAAM,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;CAAE,CAAC;AAEjE;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAKhG;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAChC,aAAa,CAKf;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,EAAE,EACrB,GAAG,EAAE,aAAa,GACjB,MAAM,EAAE,CAgBV"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,CAAC,CAAC,GAAG,EAAE,aAAa,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,GAClD;IAAE,MAAM,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;CAAE,CAAC;AAEjE;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAKhG;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAChC,aAAa,CAKf;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,EAAE,EACrB,GAAG,EAAE,aAAa,GACjB,MAAM,EAAE,CAgBV"}
@@ -1,4 +1,4 @@
1
- import type { Component } from '../component';
1
+ import type { Component } from '../component.js';
2
2
  export type CodeDebugType = 'error' | 'warning' | 'info';
3
3
  export interface CodeDebugOptions {
4
4
  /** Line number where error starts (1-based) */
@@ -15,8 +15,12 @@ export interface CodeDebugOptions {
15
15
  errorLine: string;
16
16
  /** Source code line after the error line (optional) */
17
17
  lineAfter?: string | null;
18
- /** Error or warning message */
18
+ /** Error or warning message (long message shown at top) */
19
19
  message: string;
20
+ /** Error code/preamble to show before message (e.g., "eslint-plugin-unicorn(no-useless-length-check)") (optional) */
21
+ errorCode?: string;
22
+ /** Short message to show connected to underline (optional) */
23
+ shortMessage?: string;
20
24
  /** Short file path to display */
21
25
  filePath: string;
22
26
  /** Full resolved file path for clickable link */
@@ -1 +1 @@
1
- {"version":3,"file":"code-debug.d.ts","sourceRoot":"","sources":["../../src/components/code-debug.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,cAAc,CAAC;AAS7D,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiID;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CA+O9D"}
1
+ {"version":3,"file":"code-debug.d.ts","sourceRoot":"","sources":["../../src/components/code-debug.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAWhE,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,qHAAqH;IACrH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiID;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAgT9D"}
@@ -1,10 +1,9 @@
1
1
  // Code debug component for displaying code errors/warnings with context
2
- import { callComponent } from '../component';
3
- import { applyStyle } from '../utils/colors';
4
- import { wrapText, stripAnsi, truncateToWidth } from '../utils/text';
5
- import { fileLink } from '../utils/file-link';
6
- import { Section } from './section';
7
- import { getColoredLineNumberColor } from '../utils/terminal-theme';
2
+ import { callComponent } from '../component.js';
3
+ import { applyStyle } from '../utils/colors.js';
4
+ import { wrapText, stripAnsi, truncateToWidth } from '../utils/text.js';
5
+ import { grid as Grid } from '../layout/grid.js';
6
+ import { getLineNumberColor, isDarkTerminal } from '../utils/terminal-theme.js';
8
7
  function calculateVisibleRange(code, availableWidth, targetStartCol, targetEndCol, maxColumn) {
9
8
  const plainCode = stripAnsi(code);
10
9
  const codeLength = plainCode.length;
@@ -101,7 +100,7 @@ function truncateCodeLine(code, visibleRange, availableWidth) {
101
100
  */
102
101
  export function CodeDebug(options) {
103
102
  return (ctx) => {
104
- const { startLine, startColumn, endLine, endColumn, lineBefore, errorLine, lineAfter, message, filePath, fullPath, baseDir, type = 'error', maxColumn, } = options;
103
+ const { startLine, startColumn, endLine, endColumn, lineBefore, errorLine, lineAfter, message, errorCode, shortMessage, filePath, fullPath, baseDir, type = 'error', maxColumn, } = options;
105
104
  const availableWidth = ctx.availableWidth;
106
105
  // Color scheme based on type
107
106
  const colors = {
@@ -110,8 +109,8 @@ export function CodeDebug(options) {
110
109
  info: { primary: 'cyan', secondary: 'brightCyan', message: 'brightCyan' },
111
110
  };
112
111
  const colorScheme = colors[type];
113
- // Get appropriate line number color based on terminal theme
114
- const lineNumberColor = getColoredLineNumberColor(); // For line numbers (colored)
112
+ // Get appropriate line number color based on terminal theme (muted color)
113
+ const lineNumberColor = getLineNumberColor(); // For line numbers (muted)
115
114
  // Calculate available width for code (reserve space for line numbers, separator, and spaces)
116
115
  // Calculate the maximum width needed for any line number that will be displayed
117
116
  const lineNumbersToCheck = [startLine];
@@ -122,7 +121,7 @@ export function CodeDebug(options) {
122
121
  lineNumbersToCheck.push(startLine + 1);
123
122
  }
124
123
  const lineNumWidth = Math.max(...lineNumbersToCheck.map(n => String(n).length));
125
- const codeAreaWidth = availableWidth - lineNumWidth - 2; // -2 for " " (2 spaces)
124
+ const codeAreaWidth = availableWidth - lineNumWidth - 3; // -3 for "" (space, pipe, space)
126
125
  // Calculate visible range for error line
127
126
  const targetEndCol = endColumn ?? startColumn;
128
127
  const plainErrorLine = stripAnsi(errorLine);
@@ -172,123 +171,184 @@ export function CodeDebug(options) {
172
171
  return originalCol;
173
172
  }
174
173
  };
175
- const arrowCol = mapColumnToDisplay(startColumn);
176
- let underlineStartCol = arrowCol;
177
- let underlineEndCol = arrowCol;
178
- if (endColumn) {
179
- underlineStartCol = mapColumnToDisplay(startColumn);
180
- underlineEndCol = mapColumnToDisplay(endColumn);
181
- // Ensure valid range
182
- if (underlineEndCol < underlineStartCol) {
183
- underlineEndCol = underlineStartCol;
174
+ // Build the code block lines
175
+ const codeLines = [];
176
+ // Icon and message at the top (Oxlint style)
177
+ const icon = type === 'error' ? '✖' : type === 'warning' ? '⚠' : 'ℹ';
178
+ const iconStyled = applyStyle(icon, { color: colorScheme.message });
179
+ // Build the message text with optional error code
180
+ let messageText = message;
181
+ if (errorCode) {
182
+ // Error code with underline - only underline the code, not the colon and space
183
+ const errorCodeStyled = applyStyle(errorCode, {
184
+ color: colorScheme.message,
185
+ underline: true,
186
+ bold: true
187
+ });
188
+ messageText = errorCodeStyled + ': ' + applyStyle(message, { color: colorScheme.message, bold: true });
189
+ }
190
+ else {
191
+ messageText = applyStyle(message, { color: colorScheme.message, bold: true });
192
+ }
193
+ // Use grid to layout: [icon (1 char)] [message (flex)]
194
+ // This ensures the message doesn't overflow under the icon
195
+ // Calculate available width for message (icon + gap + message column)
196
+ const iconWidth = 1; // Icon is 1 character
197
+ const gapWidth = 1; // columnGap is 1
198
+ const messageAvailableWidth = ctx.availableWidth - iconWidth - gapWidth;
199
+ // Wrap the message text to fit in the available width
200
+ // First, get the plain text to calculate wrapping
201
+ const plainMessageText = stripAnsi(messageText);
202
+ const wrappedPlainLines = wrapText(plainMessageText, messageAvailableWidth);
203
+ // Now we need to preserve ANSI codes in the wrapped lines
204
+ // For simplicity, if the message wraps, we'll create a component that returns multiple lines
205
+ const messageComponent = (msgCtx) => {
206
+ // Recalculate available width for this context
207
+ const msgWidth = msgCtx.availableWidth - iconWidth - gapWidth;
208
+ const wrapped = wrapText(plainMessageText, msgWidth);
209
+ // For each wrapped line, we need to preserve the ANSI styling
210
+ // Since the message text has ANSI codes, we need to split it while preserving codes
211
+ if (wrapped.length === 1) {
212
+ // Single line - return as is
213
+ return messageText;
184
214
  }
215
+ // Multiple lines - we need to split the styled text
216
+ // This is complex because we need to preserve ANSI codes across splits
217
+ // For now, let's use a simpler approach: wrap the plain text and re-apply styling
218
+ const wrappedStyled = [];
219
+ let currentPos = 0;
220
+ for (const wrappedLine of wrapped) {
221
+ // Find the corresponding portion in the original styled text
222
+ // We'll use a simple approach: measure visible characters
223
+ const lineLength = wrappedLine.length;
224
+ let styledPortion = '';
225
+ let visibleCount = 0;
226
+ let idx = currentPos;
227
+ while (idx < messageText.length && visibleCount < lineLength) {
228
+ if (messageText[idx] === '\x1b') {
229
+ // ANSI code - include it
230
+ let end = idx + 1;
231
+ while (end < messageText.length && messageText[end] !== 'm') {
232
+ end++;
233
+ }
234
+ if (end < messageText.length) {
235
+ end++;
236
+ }
237
+ styledPortion += messageText.substring(idx, end);
238
+ idx = end;
239
+ }
240
+ else {
241
+ styledPortion += messageText[idx];
242
+ idx++;
243
+ visibleCount++;
244
+ }
245
+ }
246
+ wrappedStyled.push(styledPortion);
247
+ currentPos = idx;
248
+ }
249
+ return wrappedStyled;
250
+ };
251
+ const messageGrid = Grid({ template: [1, '1*'], columnGap: 1 }, iconStyled, messageComponent);
252
+ const messageResult = callComponent(messageGrid, ctx);
253
+ if (messageResult && typeof messageResult === 'string') {
254
+ codeLines.push(messageResult);
185
255
  }
186
- // Build the code block lines (will be wrapped in Section)
187
- const codeLines = [];
188
- // Title line: "Error in {filename}" or type-specific title
256
+ else if (Array.isArray(messageResult)) {
257
+ codeLines.push(...messageResult);
258
+ }
259
+ else {
260
+ // Fallback if grid returns null - just concatenate with space
261
+ codeLines.push(iconStyled + ' ' + messageText);
262
+ }
263
+ // Add blank line after message before code block
264
+ codeLines.push('');
265
+ // Filename in brackets with line:column, connected with curved border (Oxlint style)
266
+ // The curve should align with the line number column (accounting for line number width)
189
267
  const pathText = baseDir && filePath.startsWith(baseDir)
190
268
  ? filePath.substring(baseDir.length + 1)
191
269
  : filePath;
192
- const errorTypeTitle = type === 'error' ? 'Error' : type === 'warning' ? 'Warning' : 'Info';
193
- const titleLine = applyStyle(`${errorTypeTitle} in ${pathText}`, { color: colorScheme.secondary, bold: true });
194
- codeLines.push(titleLine);
270
+ // Only make the filename blue/bold, not the brackets, colons, or line/column numbers
271
+ const locationText = '[' +
272
+ applyStyle(pathText, { color: 'blue', bold: true }) +
273
+ ':' +
274
+ String(startLine) +
275
+ ':' +
276
+ String(startColumn) +
277
+ ']';
278
+ // Align curve with line numbers: lineNumWidth spaces + 1 space (for the space after line number)
279
+ const curveIndent = ' '.repeat(lineNumWidth + 1);
280
+ const locationLine = curveIndent + applyStyle('╭─', { color: 'brightBlack' }) + locationText;
281
+ codeLines.push(locationLine);
195
282
  // Line before (if exists)
196
283
  if (lineBefore !== null && lineBefore !== undefined) {
197
284
  const beforeLineNum = String(startLine - 1);
198
285
  const beforeLineNumPadded = beforeLineNum.padStart(lineNumWidth);
199
286
  const truncatedBefore = truncateToWidth(lineBefore, codeAreaWidth);
200
- codeLines.push(applyStyle(`${beforeLineNumPadded} `, { color: lineNumberColor }) +
201
- truncatedBefore);
287
+ codeLines.push(applyStyle(`${beforeLineNumPadded} `, { color: lineNumberColor, dim: isDarkTerminal() }) +
288
+ applyStyle('│ ', { color: 'brightBlack' }) + truncatedBefore);
202
289
  }
203
- // Error line
290
+ // Error line (with space before code)
204
291
  const errorLineNum = String(startLine);
205
292
  const errorLineNumPadded = errorLineNum.padStart(lineNumWidth);
206
- let errorLineDisplay = applyStyle(`${errorLineNumPadded} `, { color: lineNumberColor }) +
207
- truncatedErrorLine;
293
+ let errorLineDisplay = applyStyle(`${errorLineNumPadded} `, { color: lineNumberColor, dim: isDarkTerminal() }) +
294
+ applyStyle('│ ', { color: 'brightBlack' }) + truncatedErrorLine;
208
295
  codeLines.push(errorLineDisplay);
209
- // Arrow/underline line
210
- let indicatorLine = ' '.repeat(lineNumWidth) + ' ';
211
- indicatorLine += ' '.repeat(Math.max(0, arrowCol - 1));
212
- // Calculate where the connecting line should come down from (middle of underline or arrow position)
213
- const connectCol = endColumn && underlineEndCol > underlineStartCol
214
- ? Math.floor((underlineStartCol + underlineEndCol) / 2) // Middle of underline
215
- : arrowCol; // Position of arrow
216
- if (endColumn && underlineEndCol > underlineStartCol) {
217
- // Underline with curved edges facing up and T-bar in the middle: ╰──┬──╯
218
- const underlineLength = underlineEndCol - underlineStartCol;
219
- const connectPosInUnderline = connectCol - underlineStartCol; // Position within the underline
220
- if (underlineLength >= 3) {
221
- // Build underline with T-bar: left curve, dashes, T-bar, dashes, right curve
222
- const leftPart = '─'.repeat(Math.max(0, connectPosInUnderline - 1));
223
- const rightPart = '─'.repeat(Math.max(0, underlineLength - connectPosInUnderline - 1));
224
- indicatorLine += applyStyle('┖' + leftPart + '┬' + rightPart + '┚', { color: colorScheme.primary });
225
- }
226
- else if (underlineLength === 2) {
227
- // Too short for T-bar, just use T in middle
228
- indicatorLine += applyStyle('┖┬┚', { color: colorScheme.primary });
229
- }
230
- else {
231
- // Single character, just use T
232
- indicatorLine += applyStyle('╿', { color: colorScheme.primary });
233
- }
296
+ // Underline line (Oxlint style)
297
+ // Format: "[lineNumWidth spaces][1 space][│][1 space][dots][underline]"
298
+ // Calculate positions relative to the code (after "│ ")
299
+ const underlineStartInCode = mapColumnToDisplay(startColumn);
300
+ const underlineEndInCode = endColumn ? mapColumnToDisplay(endColumn) : underlineStartInCode;
301
+ const underlineLength = underlineEndInCode - underlineStartInCode + 1;
302
+ // Spaces to align with the start of the underline (position in code, 1-based, minus 1 for 0-based)
303
+ const spacesBefore = Math.max(0, underlineStartInCode - 1);
304
+ // Underline line: line number width + space + + space + spaces + underline
305
+ let underlineLine = ' '.repeat(lineNumWidth) + ' ' + applyStyle('│', { color: 'brightBlack' }) + ' ';
306
+ if (shortMessage && underlineLength > 1) {
307
+ // Multi-character underline with T-bar in the middle for short message
308
+ const connectPosInUnderline = Math.floor(underlineLength / 2);
309
+ const leftPart = '─'.repeat(connectPosInUnderline);
310
+ const rightPart = '─'.repeat(underlineLength - connectPosInUnderline - 1);
311
+ underlineLine += ' '.repeat(spacesBefore) +
312
+ applyStyle(leftPart + '┬' + rightPart, { color: colorScheme.primary });
313
+ }
314
+ else if (shortMessage) {
315
+ // Single character with T-bar for short message
316
+ underlineLine += ' '.repeat(spacesBefore) +
317
+ applyStyle('┬', { color: colorScheme.primary });
234
318
  }
235
319
  else {
236
- // Single point - use (T pointing up) which has horizontal bar pointing to code, vertical line going down
237
- indicatorLine += applyStyle('', { color: colorScheme.primary });
320
+ // No short message, just underline the code
321
+ const underlineChars = ''.repeat(underlineLength);
322
+ underlineLine += ' '.repeat(spacesBefore) +
323
+ applyStyle(underlineChars, { color: colorScheme.primary });
238
324
  }
239
- codeLines.push(indicatorLine);
240
- // Horizontal line to message (directly from T-bar or ┴, no extra vertical line)
241
- const horizontalLine = ' '.repeat(lineNumWidth) + ' ';
242
- const horizontalSpaces = ' '.repeat(Math.max(0, connectCol - 1));
243
- const horizontalBar = applyStyle('└', { color: colorScheme.primary });
244
- const horizontalDash = applyStyle('─ ', { color: colorScheme.primary });
245
- const messageStart = horizontalLine + horizontalSpaces + horizontalBar + horizontalDash;
246
- // Message lines
247
- const messageWidth = availableWidth - stripAnsi(messageStart).length;
248
- const messageLines = wrapText(message, messageWidth);
249
- // First message line with connecting line
250
- if (messageLines.length > 0) {
251
- codeLines.push(messageStart +
252
- applyStyle(messageLines[0], { color: colorScheme.message }));
253
- // Remaining message lines (indented to start of first line)
254
- const messageIndent = ' '.repeat(stripAnsi(messageStart).length);
255
- for (let i = 1; i < messageLines.length; i++) {
256
- codeLines.push(messageIndent + applyStyle(messageLines[i], { color: colorScheme.message }));
257
- }
325
+ codeLines.push(underlineLine);
326
+ // Short message connected to underline (if provided)
327
+ if (shortMessage) {
328
+ const connectCol = underlineLength > 1
329
+ ? underlineStartInCode + Math.floor(underlineLength / 2)
330
+ : underlineStartInCode;
331
+ // Short message line: line number width + space + + space + spaces + connector + message
332
+ const shortMessageLine = ' '.repeat(lineNumWidth) + ' ' + applyStyle('│', { color: 'brightBlack' }) + ' ' +
333
+ ' '.repeat(Math.max(0, connectCol - 1)) +
334
+ applyStyle('╰── ', { color: colorScheme.primary }) +
335
+ applyStyle(shortMessage, { color: colorScheme.message });
336
+ codeLines.push(shortMessageLine);
258
337
  }
259
- // Line after (if exists) - comes after the message
338
+ // Line after (if exists)
260
339
  if (lineAfter !== null && lineAfter !== undefined) {
261
- // Add empty line after message (within section)
262
- codeLines.push('');
263
340
  const afterLineNum = String(startLine + 1);
264
341
  const afterLineNumPadded = afterLineNum.padStart(lineNumWidth);
265
342
  const truncatedAfter = truncateToWidth(lineAfter, codeAreaWidth);
266
- codeLines.push(applyStyle(`${afterLineNumPadded} `, { color: lineNumberColor }) +
267
- truncatedAfter);
268
- // Add another empty line after line after (within section)
269
- codeLines.push('');
343
+ codeLines.push(applyStyle(`${afterLineNumPadded} `, { color: lineNumberColor, dim: isDarkTerminal() }) +
344
+ applyStyle('│ ', { color: 'brightBlack' }) + truncatedAfter);
270
345
  }
271
- // Wrap in Section with left border only, no padding
272
- const filePathDisplay = (() => {
273
- const pathText = baseDir && filePath.startsWith(baseDir)
274
- ? filePath.substring(baseDir.length + 1)
275
- : filePath;
276
- const pathWithLink = fileLink(fullPath, pathText);
277
- const lineNumText = `:${startLine}${endLine && endLine !== startLine ? `:${endLine}` : ''}`;
278
- return pathWithLink + lineNumText;
279
- })();
280
- // Use Section to wrap the code block with left border
281
- const sectionComponent = Section({
282
- title: filePathDisplay,
283
- titleColor: colorScheme.secondary,
284
- left: true,
285
- right: false,
286
- top: false,
287
- bottom: false,
288
- padding: 0,
289
- borderColor: colorScheme.primary,
290
- }, (ctx) => codeLines);
291
- return callComponent(sectionComponent, ctx);
346
+ // Bottom curve to close the box (Oxlint style)
347
+ const bottomCurveIndent = ' '.repeat(lineNumWidth + 1);
348
+ const bottomCurve = bottomCurveIndent + applyStyle('╰─', { color: 'brightBlack' });
349
+ codeLines.push(bottomCurve);
350
+ // Return lines directly (no Section wrapper for Oxlint style)
351
+ return codeLines;
292
352
  };
293
353
  }
294
354
  //# sourceMappingURL=code-debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-debug.js","sourceRoot":"","sources":["../../src/components/code-debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-debug.js","sourceRoot":"","sources":["../../src/components/code-debug.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { Component } from '../component';
2
- import type { Color, FillChar } from '../types';
1
+ import type { Component } from '../component.js';
2
+ import type { Color, FillChar } from '../types.js';
3
3
  export interface FillOptions {
4
4
  backgroundColor?: Color;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fill.d.ts","sourceRoot":"","sources":["../../src/components/fill.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGhD,MAAM,WAAW,WAAW;IAC1B,eAAe,CAAC,EAAE,KAAK,CAAC;CACzB;AAYD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAClB,QAAQ,GAAE,QAAc,EACxB,OAAO,GAAE,WAAgB,GACxB,SAAS,CAmBX"}
1
+ {"version":3,"file":"fill.d.ts","sourceRoot":"","sources":["../../src/components/fill.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGnD,MAAM,WAAW,WAAW;IAC1B,eAAe,CAAC,EAAE,KAAK,CAAC;CACzB;AAYD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAClB,QAAQ,GAAE,QAAc,EACxB,OAAO,GAAE,WAAgB,GACxB,SAAS,CAmBX"}
@@ -1,5 +1,5 @@
1
1
  // Fill component - fills available width with a character
2
- import { applyStyle } from '../utils/colors';
2
+ import { applyStyle } from '../utils/colors.js';
3
3
  /**
4
4
  * Normalize FillChar to { char, color } format
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../src/components/fill.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAI1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAkB;IAC3C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAClB,WAAqB,GAAG,EACxB,UAAuB,EAAE;IAEzB,OAAO,CAAC,GAAkB,EAAE,EAAE;QAC5B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;QAE1C,mEAAmE;QACnE,sEAAsE;QACtE,oEAAoE;QACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YAC5D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE7C,OAAO,UAAU,CAAC,QAAQ,EAAE;YAC1B,KAAK;YACL,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../src/components/fill.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAI1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAMhD;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAkB;IAC3C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAClB,WAAqB,GAAG,EACxB,UAAuB,EAAE;IAEzB,OAAO,CAAC,GAAkB,EAAE,EAAE;QAC5B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;QAE1C,mEAAmE;QACnE,sEAAsE;QACtE,oEAAoE;QACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YAC5D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE7C,OAAO,UAAU,CAAC,QAAQ,EAAE;YAC1B,KAAK;YACL,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
- export { Prompt, type PromptOptions } from './prompt';
2
- export { Section, type SectionOptions } from './section';
1
+ export { Prompt, type PromptOptions } from './prompt.js';
2
+ export { Section, type SectionOptions } from './section.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  // Component helpers and utilities
2
2
  // Re-export component classes and functions
3
- export { Prompt } from './prompt';
4
- export { Section } from './section';
3
+ export { Prompt } from './prompt.js';
4
+ export { Section } from './section.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAElC,4CAA4C;AAC5C,OAAO,EAAE,MAAM,EAAsB,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,OAAO,EAAuB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAElC,4CAA4C;AAC5C,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,OAAO,EAAuB,MAAM,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { Component } from '../component';
2
- import type { Color } from '../types';
1
+ import type { Component } from '../component.js';
2
+ import type { Color } from '../types.js';
3
3
  export interface ProgressBarOptions {
4
4
  current: number;
5
5
  total: number;
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar-grid.d.ts","sourceRoot":"","sources":["../../src/components/progress-bar-grid.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAKtC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CA0ClE"}
1
+ {"version":3,"file":"progress-bar-grid.d.ts","sourceRoot":"","sources":["../../src/components/progress-bar-grid.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAEhE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKzC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CA0ClE"}
@@ -1,7 +1,8 @@
1
1
  // Progress bar component using grid system
2
- import { Styled } from './styled';
3
- import { grid as Grid } from '../layout/grid';
4
- import { applyStyle } from '../utils/colors';
2
+ import { callComponent } from '../component.js';
3
+ import { Styled } from './styled.js';
4
+ import { grid as Grid } from '../layout/grid.js';
5
+ import { applyStyle } from '../utils/colors.js';
5
6
  /**
6
7
  * Create a progress bar component using grid
7
8
  * Uses grid internally to layout: [bracket] [bar (flex)] [bracket] [percent]
@@ -38,7 +39,7 @@ export function progressBar(options) {
38
39
  ];
39
40
  // Use grid to layout: [1] [flex] [1] [7]
40
41
  const gridComp = Grid({ template: [1, '1*', 1, 7], columnGap: 0 }, ...children);
41
- return gridComp(ctx);
42
+ return callComponent(gridComp, ctx);
42
43
  };
43
44
  }
44
45
  //# sourceMappingURL=progress-bar-grid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar-grid.js","sourceRoot":"","sources":["../../src/components/progress-bar-grid.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAI3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAe7C;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,OAAO,CAAC,GAAkB,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAEpF,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC;QACjD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI;QAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI;QAE5D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,aAAa,CAAC;QAE3D,mFAAmF;QACnF,mFAAmF;QACnF,MAAM,YAAY,GAAG,CAAC,MAAqB,EAAU,EAAE;YACrD,gEAAgE;YAChE,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;YACzF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,iBAAiB,GAAG,MAAM,CAAC;YAEzC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,OAAO,GAAG,GAAG;gBACjB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnF,UAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;gBAC9C,GAAG,CAAC;YAEN,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,sBAAsB;QACtB,MAAM,QAAQ,GAAG;YACf,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,WAAW,CAAC;YAC5C,YAAY;YACZ,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,YAAY,CAAC;YAC7C,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,IAAI,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SACnG,CAAC;QAEF,yCAAyC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;QAChF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"progress-bar-grid.js","sourceRoot":"","sources":["../../src/components/progress-bar-grid.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAehD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,OAAO,CAAC,GAAkB,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAEpF,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC;QACjD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI;QAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI;QAE5D,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,aAAa,CAAC;QAE3D,mFAAmF;QACnF,mFAAmF;QACnF,MAAM,YAAY,GAAG,CAAC,MAAqB,EAAU,EAAE;YACrD,gEAAgE;YAChE,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;YACzF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,iBAAiB,GAAG,MAAM,CAAC;YAEzC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,OAAO,GAAG,GAAG;gBACjB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnF,UAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;gBAC9C,GAAG,CAAC;YAEN,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,sBAAsB;QACtB,MAAM,QAAQ,GAAG;YACf,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,WAAW,CAAC;YAC5C,YAAY;YACZ,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,YAAY,CAAC;YAC7C,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,IAAI,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SACnG,CAAC;QAEF,yCAAyC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;QAChF,OAAO,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC"}