@next_term/core 0.0.1-next.0 → 0.0.1-next.11

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Rahul Pandita
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,103 @@
1
+ # @next_term/core
2
+
3
+ Low-level terminal core: cell grid, VT parser, and buffer management. This package has no DOM dependencies and can run in any JavaScript environment (browser, Node, worker).
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @next_term/core
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ Most users should use `@next_term/react` or `@next_term/web` instead. This package is for building custom terminal implementations or working directly with the VT parser.
14
+
15
+ ```ts
16
+ import { BufferSet, VTParser, CellGrid, DEFAULT_THEME } from "@next_term/core";
17
+
18
+ // Create a buffer set (normal + alternate screen)
19
+ const bufferSet = new BufferSet(80, 24, 1000); // cols, rows, scrollback
20
+
21
+ // Create a VT parser
22
+ const parser = new VTParser(bufferSet);
23
+
24
+ // Parse terminal data
25
+ parser.write(new Uint8Array([0x1b, 0x5b, 0x31, 0x6d])); // ESC[1m (bold)
26
+ parser.write(new TextEncoder().encode("Hello, world!\r\n"));
27
+
28
+ // Read cell data
29
+ const grid = bufferSet.active.grid;
30
+ const codepoint = grid.getCodepoint(0, 0); // 'H' = 72
31
+ const fgIndex = grid.getFgIndex(0, 0); // foreground color index
32
+ const attrs = grid.getAttrs(0, 0); // bold, italic, underline, etc.
33
+ ```
34
+
35
+ ## Cell Format
36
+
37
+ Each cell is packed into 2 x Uint32 (8 bytes):
38
+
39
+ ```
40
+ Word 0: [0-20] codepoint (21 bits — full Unicode)
41
+ [21] fg-is-RGB flag
42
+ [22] bg-is-RGB flag
43
+ [23-30] fg color index (0-255)
44
+ [31] reserved
45
+
46
+ Word 1: [0-7] bg color index (0-255)
47
+ [8] bold
48
+ [9] italic
49
+ [10] underline
50
+ [11] strikethrough
51
+ [12-13] underline style
52
+ [14] inverse
53
+ [15] wide character flag (ATTR_WIDE — set on first cell of a 2-column wide char)
54
+ ```
55
+
56
+ Wide characters (CJK, Hangul, emoji, fullwidth forms) set `ATTR_WIDE` on the first cell and write a spacer cell (codepoint 0) in the next column. Renderers skip spacer cells and draw wide chars at 2× cell width.
57
+
58
+ ## Wide Character Support
59
+
60
+ The VT parser handles Unicode character widths automatically:
61
+
62
+ - **Wide chars** (CJK, Hangul, Hiragana/Katakana, emoji, fullwidth forms): occupy 2 columns, set `ATTR_WIDE` flag
63
+ - **Combining marks** (U+0300+, variation selectors, ZWJ): absorbed without advancing the cursor
64
+ - **Normal chars**: occupy 1 column as usual
65
+
66
+ The `wcwidth` and `isCombining` utilities are exposed for custom integrations:
67
+
68
+ ```ts
69
+ import { wcwidth, isCombining } from '@next_term/core';
70
+
71
+ wcwidth(0x4e2d); // 2 — '中' (CJK)
72
+ wcwidth(0x1f600); // 2 — '😀' (emoji)
73
+ wcwidth(0xff41); // 2 — fullwidth 'a'
74
+ wcwidth(0x0041); // 1 — 'A'
75
+ wcwidth(0x0300); // 0 — combining grave accent
76
+
77
+ isCombining(0x0300); // true — no cursor advance
78
+ isCombining(0x200d); // true — ZWJ
79
+ isCombining(0x0041); // false
80
+ ```
81
+
82
+ ## SharedArrayBuffer
83
+
84
+ When `SharedArrayBuffer` is available (requires cross-origin isolation), `CellGrid` automatically uses shared memory. This enables zero-copy sharing between the main thread and Web Workers.
85
+
86
+ Dirty row tracking uses `Int32Array` with `Atomics` (not `Uint8Array` -- Atomics requires >= 32-bit typed arrays).
87
+
88
+ ## Exports
89
+
90
+ ```ts
91
+ export { CellGrid, CELL_SIZE, DEFAULT_CELL_W0, DEFAULT_CELL_W1 } from "@next_term/core";
92
+ export { BufferSet } from "@next_term/core";
93
+ export { VTParser } from "@next_term/core";
94
+ export { DEFAULT_THEME } from "@next_term/core";
95
+ export { extractText, normalizeSelection } from "@next_term/core";
96
+ export { wcwidth, isCombining } from "@next_term/core";
97
+
98
+ export type { Theme, CursorState, TerminalOptions, SelectionRange } from "@next_term/core";
99
+ ```
100
+
101
+ ## License
102
+
103
+ MIT
package/dist/buffer.d.ts CHANGED
@@ -12,7 +12,7 @@ export declare class Buffer {
12
12
  /** Custom tab stops (column indices). */
13
13
  tabStops: Set<number>;
14
14
  private savedCursor;
15
- constructor(cols: number, rows: number);
15
+ constructor(cols: number, rows: number, existingGrid?: CellGrid);
16
16
  private resetTabStops;
17
17
  nextTabStop(col: number): number;
18
18
  prevTabStop(col: number): number;
@@ -34,12 +34,23 @@ export declare class BufferSet {
34
34
  /** Scrollback lines for the normal buffer (array of Uint32Array). */
35
35
  scrollback: Uint32Array[];
36
36
  readonly maxScrollback: number;
37
- constructor(cols: number, rows: number, maxScrollback?: number);
37
+ constructor(cols: number, rows: number, maxScrollback?: number, sharedBuffer?: SharedArrayBuffer, sharedAltBuffer?: SharedArrayBuffer);
38
38
  get isAlternate(): boolean;
39
39
  activateAlternate(): void;
40
40
  activateNormal(): void;
41
- /** Push a line into scrollback (for the normal buffer). */
41
+ /**
42
+ * Push a line into scrollback (for the normal buffer).
43
+ *
44
+ * IMPORTANT: push() must happen before shift() — borrowRowBuffer()
45
+ * returns scrollback[0] which the caller fills before calling this.
46
+ * Reversing the order would evict the buffer before it's appended.
47
+ */
42
48
  pushScrollback(line: Uint32Array): void;
49
+ /**
50
+ * Get a reusable row buffer or allocate a new one.
51
+ * Reuses the buffer that's about to be evicted from scrollback.
52
+ */
53
+ borrowRowBuffer(size: number): Uint32Array;
43
54
  /** Scroll the active buffer up, pushing the top line into scrollback if normal buffer. */
44
55
  scrollUpWithHistory(): void;
45
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,MAAM;aAcC,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;IAd9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAK;IAC9B,yCAAyC;IACzC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAGtB,OAAO,CAAC,WAAW,CAA4B;gBAG7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM;IAU9B,OAAO,CAAC,aAAa;IAOrB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOhC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOhC,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,IAAI;IAMrB,+CAA+C;IAC/C,QAAQ,IAAI,IAAI;IAmBhB;;OAEG;IACH,UAAU,IAAI,IAAI;CAkBnB;AAED,qBAAa,SAAS;aAUF,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;IAV9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IAEf,qEAAqE;IACrE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAGb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAC5B,aAAa,SAAO;IAStB,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,iBAAiB,IAAI,IAAI;IASzB,cAAc,IAAI,IAAI;IAKtB,2DAA2D;IAC3D,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAOvC,0FAA0F;IAC1F,mBAAmB,IAAI,IAAI;CAM5B"}
1
+ {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,MAAM;aAcC,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;IAd9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAK;IAC9B,yCAAyC;IACzC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAGtB,OAAO,CAAC,WAAW,CAA4B;gBAG7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAC5B,YAAY,CAAC,EAAE,QAAQ;IAUzB,OAAO,CAAC,aAAa;IAOrB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOhC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOhC,UAAU,IAAI,IAAI;IAIlB,aAAa,IAAI,IAAI;IAMrB,+CAA+C;IAC/C,QAAQ,IAAI,IAAI;IAmBhB;;OAEG;IACH,UAAU,IAAI,IAAI;CAkBnB;AAED,qBAAa,SAAS;aAUF,IAAI,EAAE,MAAM;aACZ,IAAI,EAAE,MAAM;IAV9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IAEf,qEAAqE;IACrE,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;gBAGb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAC5B,aAAa,SAAO,EACpB,YAAY,CAAC,EAAE,iBAAiB,EAChC,eAAe,CAAC,EAAE,iBAAiB;IAarC,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,iBAAiB,IAAI,IAAI;IASzB,cAAc,IAAI,IAAI;IAKtB;;;;;;OAMG;IACH,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAOvC;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAU1C,0FAA0F;IAC1F,mBAAmB,IAAI,IAAI;CAU5B"}
package/dist/buffer.js CHANGED
@@ -12,10 +12,10 @@ export class Buffer {
12
12
  tabStops;
13
13
  // Saved cursor for DECSC / DECRC
14
14
  savedCursor = null;
15
- constructor(cols, rows) {
15
+ constructor(cols, rows, existingGrid) {
16
16
  this.cols = cols;
17
17
  this.rows = rows;
18
- this.grid = new CellGrid(cols, rows);
18
+ this.grid = existingGrid ?? new CellGrid(cols, rows);
19
19
  this.cursor = { row: 0, col: 0, visible: true, style: "block", wrapPending: false };
20
20
  this.scrollTop = 0;
21
21
  this.scrollBottom = rows - 1;
@@ -102,11 +102,15 @@ export class BufferSet {
102
102
  /** Scrollback lines for the normal buffer (array of Uint32Array). */
103
103
  scrollback;
104
104
  maxScrollback;
105
- constructor(cols, rows, maxScrollback = 5000) {
105
+ constructor(cols, rows, maxScrollback = 5000, sharedBuffer, sharedAltBuffer) {
106
106
  this.cols = cols;
107
107
  this.rows = rows;
108
- this.normal = new Buffer(cols, rows);
109
- this.alternate = new Buffer(cols, rows);
108
+ this.normal = sharedBuffer
109
+ ? new Buffer(cols, rows, new CellGrid(cols, rows, sharedBuffer))
110
+ : new Buffer(cols, rows);
111
+ this.alternate = sharedAltBuffer
112
+ ? new Buffer(cols, rows, new CellGrid(cols, rows, sharedAltBuffer))
113
+ : new Buffer(cols, rows);
110
114
  this.active = this.normal;
111
115
  this.scrollback = [];
112
116
  this.maxScrollback = maxScrollback;
@@ -128,17 +132,40 @@ export class BufferSet {
128
132
  return;
129
133
  this.active = this.normal;
130
134
  }
131
- /** Push a line into scrollback (for the normal buffer). */
135
+ /**
136
+ * Push a line into scrollback (for the normal buffer).
137
+ *
138
+ * IMPORTANT: push() must happen before shift() — borrowRowBuffer()
139
+ * returns scrollback[0] which the caller fills before calling this.
140
+ * Reversing the order would evict the buffer before it's appended.
141
+ */
132
142
  pushScrollback(line) {
133
143
  this.scrollback.push(line);
134
- while (this.scrollback.length > this.maxScrollback) {
144
+ if (this.scrollback.length > this.maxScrollback) {
135
145
  this.scrollback.shift();
136
146
  }
137
147
  }
148
+ /**
149
+ * Get a reusable row buffer or allocate a new one.
150
+ * Reuses the buffer that's about to be evicted from scrollback.
151
+ */
152
+ borrowRowBuffer(size) {
153
+ if (this.scrollback.length >= this.maxScrollback && this.maxScrollback > 0) {
154
+ const existing = this.scrollback[0];
155
+ if (existing && existing.length >= size) {
156
+ return existing;
157
+ }
158
+ }
159
+ return new Uint32Array(size);
160
+ }
138
161
  /** Scroll the active buffer up, pushing the top line into scrollback if normal buffer. */
139
162
  scrollUpWithHistory() {
140
163
  if (this.maxScrollback > 0 && this.active === this.normal && this.active.scrollTop === 0) {
141
- this.pushScrollback(this.active.grid.copyRow(0));
164
+ const grid = this.active.grid;
165
+ const rowSize = grid.cols * CELL_SIZE;
166
+ const dest = this.borrowRowBuffer(rowSize);
167
+ grid.copyRowInto(0, dest);
168
+ this.pushScrollback(dest);
142
169
  }
143
170
  this.active.scrollUp();
144
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.js","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buffer.js","sourceRoot":"","sources":["../src/buffer.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export declare class CellGrid {
26
26
  * instead of copying cell data, making full-screen scroll O(1).
27
27
  */
28
28
  readonly rowOffsetData: Int32Array;
29
- constructor(cols: number, rows: number);
29
+ constructor(cols: number, rows: number, existingBuffer?: SharedArrayBuffer);
30
30
  /** Map logical row to physical row in the circular buffer. */
31
31
  physicalRow(row: number): number;
32
32
  /** Get the data array offset for the start of a logical row. */
@@ -47,6 +47,8 @@ export declare class CellGrid {
47
47
  isStrikethrough(row: number, col: number): boolean;
48
48
  isInverse(row: number, col: number): boolean;
49
49
  isWide(row: number, col: number): boolean;
50
+ /** True if this cell is the right half of a wide character (spacer with codepoint 0). */
51
+ isSpacerCell(row: number, col: number): boolean;
50
52
  setCell(row: number, col: number, codepoint: number, fgIndex: number, bgIndex: number, attrs: number, fgIsRGB?: boolean, bgIsRGB?: boolean): void;
51
53
  markDirty(row: number): void;
52
54
  /** Mark a contiguous range of rows [from..to] dirty. */
@@ -57,6 +59,8 @@ export declare class CellGrid {
57
59
  clear(): void;
58
60
  /** Copy a logical row of cell data into a new Uint32Array. */
59
61
  copyRow(row: number): Uint32Array;
62
+ /** Copy a logical row into an existing buffer (avoids allocation). */
63
+ copyRowInto(row: number, dest: Uint32Array): void;
60
64
  /** Overwrite a logical row from a previously copied Uint32Array. */
61
65
  pasteRow(row: number, src: Uint32Array): void;
62
66
  /** Fill a logical row with spaces and default attributes. */
@@ -1 +1 @@
1
- {"version":3,"file":"cell-grid.d.ts","sourceRoot":"","sources":["../src/cell-grid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cell-grid.d.ts","sourceRoot":"","sources":["../src/cell-grid.ts"],"names":[],"mappings":"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"}
package/dist/cell-grid.js CHANGED
@@ -35,18 +35,26 @@ export class CellGrid {
35
35
  * instead of copying cell data, making full-screen scroll O(1).
36
36
  */
37
37
  rowOffsetData;
38
- constructor(cols, rows) {
38
+ constructor(cols, rows, existingBuffer) {
39
39
  this.cols = cols;
40
40
  this.rows = rows;
41
- this.isShared = SAB_AVAILABLE;
42
41
  const cellBytes = cols * rows * CELL_SIZE * 4;
43
42
  const dirtyBytes = rows * 4; // Int32Array: 4 bytes per element
44
43
  const rgbBytes = 512 * 4;
45
44
  const cursorBytes = 4 * 4; // 4 x Int32: row, col, visible, style
46
45
  const offsetBytes = 1 * 4; // 1 x Int32: row offset for circular buffer
47
- const totalBytes = cellBytes + dirtyBytes + rgbBytes + cursorBytes + offsetBytes;
48
- const BufferType = SAB_AVAILABLE ? SharedArrayBuffer : ArrayBuffer;
49
- this.buffer = new BufferType(totalBytes);
46
+ if (existingBuffer) {
47
+ // Create views over an existing SharedArrayBuffer (used by workers
48
+ // to share the same memory as the main thread).
49
+ this.buffer = existingBuffer;
50
+ this.isShared = true;
51
+ }
52
+ else {
53
+ const totalBytes = cellBytes + dirtyBytes + rgbBytes + cursorBytes + offsetBytes;
54
+ const BufferType = SAB_AVAILABLE ? SharedArrayBuffer : ArrayBuffer;
55
+ this.buffer = new BufferType(totalBytes);
56
+ this.isShared = SAB_AVAILABLE;
57
+ }
50
58
  this.data = new Uint32Array(this.buffer, 0, cols * rows * CELL_SIZE);
51
59
  this.dirtyRows = new Int32Array(this.buffer, cellBytes, rows);
52
60
  this.rgbColors = new Uint32Array(this.buffer, cellBytes + dirtyBytes, 512);
@@ -58,7 +66,11 @@ export class CellGrid {
58
66
  this._templateRow[c * CELL_SIZE] = DEFAULT_CELL_W0;
59
67
  // [c * CELL_SIZE + 1] is already DEFAULT_CELL_W1 (0)
60
68
  }
61
- this.clear();
69
+ // Only clear when creating a fresh buffer — an existing buffer
70
+ // already contains valid data from the main thread.
71
+ if (!existingBuffer) {
72
+ this.clear();
73
+ }
62
74
  }
63
75
  /** Map logical row to physical row in the circular buffer. */
64
76
  physicalRow(row) {
@@ -117,6 +129,10 @@ export class CellGrid {
117
129
  isWide(row, col) {
118
130
  return (this.data[this.rowStart(row) + col * CELL_SIZE + 1] & (1 << 15)) !== 0;
119
131
  }
132
+ /** True if this cell is the right half of a wide character (spacer with codepoint 0). */
133
+ isSpacerCell(row, col) {
134
+ return col > 0 && this.getCodepoint(row, col) === 0 && this.isWide(row, col - 1);
135
+ }
120
136
  setCell(row, col, codepoint, fgIndex, bgIndex, attrs, fgIsRGB = false, bgIsRGB = false) {
121
137
  const idx = this.rowStart(row) + col * CELL_SIZE;
122
138
  this.data[idx] =
@@ -176,6 +192,13 @@ export class CellGrid {
176
192
  const start = this.rowStart(row);
177
193
  return new Uint32Array(this.data.slice(start, start + this.cols * CELL_SIZE));
178
194
  }
195
+ /** Copy a logical row into an existing buffer (avoids allocation). */
196
+ copyRowInto(row, dest) {
197
+ const start = this.rowStart(row);
198
+ const len = this.cols * CELL_SIZE;
199
+ for (let i = 0; i < len; i++)
200
+ dest[i] = this.data[start + i];
201
+ }
179
202
  /** Overwrite a logical row from a previously copied Uint32Array. */
180
203
  pasteRow(row, src) {
181
204
  const start = this.rowStart(row);
@@ -1 +1 @@
1
- {"version":3,"file":"cell-grid.js","sourceRoot":"","sources":["../src/cell-grid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cell-grid.js","sourceRoot":"","sources":["../src/cell-grid.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,MAAM,aAAa,GACjB,OAAO,iBAAiB,KAAK,WAAW;IACxC,CAAC,OAAO,mBAAmB,KAAK,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAE5E,oCAAoC;AACpC,yFAAyF;AACzF,oFAAoF;AACpF,6EAA6E;AAE7E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,sBAAsB;AAElD,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAChD,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAEjC,mFAAmF;AACnF,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,MAAc;IACvD,OAAO,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;AAC9C,CAAC;AAED,MAAM,OAAO,QAAQ;IACV,IAAI,CAAS;IACb,IAAI,CAAS;IACb,IAAI,CAAc;IAClB,SAAS,CAAa;IACtB,SAAS,CAAc;IACf,MAAM,CAAkC;IAChD,QAAQ,CAAU;IACV,YAAY,CAAc;IAE3C;;;;OAIG;IACM,UAAU,CAAa;IAEhC;;;;OAIG;IACM,aAAa,CAAa;IAEnC,YAAY,IAAY,EAAE,IAAY,EAAE,cAAkC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,kCAAkC;QAC/D,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC;QACzB,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,sCAAsC;QACjE,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,4CAA4C;QAEvE,IAAI,cAAc,EAAE,CAAC;YACnB,mEAAmE;YACnE,gDAAgD;YAChD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;YACjF,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC;YACnE,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU,CACjC,IAAI,CAAC,MAAM,EACX,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,EAC/C,CAAC,CACF,CAAC;QAEF,+DAA+D;QAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,eAAe,CAAC;YACnD,qDAAqD;QACvD,CAAC;QAED,+DAA+D;QAC/D,oDAAoD;QACpD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,WAAW,CAAC,GAAW;QACrB,4DAA4D;QAC5D,4DAA4D;QAC5D,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAClD,CAAC;IAED,gEAAgE;IAChE,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACvD,CAAC;IAED,+DAA+D;IAC/D,QAAQ,CAAC,CAAC,GAAG,CAAC;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,mEAAmE;IACnE,UAAU,CAAC,CAAC,GAAG,CAAC;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,GAAW;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC;IACpE,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,GAAW;QACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACzE,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,GAAW;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACpE,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,GAAW;QAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;IAC5E,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,GAAW;QAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,GAAW;QAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,GAAW;QAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,GAAW;QAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,GAAW;QAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,eAAe,CAAC,GAAW,EAAE,GAAW;QACtC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,GAAW;QAChC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,GAAW;QAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACjF,CAAC;IAED,yFAAyF;IACzF,YAAY,CAAC,GAAW,EAAE,GAAW;QACnC,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,CACL,GAAW,EACX,GAAW,EACX,SAAiB,EACjB,OAAe,EACf,OAAe,EACf,KAAa,EACb,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK;QAEf,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,CAAC,SAAS,GAAG,QAAQ,CAAC;gBACtB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,cAAc,CAAC,IAAY,EAAE,EAAU;QACrC,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,8DAA8D;IAC9D,OAAO,CAAC,GAAW;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,sEAAsE;IACtE,WAAW,CAAC,GAAW,EAAE,IAAiB;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,oEAAoE;IACpE,QAAQ,CAAC,GAAW,EAAE,GAAgB;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACrC,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,6DAA6D;IAC7D,QAAQ,CAAC,GAAW;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,uFAAuF;IACvF,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,6EAA6E;IAE7E,wDAAwD;IAChD,MAAM,CAAU,gBAAgB,GAA2B;QACjE,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,CAAC;QACZ,GAAG,EAAE,CAAC;KACP,CAAC;IACM,MAAM,CAAU,oBAAoB,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAU,CAAC;IAEtF;;OAEG;IACH,SAAS,CAAC,GAAW,EAAE,GAAW,EAAE,OAAgB,EAAE,KAAa;QACjE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;gBACL,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACrC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACrC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC;gBAC/C,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO;aAClF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACvB,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACvB,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;YACjC,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO;SACpE,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;;AAcH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAmB;IACpD,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACjD,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,QAAQ,CAAC;QACtB,MAAM,IAAI,GAAG,QAAQ,CAAC;QACtB,QAAQ,GAAG,MAAM,CAAC;QAClB,QAAQ,GAAG,MAAM,CAAC;QAClB,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,IAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,MAAc;IAEd,MAAM,GAAG,GAAG,kBAAkB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,IAAI,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;QACpC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAE3B,IAAI,GAAG,KAAK,EAAE;YAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,GAAG,KAAK,EAAE;YAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAE7D,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,GAAG,GAAG,QAAQ,EAAE,GAAG,IAAI,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;YAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACrD,CAAC;QAED,uBAAuB;QACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,4 +8,5 @@ export { VTParser } from "./parser/index.js";
8
8
  export { Action, State, TABLE, unpackAction, unpackState } from "./parser/states.js";
9
9
  export type { CursorState, SelectionState, TerminalOptions, Theme } from "./types.js";
10
10
  export { DEFAULT_THEME, DirtyState } from "./types.js";
11
+ export { isCombining, wcwidth } from "./wcwidth.js";
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACrF,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACrF,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -4,4 +4,5 @@ export { GestureHandler, GestureState } from "./gesture-handler.js";
4
4
  export { VTParser } from "./parser/index.js";
5
5
  export { Action, State, TABLE, unpackAction, unpackState } from "./parser/states.js";
6
6
  export { DEFAULT_THEME, DirtyState } from "./types.js";
7
+ export { isCombining, wcwidth } from "./wcwidth.js";
7
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,SAAS,EACT,QAAQ,EACR,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAErF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"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"}