blecsd 0.1.1 → 0.3.0

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 (110) hide show
  1. package/LICENSE +4 -2
  2. package/README.md +209 -66
  3. package/dist/3d/index.d.ts +2 -2
  4. package/dist/3d/index.js +1 -1
  5. package/dist/audio/index.d.ts +2 -2
  6. package/dist/{border-D_Jb4ZJV.d.ts → border-Jb7TrMob.d.ts} +20 -10
  7. package/dist/chunk-2IEMMRUO.js +1 -0
  8. package/dist/chunk-3AV52GY5.js +1 -0
  9. package/dist/chunk-3LHLSY3Y.js +1 -0
  10. package/dist/chunk-3O4TQHGK.js +4 -0
  11. package/dist/chunk-3UJWZ5ZN.js +1 -0
  12. package/dist/chunk-5N3O25O7.js +1 -0
  13. package/dist/chunk-6M2J5QUA.js +1 -0
  14. package/dist/chunk-7IQEUVGF.js +1 -0
  15. package/dist/chunk-A6M6TFBL.js +1 -0
  16. package/dist/chunk-CUEUJAHK.js +3 -0
  17. package/dist/chunk-D42Q2KKR.js +1 -0
  18. package/dist/chunk-DYEXOFUU.js +2 -0
  19. package/dist/chunk-DYU72XLL.js +1 -0
  20. package/dist/chunk-E4CJRSND.js +1 -0
  21. package/dist/chunk-EAY7B5GL.js +1 -0
  22. package/dist/chunk-FCMTWFSE.js +1 -0
  23. package/dist/chunk-FL56THSI.js +25 -0
  24. package/dist/{chunk-2UBBZFE4.js → chunk-G437VE43.js} +1 -1
  25. package/dist/chunk-GGXNWT36.js +8 -0
  26. package/dist/chunk-HLFORKXS.js +1 -0
  27. package/dist/chunk-J7MBKEBY.js +1 -0
  28. package/dist/{chunk-TYMY2TBR.js → chunk-JHCKPCUH.js} +3 -3
  29. package/dist/chunk-K3SX2LY5.js +1 -0
  30. package/dist/chunk-LDAFEXN5.js +1 -0
  31. package/dist/chunk-MKMFUXLB.js +33 -0
  32. package/dist/chunk-MQWPHPUM.js +1 -0
  33. package/dist/chunk-MTI376CU.js +5 -0
  34. package/dist/chunk-MTV2RJZD.js +1 -0
  35. package/dist/chunk-NPDPBAW6.js +4 -0
  36. package/dist/chunk-OB66FB4F.js +1 -0
  37. package/dist/chunk-OR3BZY7C.js +1 -0
  38. package/dist/{chunk-VNZ6CWJA.js → chunk-R7AICVRN.js} +2 -2
  39. package/dist/{chunk-3B7MIVW6.js → chunk-RZ7FGVI6.js} +1 -1
  40. package/dist/chunk-UMGTXSQB.js +11 -0
  41. package/dist/chunk-X3Q3T2SS.js +4 -0
  42. package/dist/{chunk-JKVHO4LH.js → chunk-XZJRWFOS.js} +1 -1
  43. package/dist/chunk-ZAHG7Y3X.js +1 -0
  44. package/dist/cli/init.d.ts +1 -1
  45. package/dist/componentStorage-CJTh-TPO.d.ts +246 -0
  46. package/dist/components/index.d.ts +1942 -514
  47. package/dist/components/index.js +1 -1
  48. package/dist/core/index.d.ts +857 -259
  49. package/dist/core/index.js +1 -1
  50. package/dist/debug/index.d.ts +491 -98
  51. package/dist/debug/index.js +1 -1
  52. package/dist/dirtyTracking-C4v8MmM9.d.ts +235 -0
  53. package/dist/errors/index.d.ts +12 -12
  54. package/dist/errors/index.js +1 -1
  55. package/dist/{events-BbbxkgvX.d.ts → events-9ForpTfM.d.ts} +75 -2
  56. package/dist/game/index.d.ts +7 -7
  57. package/dist/game/index.js +1 -1
  58. package/dist/{gameLoop-BIPW7-OY.d.ts → gameLoop-C-Ez_i54.d.ts} +2 -2
  59. package/dist/{index-zSGJ2eUk.d.ts → index-DBS5Uefn.d.ts} +2 -2
  60. package/dist/index.d.ts +283 -20
  61. package/dist/index.js +3 -1
  62. package/dist/input/index.d.ts +1 -1
  63. package/dist/input/index.js +1 -1
  64. package/dist/{inputActions-CefRUBuT.d.ts → inputActions-CRsUtTHM.d.ts} +10 -721
  65. package/dist/packedStore-BgvnEdE7.d.ts +191 -0
  66. package/dist/{renderable-jTMOA-GK.d.ts → renderable-CwqGwrEV.d.ts} +9 -9
  67. package/dist/{scheduler-DcfoFuum.d.ts → scheduler-CMcYew9Z.d.ts} +65 -3
  68. package/dist/systems/index.d.ts +356 -55
  69. package/dist/systems/index.js +1 -1
  70. package/dist/terminal/index.d.ts +2233 -2299
  71. package/dist/terminal/index.js +1 -1
  72. package/dist/{tilemap-D1HJvKy3.d.ts → tilemap-BirMJdbu.d.ts} +92 -3
  73. package/dist/{types-BcsvoKzf.d.ts → types-CPB4CpbH.d.ts} +2 -2
  74. package/dist/utils/index.d.ts +27 -180
  75. package/dist/utils/index.js +1 -1
  76. package/dist/{virtualScrollback-DvZTRU8a.d.ts → virtualScrollback-D9uLFe8l.d.ts} +4 -4
  77. package/dist/{virtualViewport-Dx2iJliO.d.ts → virtualViewport-Bpv6jlKt.d.ts} +283 -761
  78. package/dist/widgets/bigText.d.ts +1 -1
  79. package/dist/widgets/bigText.js +1 -1
  80. package/dist/widgets/index.d.ts +10519 -5463
  81. package/dist/widgets/index.js +1 -1
  82. package/package.json +102 -6
  83. package/dist/chunk-35I22JJO.js +0 -1
  84. package/dist/chunk-3EGGGI5J.js +0 -3
  85. package/dist/chunk-4X4N4HNQ.js +0 -2
  86. package/dist/chunk-AQ7LW75B.js +0 -1
  87. package/dist/chunk-AXZQAH4X.js +0 -1
  88. package/dist/chunk-BCADUCOZ.js +0 -1
  89. package/dist/chunk-EJ5WVDDZ.js +0 -6
  90. package/dist/chunk-FT7BMYSN.js +0 -1
  91. package/dist/chunk-FYEBZAWN.js +0 -1
  92. package/dist/chunk-GYHI26UE.js +0 -1
  93. package/dist/chunk-H2YAOJDW.js +0 -1
  94. package/dist/chunk-K2B2OXQ5.js +0 -5
  95. package/dist/chunk-K37L3G4Z.js +0 -4
  96. package/dist/chunk-KD55INV7.js +0 -1
  97. package/dist/chunk-KFAK4A3G.js +0 -1
  98. package/dist/chunk-LCN2ZITE.js +0 -1
  99. package/dist/chunk-OUXUPF3V.js +0 -33
  100. package/dist/chunk-P6CJO3BC.js +0 -1
  101. package/dist/chunk-PI5UOHOH.js +0 -1
  102. package/dist/chunk-PSXXMBVJ.js +0 -1
  103. package/dist/chunk-TRK4422V.js +0 -12
  104. package/dist/chunk-W5OU7Z6J.js +0 -1
  105. package/dist/chunk-WNG4A3K7.js +0 -4
  106. package/dist/chunk-XRJNAHNG.js +0 -19
  107. package/dist/chunk-XZA63ZPO.js +0 -1
  108. package/dist/chunk-YAMOSPWB.js +0 -4
  109. package/dist/chunk-YD6ULIUR.js +0 -1
  110. package/dist/{keyParser-Bwm8-l7v.d.ts → keyParser-BnHbg2iD.d.ts} +1 -1
@@ -1,84 +1,255 @@
1
- import { U as Unsubscribe, W as World, E as Entity } from './types-BcsvoKzf.js';
1
+ import { W as World, E as Entity } from './types-CPB4CpbH.js';
2
2
  import { z } from 'zod';
3
3
  import { A as Attribute } from './parser-iMHmQuUh.js';
4
4
  import { S as ScreenBufferData, C as Cell } from './cell-DwIu2ryP.js';
5
- import { S as ScrollbackBuffer } from './virtualScrollback-DvZTRU8a.js';
5
+ import { S as ScrollbackBuffer } from './virtualScrollback-D9uLFe8l.js';
6
6
 
7
7
  /**
8
- * Configurable state machine framework
9
- * @module core/stateMachine
10
- * @internal This module is for internal use by widgets
8
+ * Dimensions component for entity sizing in the terminal grid.
9
+ * @module components/dimensions
11
10
  */
12
11
 
13
12
  /**
14
- * Action function executed on state transitions.
15
- * Receives the state machine context for side effects.
13
+ * Special value indicating "auto" (content-based) dimension.
14
+ * When used, the dimension is calculated based on content.
16
15
  */
17
- type Action<Context = unknown> = (context: Context) => void;
16
+ declare const AUTO_DIMENSION = -1;
18
17
  /**
19
- * Transition target with optional actions.
18
+ * Encodes a percentage value for storage in typed arrays.
19
+ * Percentages are stored as negative values: -2 = 0%, -102 = 100%
20
+ *
21
+ * @param percent - Percentage value (0-100)
22
+ * @returns Encoded value for storage
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const encoded = encodePercentage(50); // Returns -52
27
+ * ```
28
+ */
29
+ declare function encodePercentage(percent: number): number;
30
+ /**
31
+ * Decodes a percentage value from typed array storage.
32
+ *
33
+ * @param value - Encoded value from storage
34
+ * @returns Percentage value (0-100) or null if not a percentage
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const percent = decodePercentage(-52); // Returns 50
39
+ * const notPercent = decodePercentage(100); // Returns null
40
+ * ```
41
+ */
42
+ declare function decodePercentage(value: number): number | null;
43
+ /**
44
+ * Checks if a value represents a percentage.
45
+ *
46
+ * @param value - Value to check
47
+ * @returns true if the value is an encoded percentage
48
+ */
49
+ declare function isPercentage(value: number): boolean;
50
+ /**
51
+ * Dimensions component store using SoA (Structure of Arrays) for performance.
52
+ *
53
+ * - `width`, `height`: Size in terminal cells (floats), or encoded percentages
54
+ * - `minWidth`, `minHeight`: Minimum size constraints
55
+ * - `maxWidth`, `maxHeight`: Maximum size constraints
56
+ * - `shrink`: Whether to shrink to content (0=no, 1=yes)
57
+ *
58
+ * Percentage values are encoded as negative numbers: -2 = 0%, -102 = 100%
59
+ * Use `encodePercentage()` and `decodePercentage()` for conversion.
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * import { Dimensions, setDimensions, getDimensions } from 'blecsd';
64
+ *
65
+ * setDimensions(world, entity, 80, 24);
66
+ *
67
+ * const dims = getDimensions(world, entity);
68
+ * console.log(dims.width, dims.height); // 80, 24
69
+ * ```
70
+ */
71
+ declare const Dimensions: {
72
+ /** Width in terminal cells (or encoded percentage) */
73
+ width: Float32Array<ArrayBuffer>;
74
+ /** Height in terminal cells (or encoded percentage) */
75
+ height: Float32Array<ArrayBuffer>;
76
+ /** Minimum width constraint */
77
+ minWidth: Float32Array<ArrayBuffer>;
78
+ /** Minimum height constraint */
79
+ minHeight: Float32Array<ArrayBuffer>;
80
+ /** Maximum width constraint */
81
+ maxWidth: Float32Array<ArrayBuffer>;
82
+ /** Maximum height constraint */
83
+ maxHeight: Float32Array<ArrayBuffer>;
84
+ /** 0 = fixed size, 1 = shrink to content */
85
+ shrink: Uint8Array<ArrayBuffer>;
86
+ };
87
+ /**
88
+ * Dimension value that can be a number, percentage string, or 'auto'.
20
89
  */
21
- interface TransitionConfig<S extends string, Context = unknown> {
22
- target: S;
23
- actions?: Action<Context>[];
24
- guard?: (context: Context) => boolean;
90
+ type DimensionValue = number | `${number}%` | 'auto';
91
+ /**
92
+ * Dimensions data returned by getDimensions.
93
+ */
94
+ interface DimensionsData {
95
+ readonly width: number;
96
+ readonly height: number;
97
+ readonly minWidth: number;
98
+ readonly minHeight: number;
99
+ readonly maxWidth: number;
100
+ readonly maxHeight: number;
101
+ readonly shrink: boolean;
25
102
  }
26
103
  /**
27
- * State configuration with entry/exit actions and transitions.
104
+ * Constraints data for min/max dimensions.
28
105
  */
29
- interface StateConfig<S extends string, E extends string, Context = unknown> {
30
- /** Actions to run when entering this state */
31
- entry?: Action<Context>[];
32
- /** Actions to run when exiting this state */
33
- exit?: Action<Context>[];
34
- /** Event handlers mapping events to target states */
35
- on?: Partial<Record<E, S | TransitionConfig<S, Context>>>;
106
+ interface DimensionConstraints {
107
+ readonly minWidth?: number;
108
+ readonly minHeight?: number;
109
+ readonly maxWidth?: number;
110
+ readonly maxHeight?: number;
36
111
  }
37
112
  /**
38
- * Full state machine configuration.
113
+ * Sets the dimensions of an entity.
114
+ * Adds the Dimensions component if not already present.
39
115
  *
40
- * @typeParam S - Union type of all state names
41
- * @typeParam E - Union type of all event names
42
- * @typeParam Context - Optional context object passed to actions
116
+ * @param world - The ECS world
117
+ * @param eid - The entity ID
118
+ * @param width - Width value (number, percentage string like "50%", or "auto")
119
+ * @param height - Height value (number, percentage string like "50%", or "auto")
120
+ * @returns The entity ID for chaining
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * import { createWorld, addEntity } from '../core/ecs';
125
+ * import { setDimensions } from 'blecsd';
126
+ *
127
+ * const world = createWorld();
128
+ * const entity = addEntity(world);
129
+ *
130
+ * // Fixed size
131
+ * setDimensions(world, entity, 80, 24);
132
+ *
133
+ * // Percentage width
134
+ * setDimensions(world, entity, '50%', 24);
135
+ *
136
+ * // Auto height
137
+ * setDimensions(world, entity, 80, 'auto');
138
+ * ```
43
139
  */
44
- interface StateMachineConfig<S extends string, E extends string, Context = unknown> {
45
- /** Initial state when machine starts */
46
- initial: S;
47
- /** State definitions */
48
- states: Record<S, StateConfig<S, E, Context>>;
49
- /** Optional initial context */
50
- context?: Context;
51
- }
140
+ declare function setDimensions(world: World, eid: Entity, width: DimensionValue, height: DimensionValue): Entity;
141
+ /**
142
+ * Gets the dimensions data of an entity.
143
+ * Returns undefined if the entity doesn't have a Dimensions component.
144
+ *
145
+ * @param world - The ECS world
146
+ * @param eid - The entity ID
147
+ * @returns Dimensions data or undefined
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * import { getDimensions } from 'blecsd';
152
+ *
153
+ * const dims = getDimensions(world, entity);
154
+ * if (dims) {
155
+ * console.log(`Size: ${dims.width}x${dims.height}`);
156
+ * }
157
+ * ```
158
+ */
159
+ declare function getDimensions(world: World, eid: Entity): DimensionsData | undefined;
160
+ /**
161
+ * Sets dimension constraints (min/max) for an entity.
162
+ *
163
+ * @param world - The ECS world
164
+ * @param eid - The entity ID
165
+ * @param constraints - Constraint values to set
166
+ * @returns The entity ID for chaining
167
+ *
168
+ * @example
169
+ * ```typescript
170
+ * import { setConstraints } from 'blecsd';
171
+ *
172
+ * setConstraints(world, entity, {
173
+ * minWidth: 10,
174
+ * maxWidth: 100,
175
+ * minHeight: 5,
176
+ * });
177
+ * ```
178
+ */
179
+ declare function setConstraints(world: World, eid: Entity, constraints: DimensionConstraints): Entity;
180
+ /**
181
+ * Sets the shrink-to-content flag for an entity.
182
+ *
183
+ * @param world - The ECS world
184
+ * @param eid - The entity ID
185
+ * @param shrink - true to shrink to content, false for fixed size
186
+ * @returns The entity ID for chaining
187
+ *
188
+ * @example
189
+ * ```typescript
190
+ * import { setShrink } from 'blecsd';
191
+ *
192
+ * // Enable shrink-to-content
193
+ * setShrink(world, entity, true);
194
+ * ```
195
+ */
196
+ declare function setShrink(world: World, eid: Entity, shrink: boolean): Entity;
52
197
  /**
53
- * State change listener function.
198
+ * Checks if an entity should shrink to content.
199
+ *
200
+ * @param world - The ECS world
201
+ * @param eid - The entity ID
202
+ * @returns true if shrink is enabled, false otherwise
54
203
  */
55
- type StateListener<S extends string> = (current: S, previous: S) => void;
204
+ declare function shouldShrink(world: World, eid: Entity): boolean;
56
205
  /**
57
- * StateMachine interface for type-safe access.
206
+ * Checks if an entity has a Dimensions component.
58
207
  *
59
- * @typeParam S - Union type of all state names
60
- * @typeParam E - Union type of all event names
61
- * @typeParam Context - Optional context object passed to actions
208
+ * @param world - The ECS world
209
+ * @param eid - The entity ID
210
+ * @returns true if entity has Dimensions component
62
211
  */
63
- interface StateMachine<S extends string, E extends string, Context = unknown> {
64
- readonly current: S;
65
- readonly context: Context;
66
- send(event: E): boolean;
67
- can(event: E): boolean;
68
- matches(state: S): boolean;
69
- subscribe(listener: StateListener<S>): Unsubscribe;
70
- validEvents(): E[];
71
- reset(): void;
72
- }
73
-
212
+ declare function hasDimensions(world: World, eid: Entity): boolean;
213
+ /**
214
+ * Gets the width of an entity, resolving percentages against a container width.
215
+ *
216
+ * @param world - The ECS world
217
+ * @param eid - The entity ID
218
+ * @param containerWidth - Container width to resolve percentages against
219
+ * @returns Resolved width value, or undefined if no Dimensions component
220
+ *
221
+ * @example
222
+ * ```typescript
223
+ * import { getResolvedWidth, setDimensions } from 'blecsd';
224
+ *
225
+ * setDimensions(world, entity, '50%', 24);
226
+ * const width = getResolvedWidth(world, entity, 100); // Returns 50
227
+ * ```
228
+ */
229
+ declare function getResolvedWidth(world: World, eid: Entity, containerWidth: number): number | undefined;
74
230
  /**
75
- * List Component
231
+ * Gets the height of an entity, resolving percentages against a container height.
232
+ *
233
+ * @param world - The ECS world
234
+ * @param eid - The entity ID
235
+ * @param containerHeight - Container height to resolve percentages against
236
+ * @returns Resolved height value, or undefined if no Dimensions component
76
237
  *
77
- * Provides list/item selection functionality with keyboard and mouse support.
238
+ * @example
239
+ * ```typescript
240
+ * import { getResolvedHeight, setDimensions } from 'blecsd';
78
241
  *
79
- * @module components/list
242
+ * setDimensions(world, entity, 80, '25%');
243
+ * const height = getResolvedHeight(world, entity, 80); // Returns 20
244
+ * ```
80
245
  */
246
+ declare function getResolvedHeight(world: World, eid: Entity, containerHeight: number): number | undefined;
81
247
 
248
+ /**
249
+ * List Component Types
250
+ *
251
+ * @module components/list/types
252
+ */
82
253
  /**
83
254
  * List state type.
84
255
  */
@@ -211,6 +382,8 @@ type ListAction = {
211
382
  type: 'confirm';
212
383
  } | {
213
384
  type: 'cancel';
385
+ } | {
386
+ type: 'toggleSelect';
214
387
  } | {
215
388
  type: 'startSearch';
216
389
  } | {
@@ -223,690 +396,6 @@ type ListAction = {
223
396
  } | {
224
397
  type: 'searchNextMatch';
225
398
  };
226
- /** Default selected prefix character */
227
- declare const DEFAULT_SELECTED_PREFIX = "> ";
228
- /** Default unselected prefix character */
229
- declare const DEFAULT_UNSELECTED_PREFIX = " ";
230
- /** Default selected foreground color */
231
- declare const DEFAULT_SELECTED_FG = 4294967295;
232
- /** Default selected background color */
233
- declare const DEFAULT_SELECTED_BG = 6750207;
234
- /** Default item foreground color */
235
- declare const DEFAULT_ITEM_FG = 3435973887;
236
- /** Default item background color */
237
- declare const DEFAULT_ITEM_BG = 255;
238
- /** Default disabled foreground color */
239
- declare const DEFAULT_DISABLED_FG = 1717987071;
240
- /**
241
- * Store for list component data.
242
- */
243
- declare const listStore: ListStore;
244
- /**
245
- * State machine configuration for list widgets.
246
- *
247
- * States:
248
- * - idle: List is not focused
249
- * - focused: List has focus, ready for navigation
250
- * - selecting: User is actively selecting (e.g., during mouse drag)
251
- * - searching: User is typing to search/filter items
252
- * - disabled: List is disabled and cannot be interacted with
253
- */
254
- declare const LIST_STATE_MACHINE_CONFIG: StateMachineConfig<ListState, ListEvent>;
255
- /**
256
- * Attaches list behavior to an entity.
257
- *
258
- * @param world - The ECS world
259
- * @param eid - The entity ID
260
- * @param items - Initial items
261
- * @param options - List options
262
- *
263
- * @example
264
- * ```typescript
265
- * import { attachListBehavior } from 'blecsd';
266
- *
267
- * attachListBehavior(world, eid, [
268
- * { text: 'Option 1', value: 'opt1' },
269
- * { text: 'Option 2', value: 'opt2' },
270
- * ], { interactive: true, keys: true });
271
- * ```
272
- */
273
- declare function attachListBehavior(world: World, eid: Entity, items?: ListItem[], options?: {
274
- interactive?: boolean;
275
- mouse?: boolean;
276
- keys?: boolean;
277
- search?: boolean;
278
- selectedIndex?: number;
279
- visibleCount?: number;
280
- }): void;
281
- /**
282
- * Checks if an entity is a list.
283
- *
284
- * @param world - The ECS world
285
- * @param eid - The entity ID
286
- * @returns true if entity is a list
287
- */
288
- declare function isList(world: World, eid: Entity): boolean;
289
- /**
290
- * Gets the current state of a list.
291
- *
292
- * @param world - The ECS world
293
- * @param eid - The entity ID
294
- * @returns The current state
295
- */
296
- declare function getListState(world: World, eid: Entity): ListState;
297
- /**
298
- * Checks if list is in a specific state.
299
- *
300
- * @param world - The ECS world
301
- * @param eid - The entity ID
302
- * @param state - The state to check
303
- * @returns true if list is in the specified state
304
- */
305
- declare function isListInState(world: World, eid: Entity, state: ListState): boolean;
306
- /**
307
- * Checks if list is focused.
308
- *
309
- * @param world - The ECS world
310
- * @param eid - The entity ID
311
- * @returns true if list is focused
312
- */
313
- declare function isListFocused(world: World, eid: Entity): boolean;
314
- /**
315
- * Checks if list is disabled.
316
- *
317
- * @param world - The ECS world
318
- * @param eid - The entity ID
319
- * @returns true if list is disabled
320
- */
321
- declare function isListDisabled(world: World, eid: Entity): boolean;
322
- /**
323
- * Sends an event to the list state machine.
324
- *
325
- * @param world - The ECS world
326
- * @param eid - The entity ID
327
- * @param event - The event to send
328
- * @returns true if transition occurred
329
- */
330
- declare function sendListEvent(world: World, eid: Entity, event: ListEvent): boolean;
331
- /**
332
- * Focuses the list.
333
- *
334
- * @param world - The ECS world
335
- * @param eid - The entity ID
336
- * @returns true if focused successfully
337
- */
338
- declare function focusList(world: World, eid: Entity): boolean;
339
- /**
340
- * Blurs the list.
341
- *
342
- * @param world - The ECS world
343
- * @param eid - The entity ID
344
- * @returns true if blurred successfully
345
- */
346
- declare function blurList(world: World, eid: Entity): boolean;
347
- /**
348
- * Disables the list.
349
- *
350
- * @param world - The ECS world
351
- * @param eid - The entity ID
352
- * @returns true if disabled successfully
353
- */
354
- declare function disableList(world: World, eid: Entity): boolean;
355
- /**
356
- * Enables the list.
357
- *
358
- * @param world - The ECS world
359
- * @param eid - The entity ID
360
- * @returns true if enabled successfully
361
- */
362
- declare function enableList(world: World, eid: Entity): boolean;
363
- /**
364
- * Gets all items from a list.
365
- *
366
- * @param eid - The entity ID
367
- * @returns Array of list items
368
- */
369
- declare function getItems(eid: Entity): readonly ListItem[];
370
- /**
371
- * Sets all items in a list.
372
- *
373
- * @param world - The ECS world
374
- * @param eid - The entity ID
375
- * @param items - The items to set
376
- */
377
- declare function setItems(world: World, eid: Entity, items: ListItem[]): void;
378
- /**
379
- * Adds an item to the list.
380
- *
381
- * @param world - The ECS world
382
- * @param eid - The entity ID
383
- * @param item - The item to add
384
- * @param index - Optional index to insert at (defaults to end)
385
- */
386
- declare function addItem(world: World, eid: Entity, item: ListItem, index?: number): void;
387
- /**
388
- * Removes an item from the list.
389
- *
390
- * @param world - The ECS world
391
- * @param eid - The entity ID
392
- * @param index - The index to remove
393
- * @returns The removed item or undefined
394
- */
395
- declare function removeItem(world: World, eid: Entity, index: number): ListItem | undefined;
396
- /**
397
- * Gets an item by index.
398
- *
399
- * @param eid - The entity ID
400
- * @param index - The item index
401
- * @returns The item or undefined
402
- */
403
- declare function getItem(eid: Entity, index: number): ListItem | undefined;
404
- /**
405
- * Updates an item at a specific index.
406
- *
407
- * @param world - The ECS world
408
- * @param eid - The entity ID
409
- * @param index - The item index
410
- * @param item - The new item data
411
- * @returns true if updated successfully
412
- */
413
- declare function updateItem(world: World, eid: Entity, index: number, item: ListItem): boolean;
414
- /**
415
- * Gets the number of items in the list.
416
- *
417
- * @param eid - The entity ID
418
- * @returns Number of items
419
- */
420
- declare function getItemCount(eid: Entity): number;
421
- /**
422
- * Clears all items from the list.
423
- *
424
- * @param world - The ECS world
425
- * @param eid - The entity ID
426
- */
427
- declare function clearItems(world: World, eid: Entity): void;
428
- /**
429
- * Gets the selected index.
430
- *
431
- * @param eid - The entity ID
432
- * @returns Selected index or -1 if none
433
- */
434
- declare function getSelectedIndex(eid: Entity): number;
435
- /**
436
- * Gets the selected item.
437
- *
438
- * @param eid - The entity ID
439
- * @returns Selected item or undefined
440
- */
441
- declare function getSelectedItem(eid: Entity): ListItem | undefined;
442
- declare function setSelectedIndex(world: World, eid: Entity, index: number): boolean;
443
- /**
444
- * Selects the previous item.
445
- *
446
- * @param world - The ECS world
447
- * @param eid - The entity ID
448
- * @param wrap - Whether to wrap around (default: true)
449
- * @returns true if selection changed
450
- */
451
- declare function selectPrev(world: World, eid: Entity, wrap?: boolean): boolean;
452
- /**
453
- * Selects the next item.
454
- *
455
- * @param world - The ECS world
456
- * @param eid - The entity ID
457
- * @param wrap - Whether to wrap around (default: true)
458
- * @returns true if selection changed
459
- */
460
- declare function selectNext(world: World, eid: Entity, wrap?: boolean): boolean;
461
- /**
462
- * Selects the first item.
463
- *
464
- * @param world - The ECS world
465
- * @param eid - The entity ID
466
- * @returns true if selection changed
467
- */
468
- declare function selectFirst(world: World, eid: Entity): boolean;
469
- /**
470
- * Selects the last item.
471
- *
472
- * @param world - The ECS world
473
- * @param eid - The entity ID
474
- * @returns true if selection changed
475
- */
476
- declare function selectLast(world: World, eid: Entity): boolean;
477
- /**
478
- * Selects an item by value.
479
- *
480
- * @param world - The ECS world
481
- * @param eid - The entity ID
482
- * @param value - The value to select
483
- * @returns true if selection changed
484
- */
485
- declare function selectByValue(world: World, eid: Entity, value: string): boolean;
486
- /**
487
- * Clears the selection.
488
- *
489
- * @param world - The ECS world
490
- * @param eid - The entity ID
491
- */
492
- declare function clearSelection(world: World, eid: Entity): void;
493
- /**
494
- * Activates (confirms) the currently selected item.
495
- *
496
- * @param world - The ECS world
497
- * @param eid - The entity ID
498
- * @returns true if an item was activated
499
- */
500
- declare function activateSelected(_world: World, eid: Entity): boolean;
501
- /**
502
- * Gets the first visible item index.
503
- *
504
- * @param eid - The entity ID
505
- * @returns First visible index
506
- */
507
- declare function getFirstVisible(eid: Entity): number;
508
- /**
509
- * Sets the first visible item index.
510
- *
511
- * @param world - The ECS world
512
- * @param eid - The entity ID
513
- * @param index - The first visible index
514
- */
515
- declare function setFirstVisible(world: World, eid: Entity, index: number): void;
516
- /**
517
- * Gets the number of visible items.
518
- *
519
- * @param eid - The entity ID
520
- * @returns Number of visible items
521
- */
522
- declare function getVisibleCount(eid: Entity): number;
523
- /**
524
- * Sets the number of visible items.
525
- *
526
- * @param world - The ECS world
527
- * @param eid - The entity ID
528
- * @param count - The number of visible items
529
- */
530
- declare function setVisibleCount(world: World, eid: Entity, count: number): void;
531
- /**
532
- * Ensures an index is visible by scrolling if necessary.
533
- *
534
- * @param world - The ECS world
535
- * @param eid - The entity ID
536
- * @param index - The index to make visible
537
- */
538
- declare function ensureVisible(world: World, eid: Entity, index: number): void;
539
- /**
540
- * Scrolls the list by a page (visibleCount items).
541
- *
542
- * @param world - The ECS world
543
- * @param eid - The entity ID
544
- * @param direction - 1 for down, -1 for up
545
- * @returns true if scrolled
546
- */
547
- declare function scrollPage(world: World, eid: Entity, direction: 1 | -1): boolean;
548
- /**
549
- * Gets the visible items for rendering.
550
- *
551
- * @param eid - The entity ID
552
- * @returns Array of visible items with their indices
553
- */
554
- declare function getVisibleItems(eid: Entity): Array<{
555
- index: number;
556
- item: ListItem;
557
- }>;
558
- /**
559
- * Sets the total item count for virtualized lists.
560
- * This can be larger than the actual loaded items count for infinite scroll.
561
- *
562
- * @param world - The ECS world
563
- * @param eid - The entity ID
564
- * @param count - Total item count
565
- */
566
- declare function setTotalCount(world: World, eid: Entity, count: number): void;
567
- /**
568
- * Gets the total item count (may be larger than loaded items).
569
- *
570
- * @param eid - The entity ID
571
- * @returns Total item count
572
- */
573
- declare function getTotalCount(eid: Entity): number;
574
- /**
575
- * Sets the lazy load callback for loading items on demand.
576
- *
577
- * @param eid - The entity ID
578
- * @param callback - Callback function to load items
579
- */
580
- declare function setLazyLoadCallback(eid: Entity, callback: ListLazyLoadCallback): void;
581
- /**
582
- * Gets the lazy load callback.
583
- *
584
- * @param eid - The entity ID
585
- * @returns Lazy load callback or undefined
586
- */
587
- declare function getLazyLoadCallback(eid: Entity): ListLazyLoadCallback | undefined;
588
- /**
589
- * Clears the lazy load callback.
590
- *
591
- * @param eid - The entity ID
592
- */
593
- declare function clearLazyLoadCallback(eid: Entity): void;
594
- /**
595
- * Registers a scroll callback for detecting scroll events.
596
- *
597
- * @param eid - The entity ID
598
- * @param callback - Callback function
599
- * @returns Unsubscribe function
600
- */
601
- declare function onListScroll(eid: Entity, callback: ListScrollCallback): () => void;
602
- /**
603
- * Sets the loading state for a list.
604
- *
605
- * @param world - The ECS world
606
- * @param eid - The entity ID
607
- * @param loading - Whether items are loading
608
- */
609
- declare function setListLoading(world: World, eid: Entity, loading: boolean): void;
610
- /**
611
- * Checks if a list is currently loading items.
612
- *
613
- * @param eid - The entity ID
614
- * @returns true if loading
615
- */
616
- declare function isListLoading(eid: Entity): boolean;
617
- /**
618
- * Sets the loading placeholder text.
619
- *
620
- * @param eid - The entity ID
621
- * @param text - Placeholder text to show while loading
622
- */
623
- declare function setLoadingPlaceholder(eid: Entity, text: string): void;
624
- /**
625
- * Gets the loading placeholder text.
626
- *
627
- * @param eid - The entity ID
628
- * @returns Loading placeholder text
629
- */
630
- declare function getLoadingPlaceholder(eid: Entity): string;
631
- /**
632
- * Loads items for a range using the lazy load callback.
633
- * Returns immediately if no callback is set or already loading.
634
- *
635
- * @param world - The ECS world
636
- * @param eid - The entity ID
637
- * @param startIndex - First item to load
638
- * @param count - Number of items to load
639
- * @returns Promise that resolves when loading completes
640
- */
641
- declare function loadItems(world: World, eid: Entity, startIndex: number, count: number): Promise<void>;
642
- /**
643
- * Checks if items need to be loaded for the current visible range.
644
- *
645
- * @param eid - The entity ID
646
- * @returns Object with needsLoad flag and range to load
647
- */
648
- declare function checkNeedsLoad(eid: Entity): {
649
- needsLoad: boolean;
650
- startIndex: number;
651
- count: number;
652
- };
653
- /**
654
- * Gets scroll info for the list.
655
- *
656
- * @param eid - The entity ID
657
- * @param threshold - Items from end to trigger nearEnd (default: visibleCount)
658
- * @returns Scroll information
659
- */
660
- declare function getScrollInfo$1(eid: Entity, threshold?: number): ListScrollInfo;
661
- /**
662
- * Appends items to the list (useful for infinite scroll).
663
- *
664
- * @param world - The ECS world
665
- * @param eid - The entity ID
666
- * @param newItems - Items to append
667
- */
668
- declare function appendItems(world: World, eid: Entity, newItems: readonly ListItem[]): void;
669
- /**
670
- * Sets the list display configuration.
671
- *
672
- * @param eid - The entity ID
673
- * @param options - Display options
674
- */
675
- declare function setListDisplay(eid: Entity, options: ListDisplayOptions): void;
676
- /**
677
- * Gets the list display configuration.
678
- *
679
- * @param eid - The entity ID
680
- * @returns Display configuration
681
- */
682
- declare function getListDisplay(eid: Entity): ListDisplay;
683
- /**
684
- * Clears the list display configuration.
685
- *
686
- * @param eid - The entity ID
687
- */
688
- declare function clearListDisplay(eid: Entity): void;
689
- /**
690
- * Checks if list is interactive.
691
- *
692
- * @param eid - The entity ID
693
- * @returns true if interactive
694
- */
695
- declare function isListInteractive(eid: Entity): boolean;
696
- /**
697
- * Sets list interactive mode.
698
- *
699
- * @param world - The ECS world
700
- * @param eid - The entity ID
701
- * @param interactive - Whether list is interactive
702
- */
703
- declare function setListInteractive(world: World, eid: Entity, interactive: boolean): void;
704
- /**
705
- * Checks if list responds to mouse.
706
- *
707
- * @param eid - The entity ID
708
- * @returns true if mouse enabled
709
- */
710
- declare function isListMouseEnabled(eid: Entity): boolean;
711
- /**
712
- * Sets list mouse mode.
713
- *
714
- * @param world - The ECS world
715
- * @param eid - The entity ID
716
- * @param mouse - Whether mouse is enabled
717
- */
718
- declare function setListMouse(world: World, eid: Entity, mouse: boolean): void;
719
- /**
720
- * Checks if list responds to keyboard.
721
- *
722
- * @param eid - The entity ID
723
- * @returns true if keys enabled
724
- */
725
- declare function isListKeysEnabled(eid: Entity): boolean;
726
- /**
727
- * Sets list keys mode.
728
- *
729
- * @param world - The ECS world
730
- * @param eid - The entity ID
731
- * @param keys - Whether keys are enabled
732
- */
733
- declare function setListKeys(world: World, eid: Entity, keys: boolean): void;
734
- /**
735
- * Checks if search mode is enabled for the list.
736
- *
737
- * @param eid - The entity ID
738
- * @returns true if search is enabled
739
- */
740
- declare function isListSearchEnabled(eid: Entity): boolean;
741
- /**
742
- * Sets whether search mode is enabled for the list.
743
- *
744
- * @param world - The ECS world
745
- * @param eid - The entity ID
746
- * @param enabled - Whether search is enabled
747
- */
748
- declare function setListSearchEnabled(world: World, eid: Entity, enabled: boolean): void;
749
- /**
750
- * Checks if list is currently in search mode.
751
- *
752
- * @param world - The ECS world
753
- * @param eid - The entity ID
754
- * @returns true if list is in searching state
755
- */
756
- declare function isListSearching(world: World, eid: Entity): boolean;
757
- /**
758
- * Starts search mode for the list.
759
- *
760
- * @param world - The ECS world
761
- * @param eid - The entity ID
762
- * @returns true if search mode was started
763
- */
764
- declare function startListSearch(world: World, eid: Entity): boolean;
765
- /**
766
- * Ends search mode for the list.
767
- *
768
- * @param world - The ECS world
769
- * @param eid - The entity ID
770
- * @returns true if search mode was ended
771
- */
772
- declare function endListSearch(world: World, eid: Entity): boolean;
773
- /**
774
- * Gets the current search query.
775
- *
776
- * @param eid - The entity ID
777
- * @returns The current search query or empty string
778
- */
779
- declare function getListSearchQuery(eid: Entity): string;
780
- /**
781
- * Sets the search query and finds matching items.
782
- *
783
- * @param world - The ECS world
784
- * @param eid - The entity ID
785
- * @param query - The search query
786
- * @returns true if a match was found and selected
787
- */
788
- declare function setListSearchQuery(world: World, eid: Entity, query: string): boolean;
789
- /**
790
- * Appends a character to the search query.
791
- *
792
- * @param world - The ECS world
793
- * @param eid - The entity ID
794
- * @param char - The character to append
795
- * @returns true if a match was found and selected
796
- */
797
- declare function appendToSearchQuery(world: World, eid: Entity, char: string): boolean;
798
- /**
799
- * Removes the last character from the search query.
800
- *
801
- * @param world - The ECS world
802
- * @param eid - The entity ID
803
- * @returns true if a match was found and selected
804
- */
805
- declare function backspaceSearchQuery(world: World, eid: Entity): boolean;
806
- /**
807
- * Clears the search query.
808
- *
809
- * @param world - The ECS world
810
- * @param eid - The entity ID
811
- */
812
- declare function clearSearchQuery(world: World, eid: Entity): void;
813
- /**
814
- * Finds and selects the first item matching the text (case-insensitive).
815
- *
816
- * @param world - The ECS world
817
- * @param eid - The entity ID
818
- * @param text - The text to search for
819
- * @returns true if a match was found and selected
820
- */
821
- declare function findAndSelectByText(world: World, eid: Entity, text: string): boolean;
822
- /**
823
- * Finds the next item matching the current search query.
824
- *
825
- * @param world - The ECS world
826
- * @param eid - The entity ID
827
- * @returns true if a match was found and selected
828
- */
829
- declare function findNextMatch(world: World, eid: Entity): boolean;
830
- /**
831
- * Registers a callback for when search query changes.
832
- *
833
- * @param eid - The entity ID
834
- * @param callback - The callback function
835
- * @returns Unsubscribe function
836
- *
837
- * @example
838
- * ```typescript
839
- * const unsubscribe = onListSearchChange(eid, (query) => {
840
- * console.log(`Search: ${query}`);
841
- * });
842
- * ```
843
- */
844
- declare function onListSearchChange(eid: Entity, callback: (query: string) => void): () => void;
845
- /**
846
- * Registers a callback for when selection changes.
847
- *
848
- * @param eid - The entity ID
849
- * @param callback - The callback function
850
- * @returns Unsubscribe function
851
- *
852
- * @example
853
- * ```typescript
854
- * const unsubscribe = onListSelect(eid, (index, item) => {
855
- * console.log(`Selected: ${item.text}`);
856
- * });
857
- * ```
858
- */
859
- declare function onListSelect(eid: Entity, callback: ListSelectCallback): () => void;
860
- /**
861
- * Registers a callback for when an item is activated (confirmed).
862
- *
863
- * @param eid - The entity ID
864
- * @param callback - The callback function
865
- * @returns Unsubscribe function
866
- *
867
- * @example
868
- * ```typescript
869
- * const unsubscribe = onListActivate(eid, (index, item) => {
870
- * console.log(`Activated: ${item.text}`);
871
- * });
872
- * ```
873
- */
874
- declare function onListActivate(eid: Entity, callback: ListSelectCallback): () => void;
875
- /**
876
- * Clears all callbacks for a list.
877
- *
878
- * @param eid - The entity ID
879
- */
880
- declare function clearListCallbacks(eid: Entity): void;
881
- /**
882
- * Handles key press for list widget.
883
- *
884
- * @param world - The ECS world
885
- * @param eid - The entity ID
886
- * @param key - The key name
887
- * @returns Action to perform or null
888
- *
889
- * @example
890
- * ```typescript
891
- * const action = handleListKeyPress(world, eid, 'down');
892
- * if (action?.type === 'selectNext') {
893
- * selectNext(world, eid);
894
- * }
895
- * ```
896
- */
897
- declare function handleListKeyPress(world: World, eid: Entity, key: string): ListAction | null;
898
- /**
899
- * Renders list items as strings for display.
900
- *
901
- * @param eid - The entity ID
902
- * @param width - Available width
903
- * @returns Array of rendered line strings
904
- */
905
- declare function renderListItems(eid: Entity, width: number): string[];
906
- /**
907
- * Resets the list store. Used for testing.
908
- */
909
- declare function resetListStore(): void;
910
399
 
911
400
  /**
912
401
  * Scrollable component for scrolling support.
@@ -1258,13 +747,13 @@ interface TableColumn {
1258
747
  /** Column header text */
1259
748
  readonly header: string;
1260
749
  /** Column width (characters) */
1261
- readonly width?: number;
750
+ readonly width?: number | undefined;
1262
751
  /** Column minimum width */
1263
- readonly minWidth?: number;
752
+ readonly minWidth?: number | undefined;
1264
753
  /** Column maximum width */
1265
- readonly maxWidth?: number;
754
+ readonly maxWidth?: number | undefined;
1266
755
  /** Column alignment */
1267
- readonly align?: CellAlign;
756
+ readonly align?: CellAlign | undefined;
1268
757
  }
1269
758
  /**
1270
759
  * Table store for managing table-specific data.
@@ -1429,17 +918,19 @@ declare function setData(world: World, eid: Entity, rows: ReadonlyArray<Readonly
1429
918
  /**
1430
919
  * Gets the table data.
1431
920
  *
921
+ * @param world - The ECS world (unused, kept for API consistency)
1432
922
  * @param eid - The entity ID
1433
923
  * @returns Table data as array of rows
1434
924
  */
1435
- declare function getData(eid: Entity): TableData;
925
+ declare function getData(_world: World, eid: Entity): TableData;
1436
926
  /**
1437
927
  * Gets the table data as a string array.
1438
928
  *
929
+ * @param world - The ECS world (unused, kept for API consistency)
1439
930
  * @param eid - The entity ID
1440
931
  * @returns Table data as string[][]
1441
932
  */
1442
- declare function getDataAsStrings(eid: Entity): string[][];
933
+ declare function getDataAsStrings(_world: World, eid: Entity): string[][];
1443
934
  /**
1444
935
  * Sets a single cell value.
1445
936
  *
@@ -1460,51 +951,57 @@ declare function setCell(world: World, eid: Entity, row: number, col: number, va
1460
951
  /**
1461
952
  * Gets a single cell value.
1462
953
  *
954
+ * @param world - The ECS world (unused, kept for API consistency)
1463
955
  * @param eid - The entity ID
1464
956
  * @param row - Row index (0-based)
1465
957
  * @param col - Column index (0-based)
1466
958
  * @returns Cell data or undefined if out of bounds
1467
959
  */
1468
- declare function getCell(eid: Entity, row: number, col: number): TableCell | undefined;
960
+ declare function getCell(_world: World, eid: Entity, row: number, col: number): TableCell | undefined;
1469
961
  /**
1470
962
  * Gets a cell's string value.
1471
963
  *
964
+ * @param world - The ECS world (unused, kept for API consistency)
1472
965
  * @param eid - The entity ID
1473
966
  * @param row - Row index (0-based)
1474
967
  * @param col - Column index (0-based)
1475
968
  * @returns Cell value string or undefined if out of bounds
1476
969
  */
1477
- declare function getCellValue(eid: Entity, row: number, col: number): string | undefined;
970
+ declare function getCellValue(world: World, eid: Entity, row: number, col: number): string | undefined;
1478
971
  /**
1479
972
  * Gets a specific row.
1480
973
  *
974
+ * @param world - The ECS world (unused, kept for API consistency)
1481
975
  * @param eid - The entity ID
1482
976
  * @param row - Row index (0-based)
1483
977
  * @returns Row data or undefined if out of bounds
1484
978
  */
1485
- declare function getRow(eid: Entity, row: number): TableRow | undefined;
979
+ declare function getRow(_world: World, eid: Entity, row: number): TableRow | undefined;
1486
980
  /**
1487
981
  * Gets a specific column.
1488
982
  *
983
+ * @param world - The ECS world (unused, kept for API consistency)
1489
984
  * @param eid - The entity ID
1490
985
  * @param col - Column index (0-based)
1491
986
  * @returns Column data as array of cells
1492
987
  */
1493
- declare function getColumn(eid: Entity, col: number): readonly TableCell[];
988
+ declare function getColumn(_world: World, eid: Entity, col: number): readonly TableCell[];
1494
989
  /**
1495
990
  * Gets the number of rows.
1496
991
  *
992
+ * @param world - The ECS world (unused, kept for API consistency)
1497
993
  * @param eid - The entity ID
1498
994
  * @returns Number of rows
1499
995
  */
1500
- declare function getRowCount(eid: Entity): number;
996
+ declare function getRowCount(_world: World, eid: Entity): number;
1501
997
  /**
1502
998
  * Gets the number of columns.
1503
999
  *
1000
+ * @param world - The ECS world (unused, kept for API consistency)
1504
1001
  * @param eid - The entity ID
1505
1002
  * @returns Number of columns
1506
1003
  */
1507
- declare function getColCount(eid: Entity): number;
1004
+ declare function getColCount(_world: World, eid: Entity): number;
1508
1005
  /**
1509
1006
  * Appends a row to the table.
1510
1007
  *
@@ -1558,24 +1055,27 @@ declare function setHeaders(world: World, eid: Entity, columns: readonly TableCo
1558
1055
  /**
1559
1056
  * Gets the column configuration.
1560
1057
  *
1058
+ * @param world - The ECS world (unused, kept for API consistency)
1561
1059
  * @param eid - The entity ID
1562
1060
  * @returns Column configuration
1563
1061
  */
1564
- declare function getColumns(eid: Entity): readonly TableColumn[];
1062
+ declare function getColumns(_world: World, eid: Entity): readonly TableColumn[];
1565
1063
  /**
1566
1064
  * Gets the header row(s).
1567
1065
  *
1066
+ * @param world - The ECS world (unused, kept for API consistency)
1568
1067
  * @param eid - The entity ID
1569
1068
  * @returns Header row data
1570
1069
  */
1571
- declare function getHeaderRows(eid: Entity): readonly TableRow[];
1070
+ declare function getHeaderRows(_world: World, eid: Entity): readonly TableRow[];
1572
1071
  /**
1573
1072
  * Gets the data rows (excluding headers).
1574
1073
  *
1074
+ * @param world - The ECS world (unused, kept for API consistency)
1575
1075
  * @param eid - The entity ID
1576
1076
  * @returns Data rows
1577
1077
  */
1578
- declare function getDataRows(eid: Entity): readonly TableRow[];
1078
+ declare function getDataRows(_world: World, eid: Entity): readonly TableRow[];
1579
1079
  /**
1580
1080
  * Sets the number of header rows.
1581
1081
  *
@@ -1587,37 +1087,42 @@ declare function setHeaderRowCount(world: World, eid: Entity, count: number): vo
1587
1087
  /**
1588
1088
  * Gets the number of header rows.
1589
1089
  *
1090
+ * @param world - The ECS world (unused, kept for API consistency)
1590
1091
  * @param eid - The entity ID
1591
1092
  * @returns Number of header rows
1592
1093
  */
1593
- declare function getHeaderRowCount(eid: Entity): number;
1094
+ declare function getHeaderRowCount(_world: World, eid: Entity): number;
1594
1095
  /**
1595
1096
  * Sets the table display configuration.
1596
1097
  *
1098
+ * @param world - The ECS world (unused, kept for API consistency)
1597
1099
  * @param eid - The entity ID
1598
1100
  * @param options - Display options
1599
1101
  */
1600
- declare function setTableDisplay(eid: Entity, options: TableDisplayOptions): void;
1102
+ declare function setTableDisplay(_world: World, eid: Entity, options: TableDisplayOptions): void;
1601
1103
  /**
1602
1104
  * Gets the table display configuration.
1603
1105
  *
1106
+ * @param world - The ECS world (unused, kept for API consistency)
1604
1107
  * @param eid - The entity ID
1605
1108
  * @returns Display configuration
1606
1109
  */
1607
- declare function getTableDisplay(eid: Entity): TableDisplay;
1110
+ declare function getTableDisplay(_world: World, eid: Entity): TableDisplay;
1608
1111
  /**
1609
1112
  * Clears the table display configuration.
1610
1113
  *
1114
+ * @param world - The ECS world (unused, kept for API consistency)
1611
1115
  * @param eid - The entity ID
1612
1116
  */
1613
- declare function clearTableDisplay(eid: Entity): void;
1117
+ declare function clearTableDisplay(_world: World, eid: Entity): void;
1614
1118
  /**
1615
1119
  * Gets the cell padding.
1616
1120
  *
1121
+ * @param world - The ECS world (unused, kept for API consistency)
1617
1122
  * @param eid - The entity ID
1618
1123
  * @returns Cell padding (spaces)
1619
1124
  */
1620
- declare function getCellPadding(eid: Entity): number;
1125
+ declare function getCellPadding(_world: World, eid: Entity): number;
1621
1126
  /**
1622
1127
  * Sets the cell padding.
1623
1128
  *
@@ -1629,10 +1134,11 @@ declare function setCellPadding(world: World, eid: Entity, padding: number): voi
1629
1134
  /**
1630
1135
  * Checks if cell borders are enabled.
1631
1136
  *
1137
+ * @param world - The ECS world (unused, kept for API consistency)
1632
1138
  * @param eid - The entity ID
1633
1139
  * @returns true if cell borders are enabled
1634
1140
  */
1635
- declare function hasCellBorders(eid: Entity): boolean;
1141
+ declare function hasCellBorders(_world: World, eid: Entity): boolean;
1636
1142
  /**
1637
1143
  * Sets whether cell borders are enabled.
1638
1144
  *
@@ -1641,8 +1147,24 @@ declare function hasCellBorders(eid: Entity): boolean;
1641
1147
  * @param enabled - Whether to show cell borders
1642
1148
  */
1643
1149
  declare function setCellBorders(world: World, eid: Entity, enabled: boolean): void;
1644
- declare function calculateColumnWidths(eid: Entity, maxTotalWidth?: number): number[];
1645
- declare function renderTableLines(eid: Entity, width: number): string[];
1150
+ /**
1151
+ * Calculates column widths based on content.
1152
+ *
1153
+ * @param world - The ECS world (unused, kept for API consistency)
1154
+ * @param eid - The entity ID
1155
+ * @param maxTotalWidth - Maximum total width (optional)
1156
+ * @returns Array of column widths
1157
+ */
1158
+ declare function calculateColumnWidths(_world: World, eid: Entity, maxTotalWidth?: number): number[];
1159
+ /**
1160
+ * Renders table as an array of strings (one per line).
1161
+ *
1162
+ * @param world - The ECS world (unused, kept for API consistency)
1163
+ * @param eid - The entity ID
1164
+ * @param width - Available width
1165
+ * @returns Array of rendered line strings
1166
+ */
1167
+ declare function renderTableLines(world: World, eid: Entity, width: number): string[];
1646
1168
  /**
1647
1169
  * Resets the table store. Used for testing.
1648
1170
  */
@@ -2331,4 +1853,4 @@ declare function clearViewportDirty(world: World, eid: Entity): Entity;
2331
1853
  */
2332
1854
  declare function invalidateViewport(world: World, eid: Entity): Entity;
2333
1855
 
2334
- export { type ScrollInfo as $, type ScrollPercentage as A, type ScrollPosition as B, type CellAlign as C, DEFAULT_CELL_BG as D, Scrollable as E, type ScrollableData as F, type ScrollableOptions as G, ScrollbarVisibility as H, type TableCell as I, type TableColumn as J, type TableData as K, LIST_STATE_MACHINE_CONFIG as L, type TableDisplay as M, type TableDisplayOptions as N, type TableRow as O, type TableStore as P, TerminalBuffer as Q, type TerminalBufferConfig as R, ScrollInfoSchema as S, Table as T, TerminalBufferConfigSchema as U, type CursorShape as V, type TerminalState as W, VirtualViewport as X, type VirtualViewportData as Y, type VirtualViewportOptions as Z, VirtualViewportOptionsSchema as _, DEFAULT_CELL_FG as a, getTerminalBuffer as a$, type VisibleRange as a0, VisibleRangeSchema as a1, activateSelected as a2, addItem as a3, appendItems as a4, appendRow as a5, appendToSearchQuery as a6, attachListBehavior as a7, attachTableBehavior as a8, backspaceSearchQuery as a9, getColumn as aA, getColumns as aB, getCursorLine as aC, getData as aD, getDataAsStrings as aE, getDataRows as aF, getFirstVisible as aG, getHeaderRowCount as aH, getHeaderRows as aI, getItem as aJ, getItemCount as aK, getItems as aL, getLazyLoadCallback as aM, getListDisplay as aN, getListSearchQuery as aO, getSelectedIndex as aP, getListState as aQ, getLoadingPlaceholder as aR, getRow as aS, getRowCount as aT, getScroll as aU, getScrollInfo$1 as aV, getScrollPercentage as aW, getScrollable as aX, getSelectedItem as aY, getSelectedLine as aZ, getTableDisplay as a_, blurList as aa, calculateColumnWidths as ab, canScroll as ac, checkNeedsLoad as ad, clearData as ae, clearItems as af, clearLazyLoadCallback as ag, clearListCallbacks as ah, clearListDisplay as ai, clearSelection as aj, clearSearchQuery as ak, clearTableDisplay as al, clearTerminal as am, clearViewportDirty as an, detachTableBehavior as ao, disableList as ap, enableList as aq, endListSearch as ar, ensureCursorVisible as as, ensureVisible as at, findAndSelectByText as au, findNextMatch as av, focusList as aw, getCellPadding as ax, getCellValue as ay, getColCount as az, DEFAULT_DISABLED_FG as b, selectByValue as b$, getTerminalCells as b0, getTerminalState as b1, getTotalCount as b2, getScrollInfo as b3, getVirtualViewport as b4, getVisibleCount as b5, getVisibleItems as b6, getVisibleRange as b7, handleListKeyPress as b8, hasCellBorders as b9, onListSearchChange as bA, onListSelect as bB, removeItem as bC, removeRow as bD, removeTerminalBuffer as bE, renderListItems as bF, renderTableLines as bG, renderTerminalToAnsi as bH, resetListStore as bI, resetTableStore as bJ, resetTerminal as bK, resetTerminalBufferStore as bL, resizeTerminalBuffer as bM, scrollBy as bN, scrollByLines as bO, scrollByPages as bP, scrollPage as bQ, scrollTerminalDown as bR, scrollTerminalToBottom as bS, scrollTerminalToTop as bT, scrollTerminalUp as bU, scrollTo as bV, scrollToBottom$1 as bW, scrollToLine as bX, scrollToTop$1 as bY, scrollToBottom as bZ, scrollToTop as b_, hasScrollable as ba, hasTerminalBuffer as bb, hasVirtualViewport as bc, insertRow as bd, invalidateViewport as be, isAtBottom as bf, isAtTop as bg, isLineInRenderRange as bh, isLineVisible as bi, isList as bj, isListDisabled as bk, isListFocused as bl, isListInState as bm, isListInteractive as bn, isListKeysEnabled as bo, isListLoading as bp, isListMouseEnabled as bq, isListSearchEnabled as br, isListSearching as bs, isTable as bt, isViewportDirty as bu, listStore as bv, loadItems as bw, moveCursor as bx, onListActivate as by, onListScroll as bz, DEFAULT_HEADER_BG as c, selectFirst as c0, selectLast as c1, selectNext as c2, selectPrev as c3, sendListEvent as c4, setCellBorders as c5, setCellPadding as c6, setCursorLine as c7, setCursorPosition as c8, setData as c9, setVisibleCount as cA, setVisibleLineCount as cB, startListSearch as cC, tableStore as cD, updateItem as cE, writeToTerminal as cF, type StateMachineConfig as cG, type StateMachine as cH, getCell as cI, setCell as cJ, setCursorVisible as cK, writeChar as cL, setFirstVisible as ca, setHeaderRowCount as cb, setHeaders as cc, setItems as cd, setLazyLoadCallback as ce, setListDisplay as cf, setListInteractive as cg, setListKeys as ch, setListLoading as ci, setListMouse as cj, setListSearchEnabled as ck, setListSearchQuery as cl, setSelectedIndex as cm, setLoadingPlaceholder as cn, setOverscan as co, setScroll as cp, setScrollSize as cq, setScrollable as cr, setScrollbarVisibility as cs, setSelectedLine as ct, setTableDisplay as cu, setTerminalBuffer as cv, setTotalCount as cw, setTotalLineCount as cx, setViewportStart as cy, setVirtualViewport as cz, DEFAULT_HEADER_FG as d, DEFAULT_ITEM_BG as e, DEFAULT_ITEM_FG as f, DEFAULT_SCROLLBACK_LINES as g, DEFAULT_SELECTED_BG as h, DEFAULT_SELECTED_FG as i, DEFAULT_SELECTED_PREFIX as j, DEFAULT_BORDER_BG as k, DEFAULT_BORDER_FG as l, DEFAULT_TERMINAL_HEIGHT as m, DEFAULT_TERMINAL_WIDTH as n, DEFAULT_UNSELECTED_PREFIX as o, type ListAction as p, type ListDisplay as q, type ListDisplayOptions as r, type ListEvent as s, type ListItem as t, type ListLazyLoadCallback as u, type ListScrollCallback as v, type ListScrollInfo as w, type ListSelectCallback as x, type ListState as y, type ListStore as z };
1856
+ export { appendRow as $, AUTO_DIMENSION as A, type ScrollableOptions as B, type CellAlign as C, DEFAULT_CELL_BG as D, ScrollbarVisibility as E, type TableCell as F, type TableColumn as G, type TableData as H, type TableDisplay as I, type TableDisplayOptions as J, type TableRow as K, type ListAction as L, type TableStore as M, TerminalBuffer as N, type TerminalBufferConfig as O, TerminalBufferConfigSchema as P, type CursorShape as Q, type TerminalState as R, ScrollInfoSchema as S, Table as T, type VirtualViewportData as U, VirtualViewport as V, type VirtualViewportOptions as W, VirtualViewportOptionsSchema as X, type ScrollInfo as Y, type VisibleRange as Z, VisibleRangeSchema as _, DEFAULT_CELL_FG as a, scrollByPages as a$, attachTableBehavior as a0, calculateColumnWidths as a1, canScroll as a2, clearData as a3, clearTableDisplay as a4, clearTerminal as a5, clearViewportDirty as a6, decodePercentage as a7, detachTableBehavior as a8, encodePercentage as a9, getVirtualViewport as aA, getVisibleRange as aB, hasCellBorders as aC, hasDimensions as aD, hasScrollable as aE, hasTerminalBuffer as aF, hasVirtualViewport as aG, insertRow as aH, invalidateViewport as aI, isAtBottom as aJ, isAtTop as aK, isLineInRenderRange as aL, isLineVisible as aM, isPercentage as aN, isTable as aO, isViewportDirty as aP, moveCursor as aQ, removeRow as aR, removeTerminalBuffer as aS, renderTableLines as aT, renderTerminalToAnsi as aU, resetTableStore as aV, resetTerminal as aW, resetTerminalBufferStore as aX, resizeTerminalBuffer as aY, scrollBy as aZ, scrollByLines as a_, ensureCursorVisible as aa, getCellPadding as ab, getCellValue as ac, getColCount as ad, getColumn as ae, getColumns as af, getCursorLine as ag, getData as ah, getDataAsStrings as ai, getDataRows as aj, getDimensions as ak, getHeaderRowCount as al, getHeaderRows as am, getResolvedHeight as an, getResolvedWidth as ao, getRow as ap, getRowCount as aq, getScroll as ar, getScrollPercentage as as, getScrollable as at, getSelectedLine as au, getTableDisplay as av, getTerminalBuffer as aw, getTerminalCells as ax, getTerminalState as ay, getScrollInfo as az, DEFAULT_HEADER_BG as b, scrollTerminalDown as b0, scrollTerminalToBottom as b1, scrollTerminalToTop as b2, scrollTerminalUp as b3, scrollTo as b4, scrollToBottom$1 as b5, scrollToLine as b6, scrollToTop$1 as b7, scrollToBottom as b8, scrollToTop as b9, getCell as bA, setCell as bB, setCursorVisible as bC, setCellBorders as ba, setCellPadding as bb, setConstraints as bc, setCursorLine as bd, setCursorPosition as be, setData as bf, setDimensions as bg, setHeaderRowCount as bh, setHeaders as bi, setOverscan as bj, setScroll as bk, setScrollSize as bl, setScrollable as bm, setScrollbarVisibility as bn, setSelectedLine as bo, setShrink as bp, setTableDisplay as bq, setTerminalBuffer as br, setTotalLineCount as bs, setViewportStart as bt, setVirtualViewport as bu, setVisibleLineCount as bv, shouldShrink as bw, tableStore as bx, writeChar as by, writeToTerminal as bz, DEFAULT_HEADER_FG as c, DEFAULT_SCROLLBACK_LINES as d, DEFAULT_BORDER_BG as e, DEFAULT_BORDER_FG as f, DEFAULT_TERMINAL_HEIGHT as g, DEFAULT_TERMINAL_WIDTH as h, type DimensionConstraints as i, type DimensionValue as j, Dimensions as k, type DimensionsData as l, type ListDisplay as m, type ListDisplayOptions as n, type ListEvent as o, type ListItem as p, type ListLazyLoadCallback as q, type ListScrollCallback as r, type ListScrollInfo as s, type ListSelectCallback as t, type ListState as u, type ListStore as v, type ScrollPercentage as w, type ScrollPosition as x, Scrollable as y, type ScrollableData as z };