blecsd 0.4.0 → 0.6.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.
- package/README.md +145 -145
- package/dist/{border-DGNDfT6T.d.ts → border-Br-Jc027.d.ts} +2 -2
- package/dist/{cell-DwIu2ryP.d.ts → cell-5Ty_3yMs.d.ts} +1 -1
- package/dist/cellRenderer-D0-DJXWl.d.ts +374 -0
- package/dist/chunk-4N7IFBRQ.js +4 -0
- package/dist/{chunk-DNRXW56C.js → chunk-4XCFTNGN.js} +1 -1
- package/dist/chunk-5YWRP2KG.js +3 -0
- package/dist/chunk-73Y45MLV.js +12 -0
- package/dist/chunk-7ZFQO3OQ.js +1 -0
- package/dist/chunk-A3GSH6MV.js +1 -0
- package/dist/chunk-A5B2BGUM.js +1 -0
- package/dist/chunk-AM6IDSXI.js +1 -0
- package/dist/chunk-EHYOVHRL.js +2 -0
- package/dist/chunk-EMZA6G2M.js +4 -0
- package/dist/chunk-EOFT3PNU.js +1 -0
- package/dist/chunk-ETFDYZVJ.js +1 -0
- package/dist/chunk-FUW7OD3H.js +1 -0
- package/dist/chunk-GRMSEMU7.js +1 -0
- package/dist/chunk-I7AUKTXE.js +1 -0
- package/dist/chunk-IANAVH2A.js +1 -0
- package/dist/chunk-JN2OGNK3.js +1 -0
- package/dist/chunk-JVMNMAHX.js +1 -0
- package/dist/chunk-K2QWNDXV.js +1 -0
- package/dist/chunk-KYNS3GBJ.js +2 -0
- package/dist/chunk-LI3ZYXUT.js +1 -0
- package/dist/chunk-LNEISTXM.js +1 -0
- package/dist/chunk-QABNK7IA.js +1 -0
- package/dist/chunk-QS5QXZNJ.js +1 -0
- package/dist/chunk-QTDRFJG2.js +1 -0
- package/dist/chunk-SVHITP3F.js +2 -0
- package/dist/chunk-UKVY43V3.js +1 -0
- package/dist/chunk-VIT4KE6Q.js +1 -0
- package/dist/chunk-XG5PVDOP.js +1 -0
- package/dist/chunk-XH5GTWCV.js +1 -0
- package/dist/chunk-XYMPBCYW.js +1 -0
- package/dist/chunk-YRSSCEAS.js +1 -0
- package/dist/chunk-ZL46COQF.js +1 -0
- package/dist/cli/init.js +1 -1
- package/dist/{componentStorage-CJTh-TPO.d.ts → componentStorage-CXJvx4Lt.d.ts} +2 -2
- package/dist/components/index.d.ts +8172 -7777
- package/dist/components/index.js +5 -1
- package/dist/core/index.d.ts +4777 -3942
- package/dist/core/index.js +1 -1
- package/dist/debug/index.d.ts +310 -84
- package/dist/debug/index.js +8 -1
- package/dist/{dirtyTracking-C4v8MmM9.d.ts → dirtyTracking-kCS9-NVF.d.ts} +2 -2
- package/dist/{doubleBuffer-CKQFmlPN.d.ts → doubleBuffer-CWASihKh.d.ts} +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/{inputActions-Fyw14_Gm.d.ts → factories-vW7bn_He.d.ts} +21 -786
- package/dist/{gameLoop-CSTb7e0L.d.ts → gameLoop-C1AyRWyP.d.ts} +3 -3
- package/dist/index.d.ts +24 -1217
- package/dist/index.js +1 -3
- package/dist/input/index.d.ts +1 -1
- package/dist/input/index.js +1 -1
- package/dist/inputStream-COARA4CP.d.ts +1182 -0
- package/dist/interactiveSystem-h92W9W4n.d.ts +1977 -0
- package/dist/{keyParser-m7fWto6g.d.ts → keyParser-DReXe2j-.d.ts} +28 -28
- package/dist/{events-9ForpTfM.d.ts → mouseParser-CCqSEUVN.d.ts} +177 -2
- package/dist/{packedStore-BgvnEdE7.d.ts → packedStore-480t2X74.d.ts} +1 -1
- package/dist/panelMovement-DGzIQ8Ll.d.ts +1908 -0
- package/dist/{parser-iMHmQuUh.d.ts → parser-Q1YLXYpF.d.ts} +1 -1
- package/dist/positioning-DiUivJXa.d.ts +917 -0
- package/dist/{renderable-CwqGwrEV.d.ts → renderable-IbSJao5y.d.ts} +2 -2
- package/dist/{scheduler-DeeZleia.d.ts → scheduler-NbHT3-D2.d.ts} +1 -1
- package/dist/schemas/index.d.ts +6 -6
- package/dist/schemas/index.js +1 -1
- package/dist/systems/index.d.ts +785 -1882
- package/dist/systems/index.js +1 -1
- package/dist/terminal/index.d.ts +7563 -3387
- package/dist/terminal/index.js +1 -1
- package/dist/terminalBuffer-BbUz27qM.d.ts +691 -0
- package/dist/{terminus-14-bold-HWSPRLJD.js → terminus-14-bold-ZS4IH465.js} +1 -1
- package/dist/{terminus-14-normal-T3SWMH4D.js → terminus-14-normal-HD5N7F5W.js} +1 -1
- package/dist/text/index.d.ts +263 -0
- package/dist/text/index.js +3 -0
- package/dist/textWrap-Ct2J8gO6.d.ts +761 -0
- package/dist/{tilemap-BirMJdbu.d.ts → tilemap-ByvTsepD.d.ts} +5 -5
- package/dist/{types-CPB4CpbH.d.ts → types-B8LmNkzG.d.ts} +1 -1
- package/dist/utils/index.d.ts +829 -782
- package/dist/utils/index.js +32 -1
- package/dist/{virtualScrollback-D9uLFe8l.d.ts → virtualScrollback-CiooIebp.d.ts} +4 -4
- package/dist/virtualViewport-fIlbIGPt.d.ts +657 -0
- package/dist/{virtualizedLineStore-DwPEvPkk.d.ts → virtualizedLineStore-DfyhojPZ.d.ts} +1 -1
- package/dist/widgets/bigText.d.ts +13 -13
- package/dist/widgets/bigText.js +1 -1
- package/dist/widgets/fonts/index.d.ts +1 -1
- package/dist/widgets/fonts/index.js +1 -1
- package/dist/widgets/index.d.ts +1620 -910
- package/dist/widgets/index.js +24 -1
- package/package.json +9 -22
- package/dist/3d/index.d.ts +0 -5
- package/dist/3d/index.js +0 -1
- package/dist/audio/index.d.ts +0 -177
- package/dist/audio/index.js +0 -1
- package/dist/chunk-25OEBENM.js +0 -3
- package/dist/chunk-26STV7ZS.js +0 -1
- package/dist/chunk-2NMGUEFC.js +0 -4
- package/dist/chunk-35LCBY6P.js +0 -1
- package/dist/chunk-4PRDJTCM.js +0 -1
- package/dist/chunk-5PELJRUQ.js +0 -1
- package/dist/chunk-5VEKHA3B.js +0 -5
- package/dist/chunk-6KEM3OS2.js +0 -11
- package/dist/chunk-6XWY6GB7.js +0 -1
- package/dist/chunk-735KKTP3.js +0 -1
- package/dist/chunk-7SWJNDOL.js +0 -26
- package/dist/chunk-APKUNIMB.js +0 -1
- package/dist/chunk-CJCSZRV6.js +0 -1
- package/dist/chunk-DMBMCCLN.js +0 -1
- package/dist/chunk-DQTVJITR.js +0 -1
- package/dist/chunk-DSKQ5J4R.js +0 -1
- package/dist/chunk-E4CJRSND.js +0 -1
- package/dist/chunk-EF4DC6IN.js +0 -1
- package/dist/chunk-EJAKECSN.js +0 -1
- package/dist/chunk-FNQRUMFD.js +0 -1
- package/dist/chunk-GJ3RS2VG.js +0 -1
- package/dist/chunk-KTVEMB2I.js +0 -1
- package/dist/chunk-KYAPE44E.js +0 -8
- package/dist/chunk-LI4Y7TBZ.js +0 -1
- package/dist/chunk-NHOL4BN6.js +0 -1
- package/dist/chunk-NPNUUSIB.js +0 -1
- package/dist/chunk-NZ55KBM6.js +0 -1
- package/dist/chunk-OFRWGW2G.js +0 -1
- package/dist/chunk-OMMJ7B5P.js +0 -1
- package/dist/chunk-OMU5BSAS.js +0 -2
- package/dist/chunk-P3ZLIQJP.js +0 -1
- package/dist/chunk-PWI36BQJ.js +0 -1
- package/dist/chunk-QQMUDJ32.js +0 -2
- package/dist/chunk-R3ICZOE4.js +0 -1
- package/dist/chunk-RZ7FGVI6.js +0 -1
- package/dist/chunk-S6WS46FE.js +0 -1
- package/dist/chunk-TSARUU56.js +0 -1
- package/dist/chunk-WJRVUAZR.js +0 -33
- package/dist/chunk-WY5EZOOL.js +0 -1
- package/dist/chunk-YY6RZCZH.js +0 -4
- package/dist/chunk-ZPGJCHXH.js +0 -1
- package/dist/chunk-ZPL2J25N.js +0 -1
- package/dist/game/index.d.ts +0 -486
- package/dist/game/index.js +0 -1
- package/dist/index-DBS5Uefn.d.ts +0 -3156
- package/dist/mouseParser-B7p5ow7K.d.ts +0 -177
- package/dist/viewport3d-xI33-_wq.d.ts +0 -182
- package/dist/virtualViewport-DTSN6jFk.d.ts +0 -1856
package/dist/widgets/index.d.ts
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
|
+
export { G as createFormEntity, H as createProgressBarEntity, J as createRadioButtonEntity, K as createRadioSetEntity, M as createSliderEntity, N as createTextareaEntity, O as createTextboxEntity } from '../factories-vW7bn_He.js';
|
|
1
2
|
import { z } from 'zod';
|
|
2
|
-
import { E as Entity, W as World, L as LoopPhase } from '../types-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
import {
|
|
9
|
-
|
|
3
|
+
import { E as Entity, W as World, L as LoopPhase } from '../types-B8LmNkzG.js';
|
|
4
|
+
import { createBigText, isBigText, setBigText, resetBigTextStore } from './bigText.js';
|
|
5
|
+
export { BigText, BigTextConfig, BigTextConfigSchema, BigTextWidget, FontDefinition } from './bigText.js';
|
|
6
|
+
import { o as BorderCharset, r as BorderType } from '../border-Br-Jc027.js';
|
|
7
|
+
import { S as Scheduler } from '../scheduler-NbHT3-D2.js';
|
|
8
|
+
import { D as DimensionValue$8, T as ScrollInfo } from '../virtualViewport-fIlbIGPt.js';
|
|
9
|
+
import { FontName, BitmapFont, CharBitmap, RenderCharOptions, FontNotFoundError } from './fonts/index.js';
|
|
10
|
+
export { BitmapFontSchema, CharBitmapSchema, createFontNotFoundError, getCharBitmap, loadFont, renderChar } from './fonts/index.js';
|
|
11
|
+
import { c as Bitmap, o as RenderMode, b as GraphicsManagerState, C as CellMap } from '../cellRenderer-D0-DJXWl.js';
|
|
12
|
+
import { a as ListItem, b as ListState, L as ListSelectCallback, f as ListAction, C as CellAlign, o as TableColumn, T as TableData, m as TableCell, n as TableRow, p as TableDisplay, k as ScrollPercentage, j as ScrollPosition, S as ScrollableData, J as CursorShape, K as TerminalState } from '../terminalBuffer-BbUz27qM.js';
|
|
13
|
+
import { C as Cell } from '../cell-5Ty_3yMs.js';
|
|
10
14
|
import 'bitecs';
|
|
11
|
-
import '../parser-
|
|
12
|
-
import '../virtualScrollback-
|
|
15
|
+
import '../parser-Q1YLXYpF.js';
|
|
16
|
+
import '../virtualScrollback-CiooIebp.js';
|
|
13
17
|
|
|
14
18
|
/**
|
|
15
19
|
* Accordion and Collapsible Widgets
|
|
@@ -275,6 +279,36 @@ declare function isCollapsible(entity: Entity): boolean;
|
|
|
275
279
|
*/
|
|
276
280
|
declare function Accordion(entity: Entity, world: World): AccordionWidget | undefined;
|
|
277
281
|
|
|
282
|
+
/**
|
|
283
|
+
* Accordion widget namespace.
|
|
284
|
+
*
|
|
285
|
+
* @example
|
|
286
|
+
* ```typescript
|
|
287
|
+
* import { accordion } from 'blecsd/widgets';
|
|
288
|
+
* const a = accordion.create(world, { sections: [...] });
|
|
289
|
+
* accordion.expandSection(world, a.eid, 0);
|
|
290
|
+
* accordion.toggleSection(world, a.eid, 1);
|
|
291
|
+
* ```
|
|
292
|
+
*/
|
|
293
|
+
|
|
294
|
+
declare const accordion: Readonly<{
|
|
295
|
+
create: typeof createAccordion;
|
|
296
|
+
is: typeof isAccordion;
|
|
297
|
+
expandSection: typeof expandSection;
|
|
298
|
+
toggleSection: typeof toggleSection;
|
|
299
|
+
collapseAll: typeof collapseAllSections;
|
|
300
|
+
expandAll: typeof expandAllSections;
|
|
301
|
+
getExpandedSections: typeof getExpandedSections;
|
|
302
|
+
resetStore: typeof resetAccordionStore;
|
|
303
|
+
}>;
|
|
304
|
+
declare const collapsible: Readonly<{
|
|
305
|
+
create: typeof createCollapsible;
|
|
306
|
+
is: typeof isCollapsible;
|
|
307
|
+
toggle: typeof toggleCollapsible;
|
|
308
|
+
}>;
|
|
309
|
+
type AccordionModule = typeof accordion;
|
|
310
|
+
type CollapsibleModule = typeof collapsible;
|
|
311
|
+
|
|
278
312
|
/**
|
|
279
313
|
* Autocomplete Widget
|
|
280
314
|
*
|
|
@@ -479,6 +513,23 @@ declare function isAutocomplete(_world: World, eid: Entity): boolean;
|
|
|
479
513
|
*/
|
|
480
514
|
declare function resetAutocompleteStore(): void;
|
|
481
515
|
|
|
516
|
+
/**
|
|
517
|
+
* Autocomplete widget namespace.
|
|
518
|
+
*
|
|
519
|
+
* @example
|
|
520
|
+
* ```typescript
|
|
521
|
+
* import { autocomplete } from 'blecsd/widgets';
|
|
522
|
+
* const ac = autocomplete.create(world, { suggestions: ['foo', 'bar'] });
|
|
523
|
+
* ```
|
|
524
|
+
*/
|
|
525
|
+
|
|
526
|
+
declare const autocomplete: Readonly<{
|
|
527
|
+
create: typeof createAutocomplete;
|
|
528
|
+
is: typeof isAutocomplete;
|
|
529
|
+
resetStore: typeof resetAutocompleteStore;
|
|
530
|
+
}>;
|
|
531
|
+
type AutocompleteModule = typeof autocomplete;
|
|
532
|
+
|
|
482
533
|
/**
|
|
483
534
|
* BarChart Widget
|
|
484
535
|
*
|
|
@@ -697,6 +748,44 @@ declare function isBarChart(_world: World, eid: Entity): boolean;
|
|
|
697
748
|
*/
|
|
698
749
|
declare function resetBarChartStore(): void;
|
|
699
750
|
|
|
751
|
+
/**
|
|
752
|
+
* BarChart widget namespace.
|
|
753
|
+
*
|
|
754
|
+
* @example
|
|
755
|
+
* ```typescript
|
|
756
|
+
* import { barChart } from 'blecsd/widgets';
|
|
757
|
+
* const chart = barChart.create(world, { series: [...] });
|
|
758
|
+
* ```
|
|
759
|
+
*/
|
|
760
|
+
|
|
761
|
+
declare const barChart: Readonly<{
|
|
762
|
+
create: typeof createBarChart;
|
|
763
|
+
is: typeof isBarChart;
|
|
764
|
+
resetStore: typeof resetBarChartStore;
|
|
765
|
+
HORIZONTAL_BLOCKS: readonly string[];
|
|
766
|
+
VERTICAL_BLOCKS: readonly string[];
|
|
767
|
+
}>;
|
|
768
|
+
type BarChartModule = typeof barChart;
|
|
769
|
+
|
|
770
|
+
/**
|
|
771
|
+
* BigText widget namespace.
|
|
772
|
+
*
|
|
773
|
+
* @example
|
|
774
|
+
* ```typescript
|
|
775
|
+
* import { bigText } from 'blecsd/widgets';
|
|
776
|
+
* const bt = bigText.create(world, { text: 'HELLO' });
|
|
777
|
+
* bigText.set(world, bt.eid, 'WORLD');
|
|
778
|
+
* ```
|
|
779
|
+
*/
|
|
780
|
+
|
|
781
|
+
declare const bigText: Readonly<{
|
|
782
|
+
create: typeof createBigText;
|
|
783
|
+
is: typeof isBigText;
|
|
784
|
+
set: typeof setBigText;
|
|
785
|
+
resetStore: typeof resetBigTextStore;
|
|
786
|
+
}>;
|
|
787
|
+
type BigTextModule = typeof bigText;
|
|
788
|
+
|
|
700
789
|
/**
|
|
701
790
|
* Box Widget
|
|
702
791
|
*
|
|
@@ -951,31 +1040,31 @@ interface BoxWidget {
|
|
|
951
1040
|
declare const BoxConfigSchema: z.ZodObject<{
|
|
952
1041
|
left: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
953
1042
|
left: "left";
|
|
954
|
-
|
|
1043
|
+
center: "center";
|
|
955
1044
|
right: "right";
|
|
1045
|
+
top: "top";
|
|
956
1046
|
bottom: "bottom";
|
|
957
|
-
center: "center";
|
|
958
1047
|
}>]>>;
|
|
959
1048
|
top: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
960
1049
|
left: "left";
|
|
961
|
-
|
|
1050
|
+
center: "center";
|
|
962
1051
|
right: "right";
|
|
1052
|
+
top: "top";
|
|
963
1053
|
bottom: "bottom";
|
|
964
|
-
center: "center";
|
|
965
1054
|
}>]>>;
|
|
966
1055
|
right: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
967
1056
|
left: "left";
|
|
968
|
-
|
|
1057
|
+
center: "center";
|
|
969
1058
|
right: "right";
|
|
1059
|
+
top: "top";
|
|
970
1060
|
bottom: "bottom";
|
|
971
|
-
center: "center";
|
|
972
1061
|
}>]>>;
|
|
973
1062
|
bottom: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
974
1063
|
left: "left";
|
|
975
|
-
|
|
1064
|
+
center: "center";
|
|
976
1065
|
right: "right";
|
|
1066
|
+
top: "top";
|
|
977
1067
|
bottom: "bottom";
|
|
978
|
-
center: "center";
|
|
979
1068
|
}>]>>;
|
|
980
1069
|
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
981
1070
|
height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
@@ -983,15 +1072,15 @@ declare const BoxConfigSchema: z.ZodObject<{
|
|
|
983
1072
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
984
1073
|
border: z.ZodOptional<z.ZodObject<{
|
|
985
1074
|
type: z.ZodOptional<z.ZodEnum<{
|
|
986
|
-
bg: "bg";
|
|
987
1075
|
none: "none";
|
|
1076
|
+
bg: "bg";
|
|
988
1077
|
line: "line";
|
|
989
1078
|
}>>;
|
|
990
1079
|
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
991
1080
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
992
1081
|
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
993
|
-
ascii: "ascii";
|
|
994
1082
|
bold: "bold";
|
|
1083
|
+
ascii: "ascii";
|
|
995
1084
|
single: "single";
|
|
996
1085
|
double: "double";
|
|
997
1086
|
rounded: "rounded";
|
|
@@ -1006,13 +1095,13 @@ declare const BoxConfigSchema: z.ZodObject<{
|
|
|
1006
1095
|
content: z.ZodOptional<z.ZodString>;
|
|
1007
1096
|
align: z.ZodOptional<z.ZodEnum<{
|
|
1008
1097
|
left: "left";
|
|
1009
|
-
right: "right";
|
|
1010
1098
|
center: "center";
|
|
1099
|
+
right: "right";
|
|
1011
1100
|
}>>;
|
|
1012
1101
|
valign: z.ZodOptional<z.ZodEnum<{
|
|
1013
1102
|
top: "top";
|
|
1014
|
-
bottom: "bottom";
|
|
1015
1103
|
middle: "middle";
|
|
1104
|
+
bottom: "bottom";
|
|
1016
1105
|
}>>;
|
|
1017
1106
|
}, z.core.$strip>;
|
|
1018
1107
|
/**
|
|
@@ -1117,6 +1206,26 @@ declare function isBox(_world: World, eid: Entity): boolean;
|
|
|
1117
1206
|
*/
|
|
1118
1207
|
declare function resetBoxStore(): void;
|
|
1119
1208
|
|
|
1209
|
+
/**
|
|
1210
|
+
* Box widget namespace.
|
|
1211
|
+
*
|
|
1212
|
+
* @example
|
|
1213
|
+
* ```typescript
|
|
1214
|
+
* import { box } from 'blecsd/widgets';
|
|
1215
|
+
* const b = box.create(world, { x: 0, y: 0, width: 40, height: 10 });
|
|
1216
|
+
* box.setContent(world, b.eid, 'Hello');
|
|
1217
|
+
* ```
|
|
1218
|
+
*/
|
|
1219
|
+
|
|
1220
|
+
declare const box: Readonly<{
|
|
1221
|
+
create: typeof createBox;
|
|
1222
|
+
is: typeof isBox;
|
|
1223
|
+
getContent: typeof getBoxContent;
|
|
1224
|
+
setContent: typeof setBoxContent;
|
|
1225
|
+
resetStore: typeof resetBoxStore;
|
|
1226
|
+
}>;
|
|
1227
|
+
type BoxModule = typeof box;
|
|
1228
|
+
|
|
1120
1229
|
/**
|
|
1121
1230
|
* Button Widget
|
|
1122
1231
|
*
|
|
@@ -1301,6 +1410,23 @@ declare function isButtonWidget(_world: World, eid: Entity): boolean;
|
|
|
1301
1410
|
*/
|
|
1302
1411
|
declare function resetButtonWidgetStore(): void;
|
|
1303
1412
|
|
|
1413
|
+
/**
|
|
1414
|
+
* ButtonWidget namespace.
|
|
1415
|
+
*
|
|
1416
|
+
* @example
|
|
1417
|
+
* ```typescript
|
|
1418
|
+
* import { buttonWidget } from 'blecsd/widgets';
|
|
1419
|
+
* const btn = buttonWidget.create(world, { label: 'Click me' });
|
|
1420
|
+
* ```
|
|
1421
|
+
*/
|
|
1422
|
+
|
|
1423
|
+
declare const buttonWidget: Readonly<{
|
|
1424
|
+
create: typeof createButton;
|
|
1425
|
+
is: typeof isButtonWidget;
|
|
1426
|
+
resetStore: typeof resetButtonWidgetStore;
|
|
1427
|
+
}>;
|
|
1428
|
+
type ButtonWidgetModule = typeof buttonWidget;
|
|
1429
|
+
|
|
1304
1430
|
/**
|
|
1305
1431
|
* Calendar Widget - Monthly calendar display with date selection
|
|
1306
1432
|
* @module widgets/calendar
|
|
@@ -1567,6 +1693,23 @@ declare function isCalendar(eid: Entity): boolean;
|
|
|
1567
1693
|
*/
|
|
1568
1694
|
declare const Calendar: "Calendar";
|
|
1569
1695
|
|
|
1696
|
+
/**
|
|
1697
|
+
* Calendar widget namespace.
|
|
1698
|
+
*
|
|
1699
|
+
* @example
|
|
1700
|
+
* ```typescript
|
|
1701
|
+
* import { calendar } from 'blecsd/widgets';
|
|
1702
|
+
* const cal = calendar.create(world, { year: 2026, month: 2 });
|
|
1703
|
+
* ```
|
|
1704
|
+
*/
|
|
1705
|
+
|
|
1706
|
+
declare const calendar: Readonly<{
|
|
1707
|
+
create: typeof createCalendar;
|
|
1708
|
+
is: typeof isCalendar;
|
|
1709
|
+
resetStore: typeof resetCalendarStore;
|
|
1710
|
+
}>;
|
|
1711
|
+
type CalendarModule = typeof calendar;
|
|
1712
|
+
|
|
1570
1713
|
/**
|
|
1571
1714
|
* Canvas Widget
|
|
1572
1715
|
*
|
|
@@ -1804,6 +1947,36 @@ declare function isCanvas(entity: Entity): boolean;
|
|
|
1804
1947
|
*/
|
|
1805
1948
|
declare function resetCanvasStore(): void;
|
|
1806
1949
|
|
|
1950
|
+
/**
|
|
1951
|
+
* Canvas widget namespace.
|
|
1952
|
+
*
|
|
1953
|
+
* @example
|
|
1954
|
+
* ```typescript
|
|
1955
|
+
* import { canvas } from 'blecsd/widgets';
|
|
1956
|
+
* const c = canvas.create(world, { width: 80, height: 24 });
|
|
1957
|
+
* canvas.clear(world, c.eid);
|
|
1958
|
+
* canvas.drawLine(world, c.eid, 0, 0, 10, 10);
|
|
1959
|
+
* canvas.drawRect(world, c.eid, 5, 5, 20, 10);
|
|
1960
|
+
* canvas.drawCircle(world, c.eid, 10, 10, 5);
|
|
1961
|
+
* canvas.drawText(world, c.eid, 'Hello', 0, 0);
|
|
1962
|
+
* canvas.setPixel(world, c.eid, 5, 5, '#');
|
|
1963
|
+
* ```
|
|
1964
|
+
*/
|
|
1965
|
+
|
|
1966
|
+
declare const canvas: Readonly<{
|
|
1967
|
+
create: typeof createCanvas;
|
|
1968
|
+
is: typeof isCanvas;
|
|
1969
|
+
clear: typeof clearCanvas;
|
|
1970
|
+
getContent: typeof getCanvasContent;
|
|
1971
|
+
drawLine: typeof drawLine;
|
|
1972
|
+
drawRect: typeof drawRect;
|
|
1973
|
+
drawCircle: typeof drawCircle;
|
|
1974
|
+
drawText: typeof drawText;
|
|
1975
|
+
setPixel: typeof setPixel;
|
|
1976
|
+
resetStore: typeof resetCanvasStore;
|
|
1977
|
+
}>;
|
|
1978
|
+
type CanvasModule = typeof canvas;
|
|
1979
|
+
|
|
1807
1980
|
/**
|
|
1808
1981
|
* Chart Utilities
|
|
1809
1982
|
*
|
|
@@ -1970,6 +2143,91 @@ declare function renderXAxisLabel(value: number, width: number): string;
|
|
|
1970
2143
|
* @returns Formatted label string, right-aligned
|
|
1971
2144
|
*/
|
|
1972
2145
|
declare function renderYAxisLabel(value: number, width: number): string;
|
|
2146
|
+
/**
|
|
2147
|
+
* Calculates the braille bit pattern for a partial fill.
|
|
2148
|
+
*
|
|
2149
|
+
* Braille cells have 2 columns x 4 rows. For horizontal bars,
|
|
2150
|
+
* we use all 4 rows in each column.
|
|
2151
|
+
*
|
|
2152
|
+
* @param fraction - Fill fraction (0.0 = empty, 0.5 = left column, 1.0 = full)
|
|
2153
|
+
* @returns Braille bit pattern (0-255)
|
|
2154
|
+
*
|
|
2155
|
+
* @example
|
|
2156
|
+
* ```typescript
|
|
2157
|
+
* const pattern = brailleFillPattern(0.0); // 0x00 (empty)
|
|
2158
|
+
* const pattern = brailleFillPattern(0.5); // 0x47 (left column)
|
|
2159
|
+
* const pattern = brailleFillPattern(1.0); // 0xFF (full)
|
|
2160
|
+
* ```
|
|
2161
|
+
*/
|
|
2162
|
+
declare function brailleFillPattern(fraction: number): number;
|
|
2163
|
+
/**
|
|
2164
|
+
* Renders a horizontal bar using braille dots for sub-cell precision.
|
|
2165
|
+
*
|
|
2166
|
+
* Each braille cell has 2 columns of dots, giving 2x horizontal resolution.
|
|
2167
|
+
* A cell can be: empty (no dots), left column only, or both columns (full).
|
|
2168
|
+
*
|
|
2169
|
+
* @param fillFraction - Fill fraction (0.0 to 1.0)
|
|
2170
|
+
* @param widthCells - Width in braille cells
|
|
2171
|
+
* @returns String of braille characters representing the bar
|
|
2172
|
+
*
|
|
2173
|
+
* @example
|
|
2174
|
+
* ```typescript
|
|
2175
|
+
* const bar = renderBrailleBar(0.75, 10); // 75% filled bar, 10 cells wide
|
|
2176
|
+
* ```
|
|
2177
|
+
*/
|
|
2178
|
+
declare function renderBrailleBar(fillFraction: number, widthCells: number): string;
|
|
2179
|
+
/**
|
|
2180
|
+
* Renders a horizontal bar with color gradient interpolation across cells.
|
|
2181
|
+
*
|
|
2182
|
+
* Same as renderBrailleBar but with color gradient. Note: This function
|
|
2183
|
+
* returns a plain string; color must be applied separately per-cell
|
|
2184
|
+
* in the rendering system.
|
|
2185
|
+
*
|
|
2186
|
+
* @param fillFraction - Fill fraction (0.0 to 1.0)
|
|
2187
|
+
* @param widthCells - Width in braille cells
|
|
2188
|
+
* @param _startColor - Gradient start color (reserved for future use)
|
|
2189
|
+
* @param _endColor - Gradient end color (reserved for future use)
|
|
2190
|
+
* @returns String of braille characters representing the bar
|
|
2191
|
+
*
|
|
2192
|
+
* @example
|
|
2193
|
+
* ```typescript
|
|
2194
|
+
* const bar = renderBrailleGradientBar(0.5, 20, 0xff00ff00, 0xffff0000);
|
|
2195
|
+
* ```
|
|
2196
|
+
*/
|
|
2197
|
+
declare function renderBrailleGradientBar(fillFraction: number, widthCells: number, _startColor: number, _endColor: number): string;
|
|
2198
|
+
|
|
2199
|
+
/**
|
|
2200
|
+
* Chart utilities namespace.
|
|
2201
|
+
*
|
|
2202
|
+
* @example
|
|
2203
|
+
* ```typescript
|
|
2204
|
+
* import { chartUtils } from 'blecsd/widgets';
|
|
2205
|
+
* const char = chartUtils.brailleChar(0b11110000);
|
|
2206
|
+
* const scaled = chartUtils.scaleValue(50, 0, 100, 0, 10);
|
|
2207
|
+
* const color = chartUtils.getChartColor(2);
|
|
2208
|
+
* ```
|
|
2209
|
+
*/
|
|
2210
|
+
|
|
2211
|
+
declare const chartUtils: Readonly<{
|
|
2212
|
+
brailleChar: typeof brailleChar;
|
|
2213
|
+
brailleFillPattern: typeof brailleFillPattern;
|
|
2214
|
+
combineBrailleDots: typeof combineBrailleDots;
|
|
2215
|
+
scaleValue: typeof scaleValue;
|
|
2216
|
+
getChartColor: typeof getChartColor;
|
|
2217
|
+
interpolateChartColor: typeof interpolateChartColor;
|
|
2218
|
+
formatNumber: typeof formatNumber;
|
|
2219
|
+
formatPercentage: typeof formatPercentage;
|
|
2220
|
+
calculateTickInterval: typeof calculateTickInterval;
|
|
2221
|
+
generateTicks: typeof generateTicks;
|
|
2222
|
+
renderBrailleBar: typeof renderBrailleBar;
|
|
2223
|
+
renderBrailleGradientBar: typeof renderBrailleGradientBar;
|
|
2224
|
+
renderXAxisLabel: typeof renderXAxisLabel;
|
|
2225
|
+
renderYAxisLabel: typeof renderYAxisLabel;
|
|
2226
|
+
BRAILLE_BASE: 10240;
|
|
2227
|
+
BRAILLE_DOTS: readonly (readonly [number, number])[];
|
|
2228
|
+
CHART_COLORS: readonly number[];
|
|
2229
|
+
}>;
|
|
2230
|
+
type ChartUtilsModule = typeof chartUtils;
|
|
1973
2231
|
|
|
1974
2232
|
/**
|
|
1975
2233
|
* Checkbox Widget
|
|
@@ -2128,6 +2386,23 @@ declare function isCheckboxWidget(_world: World, eid: Entity): boolean;
|
|
|
2128
2386
|
*/
|
|
2129
2387
|
declare function resetCheckboxWidgetStore(): void;
|
|
2130
2388
|
|
|
2389
|
+
/**
|
|
2390
|
+
* CheckboxWidget namespace.
|
|
2391
|
+
*
|
|
2392
|
+
* @example
|
|
2393
|
+
* ```typescript
|
|
2394
|
+
* import { checkboxWidget } from 'blecsd/widgets';
|
|
2395
|
+
* const cb = checkboxWidget.create(world, { label: 'Accept terms' });
|
|
2396
|
+
* ```
|
|
2397
|
+
*/
|
|
2398
|
+
|
|
2399
|
+
declare const checkboxWidget: Readonly<{
|
|
2400
|
+
create: typeof createCheckbox;
|
|
2401
|
+
is: typeof isCheckboxWidget;
|
|
2402
|
+
resetStore: typeof resetCheckboxWidgetStore;
|
|
2403
|
+
}>;
|
|
2404
|
+
type CheckboxWidgetModule = typeof checkboxWidget;
|
|
2405
|
+
|
|
2131
2406
|
/**
|
|
2132
2407
|
* Command Palette Widget
|
|
2133
2408
|
*
|
|
@@ -2344,6 +2619,23 @@ declare function createCommandPalette(world: World, entity: Entity, config?: Com
|
|
|
2344
2619
|
*/
|
|
2345
2620
|
declare function isCommandPalette(entity: Entity): boolean;
|
|
2346
2621
|
|
|
2622
|
+
/**
|
|
2623
|
+
* CommandPalette widget namespace.
|
|
2624
|
+
*
|
|
2625
|
+
* @example
|
|
2626
|
+
* ```typescript
|
|
2627
|
+
* import { commandPalette } from 'blecsd/widgets';
|
|
2628
|
+
* const cp = commandPalette.create(world, { commands: [...] });
|
|
2629
|
+
* ```
|
|
2630
|
+
*/
|
|
2631
|
+
|
|
2632
|
+
declare const commandPalette: Readonly<{
|
|
2633
|
+
create: typeof createCommandPalette;
|
|
2634
|
+
is: typeof isCommandPalette;
|
|
2635
|
+
resetStore: typeof resetCommandPaletteStore;
|
|
2636
|
+
}>;
|
|
2637
|
+
type CommandPaletteModule = typeof commandPalette;
|
|
2638
|
+
|
|
2347
2639
|
/**
|
|
2348
2640
|
* Content line manipulation methods for text content.
|
|
2349
2641
|
* @module widgets/contentManipulation
|
|
@@ -2375,13 +2667,13 @@ declare function getLines(world: World, eid: Entity): string[];
|
|
|
2375
2667
|
*
|
|
2376
2668
|
* @example
|
|
2377
2669
|
* ```typescript
|
|
2378
|
-
* import { setContent,
|
|
2670
|
+
* import { setContent, contentGetLineCount } from 'blecsd';
|
|
2379
2671
|
*
|
|
2380
2672
|
* setContent(world, entity, 'Line 1\nLine 2\nLine 3');
|
|
2381
|
-
* console.log(
|
|
2673
|
+
* console.log(contentGetLineCount(world, entity)); // 3
|
|
2382
2674
|
* ```
|
|
2383
2675
|
*/
|
|
2384
|
-
declare function
|
|
2676
|
+
declare function contentGetLineCount(world: World, eid: Entity): number;
|
|
2385
2677
|
/**
|
|
2386
2678
|
* Gets a specific line from an entity's content.
|
|
2387
2679
|
*
|
|
@@ -2392,13 +2684,13 @@ declare function getLineCount(world: World, eid: Entity): number;
|
|
|
2392
2684
|
*
|
|
2393
2685
|
* @example
|
|
2394
2686
|
* ```typescript
|
|
2395
|
-
* import { setContent,
|
|
2687
|
+
* import { setContent, contentGetLine } from 'blecsd';
|
|
2396
2688
|
*
|
|
2397
2689
|
* setContent(world, entity, 'Line 1\nLine 2\nLine 3');
|
|
2398
|
-
* console.log(
|
|
2690
|
+
* console.log(contentGetLine(world, entity, 1)); // 'Line 2'
|
|
2399
2691
|
* ```
|
|
2400
2692
|
*/
|
|
2401
|
-
declare function
|
|
2693
|
+
declare function contentGetLine(world: World, eid: Entity, index: number): string;
|
|
2402
2694
|
/**
|
|
2403
2695
|
* Sets a specific line in an entity's content.
|
|
2404
2696
|
* Marks the entity dirty for re-rendering.
|
|
@@ -2725,6 +3017,43 @@ declare function replaceLines(world: World, eid: Entity, startIndex: number, new
|
|
|
2725
3017
|
*/
|
|
2726
3018
|
declare function spliceLines(world: World, eid: Entity, start: number, deleteCount: number, insertLines?: string[]): string[];
|
|
2727
3019
|
|
|
3020
|
+
/**
|
|
3021
|
+
* Content manipulation utilities namespace.
|
|
3022
|
+
*
|
|
3023
|
+
* @example
|
|
3024
|
+
* ```typescript
|
|
3025
|
+
* import { contentManipulation } from 'blecsd/widgets';
|
|
3026
|
+
* contentManipulation.pushLine(world, eid, 'new line');
|
|
3027
|
+
* const line = contentManipulation.popLine(world, eid);
|
|
3028
|
+
* contentManipulation.insertLine(world, eid, 5, 'inserted');
|
|
3029
|
+
* contentManipulation.deleteLine(world, eid, 3);
|
|
3030
|
+
* ```
|
|
3031
|
+
*/
|
|
3032
|
+
|
|
3033
|
+
declare const contentManipulation: Readonly<{
|
|
3034
|
+
pushLine: typeof pushLine;
|
|
3035
|
+
popLine: typeof popLine;
|
|
3036
|
+
shiftLine: typeof shiftLine;
|
|
3037
|
+
unshiftLine: typeof unshiftLine;
|
|
3038
|
+
insertLine: typeof insertLine;
|
|
3039
|
+
deleteLine: typeof deleteLine;
|
|
3040
|
+
insertTop: typeof insertTop;
|
|
3041
|
+
insertBottom: typeof insertBottom;
|
|
3042
|
+
deleteTop: typeof deleteTop;
|
|
3043
|
+
deleteBottom: typeof deleteBottom;
|
|
3044
|
+
getLine: typeof contentGetLine;
|
|
3045
|
+
getLineCount: typeof contentGetLineCount;
|
|
3046
|
+
setLine: typeof setLine;
|
|
3047
|
+
getLines: typeof getLines;
|
|
3048
|
+
setLines: typeof setLines;
|
|
3049
|
+
clearLines: typeof clearLines;
|
|
3050
|
+
replaceLines: typeof replaceLines;
|
|
3051
|
+
spliceLines: typeof spliceLines;
|
|
3052
|
+
getBaseLine: typeof getBaseLine;
|
|
3053
|
+
setBaseLine: typeof setBaseLine;
|
|
3054
|
+
}>;
|
|
3055
|
+
type ContentManipulationModule = typeof contentManipulation;
|
|
3056
|
+
|
|
2728
3057
|
/**
|
|
2729
3058
|
* Context menu widget for terminal UIs.
|
|
2730
3059
|
* Provides right-click style menus with keyboard navigation.
|
|
@@ -2798,6 +3127,25 @@ declare function handleContextMenuKey(world: World, eid: Entity, key: string): b
|
|
|
2798
3127
|
*/
|
|
2799
3128
|
declare function getContextMenuSelectedIndex(eid: Entity): number;
|
|
2800
3129
|
|
|
3130
|
+
/**
|
|
3131
|
+
* ContextMenu widget namespace.
|
|
3132
|
+
*
|
|
3133
|
+
* @example
|
|
3134
|
+
* ```typescript
|
|
3135
|
+
* import { contextMenu } from 'blecsd/widgets';
|
|
3136
|
+
* const cm = contextMenu.create(world, { items: [...] });
|
|
3137
|
+
* const selectedIndex = contextMenu.getSelectedIndex(world, cm.eid);
|
|
3138
|
+
* contextMenu.handleKey(world, cm.eid, keyEvent);
|
|
3139
|
+
* ```
|
|
3140
|
+
*/
|
|
3141
|
+
|
|
3142
|
+
declare const contextMenu: Readonly<{
|
|
3143
|
+
create: typeof createContextMenu;
|
|
3144
|
+
getSelectedIndex: typeof getContextMenuSelectedIndex;
|
|
3145
|
+
handleKey: typeof handleContextMenuKey;
|
|
3146
|
+
}>;
|
|
3147
|
+
type ContextMenuModule = typeof contextMenu;
|
|
3148
|
+
|
|
2801
3149
|
/**
|
|
2802
3150
|
* DevTools Widget
|
|
2803
3151
|
*
|
|
@@ -3017,6 +3365,23 @@ declare function isDevTools(_world: World, eid: Entity): boolean;
|
|
|
3017
3365
|
*/
|
|
3018
3366
|
declare function resetDevToolsStore(): void;
|
|
3019
3367
|
|
|
3368
|
+
/**
|
|
3369
|
+
* DevTools widget namespace.
|
|
3370
|
+
*
|
|
3371
|
+
* @example
|
|
3372
|
+
* ```typescript
|
|
3373
|
+
* import { devTools } from 'blecsd/widgets';
|
|
3374
|
+
* const dt = devTools.create(world, { position: 'right' });
|
|
3375
|
+
* ```
|
|
3376
|
+
*/
|
|
3377
|
+
|
|
3378
|
+
declare const devTools: Readonly<{
|
|
3379
|
+
create: typeof createDevTools;
|
|
3380
|
+
is: typeof isDevTools;
|
|
3381
|
+
resetStore: typeof resetDevToolsStore;
|
|
3382
|
+
}>;
|
|
3383
|
+
type DevToolsModule = typeof devTools;
|
|
3384
|
+
|
|
3020
3385
|
/**
|
|
3021
3386
|
* FileManager Widget
|
|
3022
3387
|
*
|
|
@@ -3175,15 +3540,15 @@ declare const FileManagerConfigSchema: z.ZodObject<{
|
|
|
3175
3540
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
3176
3541
|
border: z.ZodOptional<z.ZodObject<{
|
|
3177
3542
|
type: z.ZodOptional<z.ZodEnum<{
|
|
3178
|
-
bg: "bg";
|
|
3179
3543
|
none: "none";
|
|
3544
|
+
bg: "bg";
|
|
3180
3545
|
line: "line";
|
|
3181
3546
|
}>>;
|
|
3182
3547
|
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
3183
3548
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
3184
3549
|
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
3185
|
-
ascii: "ascii";
|
|
3186
3550
|
bold: "bold";
|
|
3551
|
+
ascii: "ascii";
|
|
3187
3552
|
single: "single";
|
|
3188
3553
|
double: "double";
|
|
3189
3554
|
rounded: "rounded";
|
|
@@ -3334,6 +3699,16 @@ declare function resetFileManagerStore(): void;
|
|
|
3334
3699
|
*/
|
|
3335
3700
|
declare function setReadDirFn(eid: Entity, fn: (dirPath: string) => FileEntry[]): void;
|
|
3336
3701
|
|
|
3702
|
+
declare const fileManager: Readonly<{
|
|
3703
|
+
create: typeof createFileManager;
|
|
3704
|
+
is: typeof isFileManager;
|
|
3705
|
+
handleKey: typeof handleFileManagerKey;
|
|
3706
|
+
setReadDirFn: typeof setReadDirFn;
|
|
3707
|
+
stateMap: Map<number, FileManagerState>;
|
|
3708
|
+
resetStore: typeof resetFileManagerStore;
|
|
3709
|
+
}>;
|
|
3710
|
+
type FileManagerModule = typeof fileManager;
|
|
3711
|
+
|
|
3337
3712
|
/**
|
|
3338
3713
|
* Flexbox Widget
|
|
3339
3714
|
*
|
|
@@ -3514,16 +3889,16 @@ declare const FlexContainerConfigSchema: z.ZodObject<{
|
|
|
3514
3889
|
}>>>;
|
|
3515
3890
|
justifyContent: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
3516
3891
|
center: "center";
|
|
3517
|
-
start: "start";
|
|
3518
3892
|
end: "end";
|
|
3893
|
+
start: "start";
|
|
3519
3894
|
"space-between": "space-between";
|
|
3520
3895
|
"space-around": "space-around";
|
|
3521
3896
|
"space-evenly": "space-evenly";
|
|
3522
3897
|
}>>>;
|
|
3523
3898
|
alignItems: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
3524
3899
|
center: "center";
|
|
3525
|
-
start: "start";
|
|
3526
3900
|
end: "end";
|
|
3901
|
+
start: "start";
|
|
3527
3902
|
stretch: "stretch";
|
|
3528
3903
|
}>>>;
|
|
3529
3904
|
gap: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
@@ -3605,6 +3980,33 @@ declare function isFlexContainer(_world: World, eid: Entity): boolean;
|
|
|
3605
3980
|
*/
|
|
3606
3981
|
declare function resetFlexContainerStore(): void;
|
|
3607
3982
|
|
|
3983
|
+
/**
|
|
3984
|
+
* Flexbox widget namespace.
|
|
3985
|
+
*
|
|
3986
|
+
* @example
|
|
3987
|
+
* ```typescript
|
|
3988
|
+
* import { flexbox } from 'blecsd/widgets';
|
|
3989
|
+
* const container = flexbox.createContainer(world, { direction: 'row' });
|
|
3990
|
+
* flexbox.addChild(world, container.eid, childEid, { grow: 1 });
|
|
3991
|
+
* ```
|
|
3992
|
+
*/
|
|
3993
|
+
|
|
3994
|
+
declare const flexbox: Readonly<{
|
|
3995
|
+
createContainer: typeof createFlexContainer;
|
|
3996
|
+
addChild: typeof addFlexChild;
|
|
3997
|
+
isContainer: typeof isFlexContainer;
|
|
3998
|
+
resetStore: typeof resetFlexContainerStore;
|
|
3999
|
+
}>;
|
|
4000
|
+
type FlexboxModule = typeof flexbox;
|
|
4001
|
+
|
|
4002
|
+
declare const fonts: Readonly<{
|
|
4003
|
+
load: (name: FontName) => Promise<BitmapFont>;
|
|
4004
|
+
getCharBitmap: (font: BitmapFont, char: string) => CharBitmap | undefined;
|
|
4005
|
+
renderChar: (font: BitmapFont, char: string, options?: RenderCharOptions) => readonly string[];
|
|
4006
|
+
createFontNotFoundError: (name: string) => FontNotFoundError;
|
|
4007
|
+
}>;
|
|
4008
|
+
type FontsModule = typeof fonts;
|
|
4009
|
+
|
|
3608
4010
|
/**
|
|
3609
4011
|
* Footer Widget
|
|
3610
4012
|
*
|
|
@@ -3722,8 +4124,8 @@ declare const FooterConfigSchema: z.ZodObject<{
|
|
|
3722
4124
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
3723
4125
|
align: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
3724
4126
|
left: "left";
|
|
3725
|
-
right: "right";
|
|
3726
4127
|
center: "center";
|
|
4128
|
+
right: "right";
|
|
3727
4129
|
}>>>;
|
|
3728
4130
|
}, z.core.$strip>;
|
|
3729
4131
|
/**
|
|
@@ -3770,6 +4172,21 @@ declare const FooterConfigSchema: z.ZodObject<{
|
|
|
3770
4172
|
*/
|
|
3771
4173
|
declare function createFooter(world: World, entity: Entity, config?: FooterConfig): FooterWidget;
|
|
3772
4174
|
|
|
4175
|
+
/**
|
|
4176
|
+
* Footer widget namespace.
|
|
4177
|
+
*
|
|
4178
|
+
* @example
|
|
4179
|
+
* ```typescript
|
|
4180
|
+
* import { footer } from 'blecsd/widgets';
|
|
4181
|
+
* const f = footer.create(world, { text: 'Status: Ready', align: 'left' });
|
|
4182
|
+
* ```
|
|
4183
|
+
*/
|
|
4184
|
+
|
|
4185
|
+
declare const footer: Readonly<{
|
|
4186
|
+
create: typeof createFooter;
|
|
4187
|
+
}>;
|
|
4188
|
+
type FooterModule = typeof footer;
|
|
4189
|
+
|
|
3773
4190
|
/**
|
|
3774
4191
|
* RadioButton and RadioGroup Widgets
|
|
3775
4192
|
*
|
|
@@ -4250,6 +4667,23 @@ declare function isForm(_world: World, eid: Entity): boolean;
|
|
|
4250
4667
|
*/
|
|
4251
4668
|
declare function resetFormStore(): void;
|
|
4252
4669
|
|
|
4670
|
+
/**
|
|
4671
|
+
* FormWidget namespace.
|
|
4672
|
+
*
|
|
4673
|
+
* @example
|
|
4674
|
+
* ```typescript
|
|
4675
|
+
* import { formWidget } from 'blecsd/widgets';
|
|
4676
|
+
* const f = formWidget.create(world, { fields: [...] });
|
|
4677
|
+
* ```
|
|
4678
|
+
*/
|
|
4679
|
+
|
|
4680
|
+
declare const formWidget: Readonly<{
|
|
4681
|
+
create: typeof createForm;
|
|
4682
|
+
is: typeof isForm;
|
|
4683
|
+
resetStore: typeof resetFormStore;
|
|
4684
|
+
}>;
|
|
4685
|
+
type FormWidgetModule = typeof formWidget;
|
|
4686
|
+
|
|
4253
4687
|
/**
|
|
4254
4688
|
* Gauge Widget
|
|
4255
4689
|
*
|
|
@@ -4302,6 +4736,12 @@ interface GaugeConfig {
|
|
|
4302
4736
|
readonly min?: number;
|
|
4303
4737
|
/** Maximum value for display (default: 100) */
|
|
4304
4738
|
readonly max?: number;
|
|
4739
|
+
/** Render mode: 'block' uses fill/empty chars, 'braille' uses braille dots (default: 'block') */
|
|
4740
|
+
readonly renderMode?: 'block' | 'braille';
|
|
4741
|
+
/** Gradient start color for braille mode (optional) */
|
|
4742
|
+
readonly gradientStart?: string | number;
|
|
4743
|
+
/** Gradient end color for braille mode (optional) */
|
|
4744
|
+
readonly gradientEnd?: string | number;
|
|
4305
4745
|
}
|
|
4306
4746
|
/**
|
|
4307
4747
|
* Gauge widget interface providing chainable methods.
|
|
@@ -4319,6 +4759,10 @@ interface GaugeWidget {
|
|
|
4319
4759
|
getLabel(): string;
|
|
4320
4760
|
/** Sets the position */
|
|
4321
4761
|
setPosition(x: number, y: number): GaugeWidget;
|
|
4762
|
+
/** Sets the render mode */
|
|
4763
|
+
setRenderMode(mode: 'block' | 'braille'): GaugeWidget;
|
|
4764
|
+
/** Gets the render mode */
|
|
4765
|
+
getRenderMode(): 'block' | 'braille';
|
|
4322
4766
|
/** Destroys the widget */
|
|
4323
4767
|
destroy(): void;
|
|
4324
4768
|
}
|
|
@@ -4344,6 +4788,12 @@ declare const GaugeConfigSchema: z.ZodObject<{
|
|
|
4344
4788
|
}, z.core.$strip>>>;
|
|
4345
4789
|
min: z.ZodDefault<z.ZodNumber>;
|
|
4346
4790
|
max: z.ZodDefault<z.ZodNumber>;
|
|
4791
|
+
renderMode: z.ZodDefault<z.ZodEnum<{
|
|
4792
|
+
block: "block";
|
|
4793
|
+
braille: "braille";
|
|
4794
|
+
}>>;
|
|
4795
|
+
gradientStart: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
4796
|
+
gradientEnd: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
4347
4797
|
}, z.core.$strip>;
|
|
4348
4798
|
/**
|
|
4349
4799
|
* Gauge component marker.
|
|
@@ -4404,6 +4854,23 @@ declare function isGauge(_world: World, eid: Entity): boolean;
|
|
|
4404
4854
|
*/
|
|
4405
4855
|
declare function resetGaugeStore(): void;
|
|
4406
4856
|
|
|
4857
|
+
/**
|
|
4858
|
+
* Gauge widget namespace.
|
|
4859
|
+
*
|
|
4860
|
+
* @example
|
|
4861
|
+
* ```typescript
|
|
4862
|
+
* import { gauge } from 'blecsd/widgets';
|
|
4863
|
+
* const g = gauge.create(world, { min: 0, max: 100, value: 50 });
|
|
4864
|
+
* ```
|
|
4865
|
+
*/
|
|
4866
|
+
|
|
4867
|
+
declare const gauge: Readonly<{
|
|
4868
|
+
create: typeof createGauge;
|
|
4869
|
+
is: typeof isGauge;
|
|
4870
|
+
resetStore: typeof resetGaugeStore;
|
|
4871
|
+
}>;
|
|
4872
|
+
type GaugeModule = typeof gauge;
|
|
4873
|
+
|
|
4407
4874
|
/**
|
|
4408
4875
|
* Grid Widget
|
|
4409
4876
|
*
|
|
@@ -4654,6 +5121,25 @@ declare function isGrid(_world: World, eid: Entity): boolean;
|
|
|
4654
5121
|
*/
|
|
4655
5122
|
declare function resetGridStore(): void;
|
|
4656
5123
|
|
|
5124
|
+
/**
|
|
5125
|
+
* Grid widget namespace.
|
|
5126
|
+
*
|
|
5127
|
+
* @example
|
|
5128
|
+
* ```typescript
|
|
5129
|
+
* import { grid } from 'blecsd/widgets';
|
|
5130
|
+
* const g = grid.create(world, { rows: 3, cols: 3 });
|
|
5131
|
+
* grid.addTo(world, g.eid, childEid, { row: 1, col: 1 });
|
|
5132
|
+
* ```
|
|
5133
|
+
*/
|
|
5134
|
+
|
|
5135
|
+
declare const grid: Readonly<{
|
|
5136
|
+
create: typeof createGrid;
|
|
5137
|
+
is: typeof isGrid;
|
|
5138
|
+
addTo: typeof addToGrid;
|
|
5139
|
+
resetStore: typeof resetGridStore;
|
|
5140
|
+
}>;
|
|
5141
|
+
type GridModule = typeof grid;
|
|
5142
|
+
|
|
4657
5143
|
/**
|
|
4658
5144
|
* Header Widget
|
|
4659
5145
|
*
|
|
@@ -4772,8 +5258,8 @@ declare const HeaderConfigSchema: z.ZodObject<{
|
|
|
4772
5258
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
4773
5259
|
align: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
4774
5260
|
left: "left";
|
|
4775
|
-
right: "right";
|
|
4776
5261
|
center: "center";
|
|
5262
|
+
right: "right";
|
|
4777
5263
|
}>>>;
|
|
4778
5264
|
}, z.core.$strip>;
|
|
4779
5265
|
/**
|
|
@@ -4819,6 +5305,21 @@ declare const HeaderConfigSchema: z.ZodObject<{
|
|
|
4819
5305
|
*/
|
|
4820
5306
|
declare function createHeader(world: World, entity: Entity, config?: HeaderConfig): HeaderWidget;
|
|
4821
5307
|
|
|
5308
|
+
/**
|
|
5309
|
+
* Header widget namespace.
|
|
5310
|
+
*
|
|
5311
|
+
* @example
|
|
5312
|
+
* ```typescript
|
|
5313
|
+
* import { header } from 'blecsd/widgets';
|
|
5314
|
+
* const h = header.create(world, { text: 'My App', align: 'center' });
|
|
5315
|
+
* ```
|
|
5316
|
+
*/
|
|
5317
|
+
|
|
5318
|
+
declare const header: Readonly<{
|
|
5319
|
+
create: typeof createHeader;
|
|
5320
|
+
}>;
|
|
5321
|
+
type HeaderModule = typeof header;
|
|
5322
|
+
|
|
4822
5323
|
/**
|
|
4823
5324
|
* Hover Text (Tooltip) System
|
|
4824
5325
|
*
|
|
@@ -5093,27 +5594,27 @@ declare function createHoverTextManager(config?: HoverTextManagerConfig): HoverT
|
|
|
5093
5594
|
* setHoverText(entity, 'Click here to submit');
|
|
5094
5595
|
* ```
|
|
5095
5596
|
*/
|
|
5096
|
-
declare function setHoverText(eid: Entity, text: string | HoverTextConfig): void;
|
|
5597
|
+
declare function setHoverText(_world: World, eid: Entity, text: string | HoverTextConfig): void;
|
|
5097
5598
|
/**
|
|
5098
5599
|
* Clears hover text for an entity.
|
|
5099
5600
|
*
|
|
5100
5601
|
* @param eid - The entity ID
|
|
5101
5602
|
*/
|
|
5102
|
-
declare function clearHoverText(eid: Entity): void;
|
|
5603
|
+
declare function clearHoverText(_world: World, eid: Entity): void;
|
|
5103
5604
|
/**
|
|
5104
5605
|
* Gets hover text config for an entity.
|
|
5105
5606
|
*
|
|
5106
5607
|
* @param eid - The entity ID
|
|
5107
5608
|
* @returns Hover text config or undefined
|
|
5108
5609
|
*/
|
|
5109
|
-
declare function getHoverText(eid: Entity): HoverTextConfig | undefined;
|
|
5610
|
+
declare function getHoverText(_world: World, eid: Entity): HoverTextConfig | undefined;
|
|
5110
5611
|
/**
|
|
5111
5612
|
* Checks if an entity has hover text.
|
|
5112
5613
|
*
|
|
5113
5614
|
* @param eid - The entity ID
|
|
5114
5615
|
* @returns true if entity has hover text
|
|
5115
5616
|
*/
|
|
5116
|
-
declare function hasHoverText(eid: Entity): boolean;
|
|
5617
|
+
declare function hasHoverText(_world: World, eid: Entity): boolean;
|
|
5117
5618
|
/**
|
|
5118
5619
|
* Clears all hover text registrations.
|
|
5119
5620
|
* Useful for cleanup or testing.
|
|
@@ -5130,106 +5631,59 @@ declare function getHoverTextCount(): number;
|
|
|
5130
5631
|
declare function resetHoverTextStore(): void;
|
|
5131
5632
|
|
|
5132
5633
|
/**
|
|
5133
|
-
*
|
|
5634
|
+
* HoverText (Tooltip) namespace.
|
|
5134
5635
|
*
|
|
5135
|
-
*
|
|
5136
|
-
*
|
|
5137
|
-
*
|
|
5138
|
-
*
|
|
5636
|
+
* @example
|
|
5637
|
+
* ```typescript
|
|
5638
|
+
* import { hoverText } from 'blecsd/widgets';
|
|
5639
|
+
* const manager = hoverText.createManager(world, {});
|
|
5640
|
+
* hoverText.set(world, eid, 'This is a tooltip');
|
|
5641
|
+
* const text = hoverText.get(world, eid);
|
|
5642
|
+
* hoverText.clear(world, eid);
|
|
5643
|
+
* ```
|
|
5139
5644
|
*/
|
|
5140
5645
|
|
|
5646
|
+
declare const hoverText: Readonly<{
|
|
5647
|
+
createManager: typeof createHoverTextManager;
|
|
5648
|
+
set: typeof setHoverText;
|
|
5649
|
+
get: typeof getHoverText;
|
|
5650
|
+
has: typeof hasHoverText;
|
|
5651
|
+
clear: typeof clearHoverText;
|
|
5652
|
+
clearAll: typeof clearAllHoverText;
|
|
5653
|
+
getCount: typeof getHoverTextCount;
|
|
5654
|
+
resetStore: typeof resetHoverTextStore;
|
|
5655
|
+
DEFAULT_CURSOR_OFFSET_X: 2;
|
|
5656
|
+
DEFAULT_CURSOR_OFFSET_Y: 1;
|
|
5657
|
+
DEFAULT_HIDE_DELAY: 100;
|
|
5658
|
+
DEFAULT_HOVER_DELAY: 500;
|
|
5659
|
+
DEFAULT_TOOLTIP_BG: 4281545523;
|
|
5660
|
+
DEFAULT_TOOLTIP_BORDER: 4287137928;
|
|
5661
|
+
DEFAULT_TOOLTIP_FG: 4294967295;
|
|
5662
|
+
}>;
|
|
5663
|
+
type HoverTextModule = typeof hoverText;
|
|
5664
|
+
|
|
5141
5665
|
/**
|
|
5142
|
-
*
|
|
5666
|
+
* Image Widget
|
|
5143
5667
|
*
|
|
5144
|
-
*
|
|
5145
|
-
*
|
|
5146
|
-
*
|
|
5668
|
+
* Factory widget that renders bitmap images in the terminal.
|
|
5669
|
+
* Supports ANSI rendering (256-color, ASCII, braille) and an overlay mode
|
|
5670
|
+
* for external image protocols (w3m, iTerm2, Kitty, Sixel).
|
|
5147
5671
|
*
|
|
5148
|
-
*
|
|
5149
|
-
* ```
|
|
5672
|
+
* @module widgets/image
|
|
5150
5673
|
*/
|
|
5151
|
-
|
|
5152
|
-
|
|
5153
|
-
|
|
5154
|
-
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
|
|
5158
|
-
}
|
|
5674
|
+
|
|
5675
|
+
/**
|
|
5676
|
+
* Image rendering type.
|
|
5677
|
+
* - 'ansi': Renders bitmap as ANSI escape sequences using 256-color palette
|
|
5678
|
+
* - 'overlay': Stores bitmap for external overlay protocols (w3m, iTerm2, Kitty, Sixel)
|
|
5679
|
+
*/
|
|
5680
|
+
type ImageType = 'ansi' | 'overlay';
|
|
5159
5681
|
/**
|
|
5160
|
-
*
|
|
5682
|
+
* Configuration for creating an Image widget.
|
|
5161
5683
|
*
|
|
5162
5684
|
* @example
|
|
5163
5685
|
* ```typescript
|
|
5164
|
-
* import type {
|
|
5165
|
-
*
|
|
5166
|
-
* const map: CellMap = { width: 80, height: 24, cells: [[]] };
|
|
5167
|
-
* ```
|
|
5168
|
-
*/
|
|
5169
|
-
interface CellMap {
|
|
5170
|
-
/** Width in terminal columns */
|
|
5171
|
-
readonly width: number;
|
|
5172
|
-
/** Height in terminal rows */
|
|
5173
|
-
readonly height: number;
|
|
5174
|
-
/** 2D array of cells, indexed as cells[row][col] */
|
|
5175
|
-
readonly cells: readonly (readonly Cell[])[];
|
|
5176
|
-
}
|
|
5177
|
-
/**
|
|
5178
|
-
* Raw RGBA bitmap pixel data.
|
|
5179
|
-
*
|
|
5180
|
-
* @example
|
|
5181
|
-
* ```typescript
|
|
5182
|
-
* import type { Bitmap } from 'blecsd';
|
|
5183
|
-
*
|
|
5184
|
-
* // 2x2 red image
|
|
5185
|
-
* const bitmap: Bitmap = {
|
|
5186
|
-
* width: 2,
|
|
5187
|
-
* height: 2,
|
|
5188
|
-
* data: new Uint8Array([
|
|
5189
|
-
* 255, 0, 0, 255, 255, 0, 0, 255,
|
|
5190
|
-
* 255, 0, 0, 255, 255, 0, 0, 255,
|
|
5191
|
-
* ]),
|
|
5192
|
-
* };
|
|
5193
|
-
* ```
|
|
5194
|
-
*/
|
|
5195
|
-
interface Bitmap {
|
|
5196
|
-
/** Width in pixels */
|
|
5197
|
-
readonly width: number;
|
|
5198
|
-
/** Height in pixels */
|
|
5199
|
-
readonly height: number;
|
|
5200
|
-
/** RGBA pixel data (4 bytes per pixel: R, G, B, A) */
|
|
5201
|
-
readonly data: Uint8Array;
|
|
5202
|
-
}
|
|
5203
|
-
/**
|
|
5204
|
-
* Render mode for ANSI output.
|
|
5205
|
-
* - 'color': Full 256-color background blocks using upper-half-block characters
|
|
5206
|
-
* - 'ascii': ASCII art using luminance-based character ramp
|
|
5207
|
-
* - 'braille': Braille pattern characters for higher resolution
|
|
5208
|
-
*/
|
|
5209
|
-
type RenderMode = 'color' | 'ascii' | 'braille';
|
|
5210
|
-
|
|
5211
|
-
/**
|
|
5212
|
-
* Image Widget
|
|
5213
|
-
*
|
|
5214
|
-
* Factory widget that renders bitmap images in the terminal.
|
|
5215
|
-
* Supports ANSI rendering (256-color, ASCII, braille) and an overlay mode
|
|
5216
|
-
* for external image protocols (w3m, iTerm2, Kitty, Sixel).
|
|
5217
|
-
*
|
|
5218
|
-
* @module widgets/image
|
|
5219
|
-
*/
|
|
5220
|
-
|
|
5221
|
-
/**
|
|
5222
|
-
* Image rendering type.
|
|
5223
|
-
* - 'ansi': Renders bitmap as ANSI escape sequences using 256-color palette
|
|
5224
|
-
* - 'overlay': Stores bitmap for external overlay protocols (w3m, iTerm2, Kitty, Sixel)
|
|
5225
|
-
*/
|
|
5226
|
-
type ImageType = 'ansi' | 'overlay';
|
|
5227
|
-
/**
|
|
5228
|
-
* Configuration for creating an Image widget.
|
|
5229
|
-
*
|
|
5230
|
-
* @example
|
|
5231
|
-
* ```typescript
|
|
5232
|
-
* import type { ImageConfig } from 'blecsd';
|
|
5686
|
+
* import type { ImageConfig } from 'blecsd';
|
|
5233
5687
|
*
|
|
5234
5688
|
* const config: ImageConfig = {
|
|
5235
5689
|
* x: 10,
|
|
@@ -5260,6 +5714,10 @@ interface ImageConfig {
|
|
|
5260
5714
|
readonly dither?: boolean;
|
|
5261
5715
|
/** Whether to show initially (default: true) */
|
|
5262
5716
|
readonly visible?: boolean;
|
|
5717
|
+
/** Preserve aspect ratio when resizing (default: true) */
|
|
5718
|
+
readonly preserveAspectRatio?: boolean;
|
|
5719
|
+
/** Graphics manager for overlay mode rendering (optional) */
|
|
5720
|
+
readonly graphicsManager?: GraphicsManagerState;
|
|
5263
5721
|
}
|
|
5264
5722
|
/**
|
|
5265
5723
|
* Image widget interface providing chainable methods.
|
|
@@ -5304,50 +5762,25 @@ interface ImageWidget {
|
|
|
5304
5762
|
setRenderMode(mode: RenderMode): ImageWidget;
|
|
5305
5763
|
/** Gets the current render mode */
|
|
5306
5764
|
getRenderMode(): RenderMode;
|
|
5765
|
+
/** Sets the graphics manager for overlay mode rendering */
|
|
5766
|
+
setGraphicsManager(manager: GraphicsManagerState): ImageWidget;
|
|
5307
5767
|
/** Renders the current bitmap to an ANSI string */
|
|
5308
5768
|
render(): string;
|
|
5769
|
+
/** Sets an animated image with multiple frames */
|
|
5770
|
+
setAnimatedImage(frames: readonly Bitmap[], delays: readonly number[], loopCount?: number): ImageWidget;
|
|
5771
|
+
/** Starts the animation playback */
|
|
5772
|
+
startAnimation(): ImageWidget;
|
|
5773
|
+
/** Stops the animation playback */
|
|
5774
|
+
stopAnimation(): ImageWidget;
|
|
5775
|
+
/** Checks if animation is currently playing */
|
|
5776
|
+
isAnimating(): boolean;
|
|
5777
|
+
/** Gets the current frame index */
|
|
5778
|
+
getCurrentFrame(): number;
|
|
5779
|
+
/** Sets the current frame by index */
|
|
5780
|
+
setFrame(index: number): ImageWidget;
|
|
5309
5781
|
/** Destroys the image widget */
|
|
5310
5782
|
destroy(): void;
|
|
5311
5783
|
}
|
|
5312
|
-
/**
|
|
5313
|
-
* Zod schema for image widget configuration.
|
|
5314
|
-
*
|
|
5315
|
-
* @example
|
|
5316
|
-
* ```typescript
|
|
5317
|
-
* import { ImageConfigSchema } from 'blecsd';
|
|
5318
|
-
*
|
|
5319
|
-
* const result = ImageConfigSchema.safeParse({ type: 'ansi', width: 40 });
|
|
5320
|
-
* ```
|
|
5321
|
-
*/
|
|
5322
|
-
declare const ImageConfigSchema: z.ZodObject<{
|
|
5323
|
-
x: z.ZodDefault<z.ZodNumber>;
|
|
5324
|
-
y: z.ZodDefault<z.ZodNumber>;
|
|
5325
|
-
width: z.ZodOptional<z.ZodNumber>;
|
|
5326
|
-
height: z.ZodOptional<z.ZodNumber>;
|
|
5327
|
-
type: z.ZodDefault<z.ZodEnum<{
|
|
5328
|
-
ansi: "ansi";
|
|
5329
|
-
overlay: "overlay";
|
|
5330
|
-
}>>;
|
|
5331
|
-
bitmap: z.ZodOptional<z.ZodObject<{
|
|
5332
|
-
width: z.ZodNumber;
|
|
5333
|
-
height: z.ZodNumber;
|
|
5334
|
-
data: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
|
|
5335
|
-
}, z.core.$strip>>;
|
|
5336
|
-
renderMode: z.ZodDefault<z.ZodEnum<{
|
|
5337
|
-
color: "color";
|
|
5338
|
-
braille: "braille";
|
|
5339
|
-
ascii: "ascii";
|
|
5340
|
-
}>>;
|
|
5341
|
-
dither: z.ZodDefault<z.ZodBoolean>;
|
|
5342
|
-
visible: z.ZodDefault<z.ZodBoolean>;
|
|
5343
|
-
}, z.core.$strip>;
|
|
5344
|
-
/**
|
|
5345
|
-
* Image component marker for identifying image entities.
|
|
5346
|
-
*/
|
|
5347
|
-
declare const Image: {
|
|
5348
|
-
/** Tag indicating this is an image widget (1 = yes) */
|
|
5349
|
-
isImage: Uint8Array<ArrayBuffer>;
|
|
5350
|
-
};
|
|
5351
5784
|
/**
|
|
5352
5785
|
* Creates an Image widget.
|
|
5353
5786
|
*
|
|
@@ -5444,6 +5877,27 @@ declare function getImageCellMap(eid: Entity): CellMap | undefined;
|
|
|
5444
5877
|
*/
|
|
5445
5878
|
declare function resetImageStore(): void;
|
|
5446
5879
|
|
|
5880
|
+
/**
|
|
5881
|
+
* Image widget namespace.
|
|
5882
|
+
*
|
|
5883
|
+
* @example
|
|
5884
|
+
* ```typescript
|
|
5885
|
+
* import { image } from 'blecsd/widgets';
|
|
5886
|
+
* const img = image.create(world, { bitmap: [...] });
|
|
5887
|
+
* const bitmap = image.getBitmap(world, img.eid);
|
|
5888
|
+
* const cellMap = image.getCellMap(world, img.eid);
|
|
5889
|
+
* ```
|
|
5890
|
+
*/
|
|
5891
|
+
|
|
5892
|
+
declare const image: Readonly<{
|
|
5893
|
+
create: typeof createImage;
|
|
5894
|
+
is: typeof isImage;
|
|
5895
|
+
getBitmap: typeof getImageBitmap;
|
|
5896
|
+
getCellMap: typeof getImageCellMap;
|
|
5897
|
+
resetStore: typeof resetImageStore;
|
|
5898
|
+
}>;
|
|
5899
|
+
type ImageModule = typeof image;
|
|
5900
|
+
|
|
5447
5901
|
/**
|
|
5448
5902
|
* Layout Widget
|
|
5449
5903
|
*
|
|
@@ -5564,37 +6018,37 @@ interface LayoutPosition {
|
|
|
5564
6018
|
declare const LayoutConfigSchema: z.ZodObject<{
|
|
5565
6019
|
left: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
5566
6020
|
left: "left";
|
|
5567
|
-
|
|
6021
|
+
center: "center";
|
|
5568
6022
|
right: "right";
|
|
6023
|
+
top: "top";
|
|
5569
6024
|
bottom: "bottom";
|
|
5570
|
-
center: "center";
|
|
5571
6025
|
}>]>>;
|
|
5572
6026
|
top: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
5573
6027
|
left: "left";
|
|
5574
|
-
|
|
6028
|
+
center: "center";
|
|
5575
6029
|
right: "right";
|
|
6030
|
+
top: "top";
|
|
5576
6031
|
bottom: "bottom";
|
|
5577
|
-
center: "center";
|
|
5578
6032
|
}>]>>;
|
|
5579
6033
|
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
5580
6034
|
height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
5581
6035
|
layout: z.ZodOptional<z.ZodEnum<{
|
|
5582
|
-
inline: "inline";
|
|
5583
6036
|
flex: "flex";
|
|
6037
|
+
inline: "inline";
|
|
5584
6038
|
grid: "grid";
|
|
5585
6039
|
}>>;
|
|
5586
6040
|
gap: z.ZodOptional<z.ZodNumber>;
|
|
5587
6041
|
wrap: z.ZodOptional<z.ZodBoolean>;
|
|
5588
6042
|
justify: z.ZodOptional<z.ZodEnum<{
|
|
5589
6043
|
center: "center";
|
|
5590
|
-
start: "start";
|
|
5591
6044
|
end: "end";
|
|
6045
|
+
start: "start";
|
|
5592
6046
|
"space-between": "space-between";
|
|
5593
6047
|
}>>;
|
|
5594
6048
|
align: z.ZodOptional<z.ZodEnum<{
|
|
5595
6049
|
center: "center";
|
|
5596
|
-
start: "start";
|
|
5597
6050
|
end: "end";
|
|
6051
|
+
start: "start";
|
|
5598
6052
|
}>>;
|
|
5599
6053
|
cols: z.ZodOptional<z.ZodNumber>;
|
|
5600
6054
|
direction: z.ZodOptional<z.ZodEnum<{
|
|
@@ -5747,6 +6201,28 @@ declare function getLayoutMode(_world: World, eid: Entity): LayoutMode;
|
|
|
5747
6201
|
*/
|
|
5748
6202
|
declare function resetLayoutStore(): void;
|
|
5749
6203
|
|
|
6204
|
+
/**
|
|
6205
|
+
* LayoutWidget namespace.
|
|
6206
|
+
*
|
|
6207
|
+
* @example
|
|
6208
|
+
* ```typescript
|
|
6209
|
+
* import { layoutWidget } from 'blecsd/widgets';
|
|
6210
|
+
* const layout = layoutWidget.create(world, { mode: 'flex' });
|
|
6211
|
+
* const mode = layoutWidget.getMode(world, layout.eid);
|
|
6212
|
+
* ```
|
|
6213
|
+
*/
|
|
6214
|
+
|
|
6215
|
+
declare const layoutWidget: Readonly<{
|
|
6216
|
+
create: typeof createLayout;
|
|
6217
|
+
is: typeof isLayout;
|
|
6218
|
+
getMode: typeof getLayoutMode;
|
|
6219
|
+
calculateFlex: typeof calculateFlexLayout;
|
|
6220
|
+
calculateGrid: typeof calculateGridLayout;
|
|
6221
|
+
calculateInline: typeof calculateInlineLayout;
|
|
6222
|
+
resetStore: typeof resetLayoutStore;
|
|
6223
|
+
}>;
|
|
6224
|
+
type LayoutWidgetModule = typeof layoutWidget;
|
|
6225
|
+
|
|
5750
6226
|
/**
|
|
5751
6227
|
* Line Widget
|
|
5752
6228
|
*
|
|
@@ -5832,17 +6308,17 @@ declare const DEFAULT_LINE_LENGTH = 10;
|
|
|
5832
6308
|
declare const LineConfigSchema: z.ZodObject<{
|
|
5833
6309
|
left: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
5834
6310
|
left: "left";
|
|
5835
|
-
|
|
6311
|
+
center: "center";
|
|
5836
6312
|
right: "right";
|
|
6313
|
+
top: "top";
|
|
5837
6314
|
bottom: "bottom";
|
|
5838
|
-
center: "center";
|
|
5839
6315
|
}>]>>;
|
|
5840
6316
|
top: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
5841
6317
|
left: "left";
|
|
5842
|
-
|
|
6318
|
+
center: "center";
|
|
5843
6319
|
right: "right";
|
|
6320
|
+
top: "top";
|
|
5844
6321
|
bottom: "bottom";
|
|
5845
|
-
center: "center";
|
|
5846
6322
|
}>]>>;
|
|
5847
6323
|
orientation: z.ZodOptional<z.ZodEnum<{
|
|
5848
6324
|
horizontal: "horizontal";
|
|
@@ -5951,6 +6427,32 @@ declare function getLineOrientation(_world: World, eid: Entity): LineOrientation
|
|
|
5951
6427
|
*/
|
|
5952
6428
|
declare function resetLineStore(): void;
|
|
5953
6429
|
|
|
6430
|
+
/**
|
|
6431
|
+
* Line widget namespace.
|
|
6432
|
+
*
|
|
6433
|
+
* @example
|
|
6434
|
+
* ```typescript
|
|
6435
|
+
* import { line } from 'blecsd/widgets';
|
|
6436
|
+
* const l = line.create(world, { orientation: 'horizontal', length: 40 });
|
|
6437
|
+
* const char = line.getChar(world, l.eid);
|
|
6438
|
+
* line.setChar(world, l.eid, '=');
|
|
6439
|
+
* const orientation = line.getOrientation(world, l.eid);
|
|
6440
|
+
* ```
|
|
6441
|
+
*/
|
|
6442
|
+
|
|
6443
|
+
declare const line: Readonly<{
|
|
6444
|
+
create: typeof createLine;
|
|
6445
|
+
is: typeof isLine;
|
|
6446
|
+
getChar: typeof getLineChar;
|
|
6447
|
+
setChar: typeof setLineChar;
|
|
6448
|
+
getOrientation: typeof getLineOrientation;
|
|
6449
|
+
resetStore: typeof resetLineStore;
|
|
6450
|
+
DEFAULT_HORIZONTAL_CHAR: "─";
|
|
6451
|
+
DEFAULT_VERTICAL_CHAR: "│";
|
|
6452
|
+
DEFAULT_LINE_LENGTH: 10;
|
|
6453
|
+
}>;
|
|
6454
|
+
type LineModule = typeof line;
|
|
6455
|
+
|
|
5954
6456
|
/**
|
|
5955
6457
|
* LineChart Widget
|
|
5956
6458
|
*
|
|
@@ -6107,6 +6609,23 @@ declare function isLineChart(_world: World, eid: Entity): boolean;
|
|
|
6107
6609
|
*/
|
|
6108
6610
|
declare function resetLineChartStore(): void;
|
|
6109
6611
|
|
|
6612
|
+
/**
|
|
6613
|
+
* LineChart widget namespace.
|
|
6614
|
+
*
|
|
6615
|
+
* @example
|
|
6616
|
+
* ```typescript
|
|
6617
|
+
* import { lineChart } from 'blecsd/widgets';
|
|
6618
|
+
* const chart = lineChart.create(world, { series: [...] });
|
|
6619
|
+
* ```
|
|
6620
|
+
*/
|
|
6621
|
+
|
|
6622
|
+
declare const lineChart: Readonly<{
|
|
6623
|
+
create: typeof createLineChart;
|
|
6624
|
+
is: typeof isLineChart;
|
|
6625
|
+
resetStore: typeof resetLineChartStore;
|
|
6626
|
+
}>;
|
|
6627
|
+
type LineChartModule = typeof lineChart;
|
|
6628
|
+
|
|
6110
6629
|
/**
|
|
6111
6630
|
* List Widget
|
|
6112
6631
|
*
|
|
@@ -6423,6 +6942,22 @@ declare function createList(world: World, entity: Entity, config?: ListWidgetCon
|
|
|
6423
6942
|
*/
|
|
6424
6943
|
declare function isListWidget(world: World, eid: Entity): boolean;
|
|
6425
6944
|
|
|
6945
|
+
/**
|
|
6946
|
+
* ListWidget namespace.
|
|
6947
|
+
*
|
|
6948
|
+
* @example
|
|
6949
|
+
* ```typescript
|
|
6950
|
+
* import { listWidget } from 'blecsd/widgets';
|
|
6951
|
+
* const list = listWidget.create(world, { items: ['a', 'b', 'c'] });
|
|
6952
|
+
* ```
|
|
6953
|
+
*/
|
|
6954
|
+
|
|
6955
|
+
declare const listWidget: Readonly<{
|
|
6956
|
+
create: typeof createList;
|
|
6957
|
+
is: typeof isListWidget;
|
|
6958
|
+
}>;
|
|
6959
|
+
type ListWidgetModule = typeof listWidget;
|
|
6960
|
+
|
|
6426
6961
|
/**
|
|
6427
6962
|
* Listbar Widget
|
|
6428
6963
|
*
|
|
@@ -6679,6 +7214,23 @@ declare function createListbar(world: World, entity: Entity, config?: ListbarWid
|
|
|
6679
7214
|
*/
|
|
6680
7215
|
declare function isListbarWidget(_world: World, eid: Entity): boolean;
|
|
6681
7216
|
|
|
7217
|
+
/**
|
|
7218
|
+
* Listbar widget namespace.
|
|
7219
|
+
*
|
|
7220
|
+
* @example
|
|
7221
|
+
* ```typescript
|
|
7222
|
+
* import { listbar } from 'blecsd/widgets';
|
|
7223
|
+
* const lb = listbar.create(world, { items: [...] });
|
|
7224
|
+
* ```
|
|
7225
|
+
*/
|
|
7226
|
+
|
|
7227
|
+
declare const listbar: Readonly<{
|
|
7228
|
+
create: typeof createListbar;
|
|
7229
|
+
is: typeof isListbarWidget;
|
|
7230
|
+
resetStore: typeof resetListbarStore;
|
|
7231
|
+
}>;
|
|
7232
|
+
type ListbarModule = typeof listbar;
|
|
7233
|
+
|
|
6682
7234
|
/**
|
|
6683
7235
|
* ListTable Widget
|
|
6684
7236
|
*
|
|
@@ -6869,8 +7421,8 @@ declare const ListTableWidgetConfigSchema: z.ZodObject<{
|
|
|
6869
7421
|
pad: z.ZodDefault<z.ZodNumber>;
|
|
6870
7422
|
align: z.ZodDefault<z.ZodEnum<{
|
|
6871
7423
|
left: "left";
|
|
6872
|
-
right: "right";
|
|
6873
7424
|
center: "center";
|
|
7425
|
+
right: "right";
|
|
6874
7426
|
}>>;
|
|
6875
7427
|
style: z.ZodOptional<z.ZodObject<{
|
|
6876
7428
|
border: z.ZodOptional<z.ZodObject<{
|
|
@@ -6900,8 +7452,8 @@ declare const ListTableWidgetConfigSchema: z.ZodObject<{
|
|
|
6900
7452
|
maxWidth: z.ZodOptional<z.ZodNumber>;
|
|
6901
7453
|
align: z.ZodOptional<z.ZodEnum<{
|
|
6902
7454
|
left: "left";
|
|
6903
|
-
right: "right";
|
|
6904
7455
|
center: "center";
|
|
7456
|
+
right: "right";
|
|
6905
7457
|
}>>;
|
|
6906
7458
|
}, z.core.$strip>>>;
|
|
6907
7459
|
selected: z.ZodDefault<z.ZodNumber>;
|
|
@@ -6980,6 +7532,22 @@ declare function createListTable(world: World, entity: Entity, config?: ListTabl
|
|
|
6980
7532
|
*/
|
|
6981
7533
|
declare function isListTableWidget(world: World, eid: Entity): boolean;
|
|
6982
7534
|
|
|
7535
|
+
/**
|
|
7536
|
+
* ListTable widget namespace.
|
|
7537
|
+
*
|
|
7538
|
+
* @example
|
|
7539
|
+
* ```typescript
|
|
7540
|
+
* import { listTable } from 'blecsd/widgets';
|
|
7541
|
+
* const lt = listTable.create(world, { headers: [...], rows: [...] });
|
|
7542
|
+
* ```
|
|
7543
|
+
*/
|
|
7544
|
+
|
|
7545
|
+
declare const listTable: Readonly<{
|
|
7546
|
+
create: typeof createListTable;
|
|
7547
|
+
is: typeof isListTableWidget;
|
|
7548
|
+
}>;
|
|
7549
|
+
type ListTableModule = typeof listTable;
|
|
7550
|
+
|
|
6983
7551
|
/**
|
|
6984
7552
|
* Loading Widget
|
|
6985
7553
|
*
|
|
@@ -7182,6 +7750,33 @@ declare function updateLoadingAnimation(world: World, eid: Entity, deltaMs: numb
|
|
|
7182
7750
|
*/
|
|
7183
7751
|
declare function resetLoadingStore(): void;
|
|
7184
7752
|
|
|
7753
|
+
/**
|
|
7754
|
+
* Loading widget namespace.
|
|
7755
|
+
*
|
|
7756
|
+
* @example
|
|
7757
|
+
* ```typescript
|
|
7758
|
+
* import { loading } from 'blecsd/widgets';
|
|
7759
|
+
* const loader = loading.create(world, { message: 'Loading...' });
|
|
7760
|
+
* loading.show(world, loader.eid);
|
|
7761
|
+
* loading.setMessage(world, loader.eid, 'Processing...');
|
|
7762
|
+
* loading.hide(world, loader.eid);
|
|
7763
|
+
* loading.updateAnimation(world, deltaTime);
|
|
7764
|
+
* ```
|
|
7765
|
+
*/
|
|
7766
|
+
|
|
7767
|
+
declare const loading: Readonly<{
|
|
7768
|
+
create: typeof createLoading;
|
|
7769
|
+
is: typeof isLoadingWidget;
|
|
7770
|
+
show: typeof showLoading;
|
|
7771
|
+
hide: typeof hideLoading;
|
|
7772
|
+
setMessage: typeof setLoadingMessage;
|
|
7773
|
+
updateAnimation: typeof updateLoadingAnimation;
|
|
7774
|
+
resetStore: typeof resetLoadingStore;
|
|
7775
|
+
DEFAULT_LOADING_BG: 0;
|
|
7776
|
+
DEFAULT_LOADING_FG: 4294967295;
|
|
7777
|
+
}>;
|
|
7778
|
+
type LoadingModule = typeof loading;
|
|
7779
|
+
|
|
7185
7780
|
/**
|
|
7186
7781
|
* Log Widget
|
|
7187
7782
|
*
|
|
@@ -7362,31 +7957,31 @@ interface LogWidget {
|
|
|
7362
7957
|
declare const LogConfigSchema: z.ZodObject<{
|
|
7363
7958
|
left: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
7364
7959
|
left: "left";
|
|
7365
|
-
|
|
7960
|
+
center: "center";
|
|
7366
7961
|
right: "right";
|
|
7962
|
+
top: "top";
|
|
7367
7963
|
bottom: "bottom";
|
|
7368
|
-
center: "center";
|
|
7369
7964
|
}>]>>;
|
|
7370
7965
|
top: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
7371
7966
|
left: "left";
|
|
7372
|
-
|
|
7967
|
+
center: "center";
|
|
7373
7968
|
right: "right";
|
|
7969
|
+
top: "top";
|
|
7374
7970
|
bottom: "bottom";
|
|
7375
|
-
center: "center";
|
|
7376
7971
|
}>]>>;
|
|
7377
7972
|
right: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
7378
7973
|
left: "left";
|
|
7379
|
-
|
|
7974
|
+
center: "center";
|
|
7380
7975
|
right: "right";
|
|
7976
|
+
top: "top";
|
|
7381
7977
|
bottom: "bottom";
|
|
7382
|
-
center: "center";
|
|
7383
7978
|
}>]>>;
|
|
7384
7979
|
bottom: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
7385
7980
|
left: "left";
|
|
7386
|
-
|
|
7981
|
+
center: "center";
|
|
7387
7982
|
right: "right";
|
|
7983
|
+
top: "top";
|
|
7388
7984
|
bottom: "bottom";
|
|
7389
|
-
center: "center";
|
|
7390
7985
|
}>]>>;
|
|
7391
7986
|
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
7392
7987
|
height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
@@ -7394,15 +7989,15 @@ declare const LogConfigSchema: z.ZodObject<{
|
|
|
7394
7989
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
7395
7990
|
border: z.ZodOptional<z.ZodObject<{
|
|
7396
7991
|
type: z.ZodOptional<z.ZodEnum<{
|
|
7397
|
-
bg: "bg";
|
|
7398
7992
|
none: "none";
|
|
7993
|
+
bg: "bg";
|
|
7399
7994
|
line: "line";
|
|
7400
7995
|
}>>;
|
|
7401
7996
|
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
7402
7997
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
7403
7998
|
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
7404
|
-
ascii: "ascii";
|
|
7405
7999
|
bold: "bold";
|
|
8000
|
+
ascii: "ascii";
|
|
7406
8001
|
single: "single";
|
|
7407
8002
|
double: "double";
|
|
7408
8003
|
rounded: "rounded";
|
|
@@ -7537,6 +8132,29 @@ declare function getScrollback(_world: World, eid: Entity): number;
|
|
|
7537
8132
|
*/
|
|
7538
8133
|
declare function resetLogStore(): void;
|
|
7539
8134
|
|
|
8135
|
+
/**
|
|
8136
|
+
* Log widget namespace.
|
|
8137
|
+
*
|
|
8138
|
+
* @example
|
|
8139
|
+
* ```typescript
|
|
8140
|
+
* import { log } from 'blecsd/widgets';
|
|
8141
|
+
* const l = log.create(world, { scrollback: 1000 });
|
|
8142
|
+
* const scrollback = log.getScrollback(world, l.eid);
|
|
8143
|
+
* const keysEnabled = log.isKeysScrollEnabled(world, l.eid);
|
|
8144
|
+
* const mouseEnabled = log.isMouseScrollEnabled(world, l.eid);
|
|
8145
|
+
* ```
|
|
8146
|
+
*/
|
|
8147
|
+
|
|
8148
|
+
declare const log: Readonly<{
|
|
8149
|
+
create: typeof createLog;
|
|
8150
|
+
is: typeof isLog;
|
|
8151
|
+
getScrollback: typeof getScrollback;
|
|
8152
|
+
isKeysScrollEnabled: typeof isKeysScrollEnabled$1;
|
|
8153
|
+
isMouseScrollEnabled: typeof isMouseScrollEnabled$1;
|
|
8154
|
+
resetStore: typeof resetLogStore;
|
|
8155
|
+
}>;
|
|
8156
|
+
type LogModule = typeof log;
|
|
8157
|
+
|
|
7540
8158
|
/**
|
|
7541
8159
|
* Message Widget
|
|
7542
8160
|
*
|
|
@@ -7653,17 +8271,17 @@ interface MessageWidget {
|
|
|
7653
8271
|
declare const MessageConfigSchema: z.ZodObject<{
|
|
7654
8272
|
left: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
7655
8273
|
left: "left";
|
|
7656
|
-
|
|
8274
|
+
center: "center";
|
|
7657
8275
|
right: "right";
|
|
8276
|
+
top: "top";
|
|
7658
8277
|
bottom: "bottom";
|
|
7659
|
-
center: "center";
|
|
7660
8278
|
}>]>>;
|
|
7661
8279
|
top: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
7662
8280
|
left: "left";
|
|
7663
|
-
|
|
8281
|
+
center: "center";
|
|
7664
8282
|
right: "right";
|
|
8283
|
+
top: "top";
|
|
7665
8284
|
bottom: "bottom";
|
|
7666
|
-
center: "center";
|
|
7667
8285
|
}>]>>;
|
|
7668
8286
|
width: z.ZodOptional<z.ZodNumber>;
|
|
7669
8287
|
height: z.ZodOptional<z.ZodNumber>;
|
|
@@ -7681,15 +8299,15 @@ declare const MessageConfigSchema: z.ZodObject<{
|
|
|
7681
8299
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
7682
8300
|
border: z.ZodOptional<z.ZodObject<{
|
|
7683
8301
|
type: z.ZodOptional<z.ZodEnum<{
|
|
7684
|
-
bg: "bg";
|
|
7685
8302
|
none: "none";
|
|
8303
|
+
bg: "bg";
|
|
7686
8304
|
line: "line";
|
|
7687
8305
|
}>>;
|
|
7688
8306
|
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
7689
8307
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
7690
8308
|
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
7691
|
-
ascii: "ascii";
|
|
7692
8309
|
bold: "bold";
|
|
8310
|
+
ascii: "ascii";
|
|
7693
8311
|
single: "single";
|
|
7694
8312
|
double: "double";
|
|
7695
8313
|
rounded: "rounded";
|
|
@@ -7881,6 +8499,24 @@ declare function handleMessageKey(world: World, eid: Entity): boolean;
|
|
|
7881
8499
|
*/
|
|
7882
8500
|
declare function resetMessageStore(): void;
|
|
7883
8501
|
|
|
8502
|
+
declare const message: Readonly<{
|
|
8503
|
+
create: typeof createMessage;
|
|
8504
|
+
is: typeof isMessage;
|
|
8505
|
+
showInfo: typeof showInfo;
|
|
8506
|
+
showWarning: typeof showWarning;
|
|
8507
|
+
showError: typeof showError;
|
|
8508
|
+
showSuccess: typeof showSuccess;
|
|
8509
|
+
handleKey: typeof handleMessageKey;
|
|
8510
|
+
handleClick: typeof handleMessageClick;
|
|
8511
|
+
isDismissOnKey: typeof isDismissOnKey;
|
|
8512
|
+
isDismissOnClick: typeof isDismissOnClick;
|
|
8513
|
+
resetStore: typeof resetMessageStore;
|
|
8514
|
+
DEFAULT_MESSAGE_PADDING: 1;
|
|
8515
|
+
DEFAULT_MESSAGE_STYLES: Record<MessageType, MessageStyleConfig>;
|
|
8516
|
+
DEFAULT_MESSAGE_TIMEOUT: 3000;
|
|
8517
|
+
}>;
|
|
8518
|
+
type MessageModule = typeof message;
|
|
8519
|
+
|
|
7884
8520
|
/**
|
|
7885
8521
|
* Modal Widget
|
|
7886
8522
|
*
|
|
@@ -8006,15 +8642,15 @@ declare const ModalConfigSchema: z.ZodObject<{
|
|
|
8006
8642
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
8007
8643
|
border: z.ZodOptional<z.ZodObject<{
|
|
8008
8644
|
type: z.ZodOptional<z.ZodEnum<{
|
|
8009
|
-
bg: "bg";
|
|
8010
8645
|
none: "none";
|
|
8646
|
+
bg: "bg";
|
|
8011
8647
|
line: "line";
|
|
8012
8648
|
}>>;
|
|
8013
8649
|
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
8014
8650
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
8015
8651
|
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
8016
|
-
ascii: "ascii";
|
|
8017
8652
|
bold: "bold";
|
|
8653
|
+
ascii: "ascii";
|
|
8018
8654
|
single: "single";
|
|
8019
8655
|
double: "double";
|
|
8020
8656
|
rounded: "rounded";
|
|
@@ -8228,6 +8864,37 @@ declare function handleModalBackdropClick(world: World, eid: Entity): boolean;
|
|
|
8228
8864
|
*/
|
|
8229
8865
|
declare function handleModalEscape(world: World, eid: Entity): boolean;
|
|
8230
8866
|
|
|
8867
|
+
/**
|
|
8868
|
+
* Modal widget namespace.
|
|
8869
|
+
*
|
|
8870
|
+
* @example
|
|
8871
|
+
* ```typescript
|
|
8872
|
+
* import { modal } from 'blecsd/widgets';
|
|
8873
|
+
* const m = modal.create(world, { title: 'Confirm', content: 'Are you sure?' });
|
|
8874
|
+
* modal.open(world, m.eid);
|
|
8875
|
+
* const isOpen = modal.isOpen(world, m.eid);
|
|
8876
|
+
* const stack = modal.getStack(world);
|
|
8877
|
+
* modal.handleEscape(world, keyEvent);
|
|
8878
|
+
* modal.handleBackdropClick(world, m.eid, mouseEvent);
|
|
8879
|
+
* modal.close(world, m.eid);
|
|
8880
|
+
* modal.closeAll(world);
|
|
8881
|
+
* ```
|
|
8882
|
+
*/
|
|
8883
|
+
|
|
8884
|
+
declare const modal: Readonly<{
|
|
8885
|
+
create: typeof createModal;
|
|
8886
|
+
is: typeof isModal;
|
|
8887
|
+
open: typeof openModal;
|
|
8888
|
+
close: typeof closeModal;
|
|
8889
|
+
closeAll: typeof closeAllModals;
|
|
8890
|
+
isOpen: typeof isModalOpen;
|
|
8891
|
+
getStack: typeof getModalStack;
|
|
8892
|
+
handleEscape: typeof handleModalEscape;
|
|
8893
|
+
handleBackdropClick: typeof handleModalBackdropClick;
|
|
8894
|
+
resetStore: typeof resetModalStore;
|
|
8895
|
+
}>;
|
|
8896
|
+
type ModalModule = typeof modal;
|
|
8897
|
+
|
|
8231
8898
|
/**
|
|
8232
8899
|
* Multi-Select Widget
|
|
8233
8900
|
*
|
|
@@ -8523,6 +9190,27 @@ declare function isMultiSelect(_world: World, eid: Entity): boolean;
|
|
|
8523
9190
|
*/
|
|
8524
9191
|
declare function resetMultiSelectStore(): void;
|
|
8525
9192
|
|
|
9193
|
+
/**
|
|
9194
|
+
* MultiSelect widget namespace.
|
|
9195
|
+
*
|
|
9196
|
+
* @example
|
|
9197
|
+
* ```typescript
|
|
9198
|
+
* import { multiSelect } from 'blecsd/widgets';
|
|
9199
|
+
* const ms = multiSelect.create(world, { items: [...] });
|
|
9200
|
+
* const selected = multiSelect.getSelectedItems(world, ms.eid);
|
|
9201
|
+
* multiSelect.onSelectionChange(world, ms.eid, callback);
|
|
9202
|
+
* ```
|
|
9203
|
+
*/
|
|
9204
|
+
|
|
9205
|
+
declare const multiSelect: Readonly<{
|
|
9206
|
+
create: typeof createMultiSelect;
|
|
9207
|
+
is: typeof isMultiSelect;
|
|
9208
|
+
getSelectedItems: typeof getSelectedItems;
|
|
9209
|
+
onSelectionChange: typeof onSelectionChange;
|
|
9210
|
+
resetStore: typeof resetMultiSelectStore;
|
|
9211
|
+
}>;
|
|
9212
|
+
type MultiSelectModule = typeof multiSelect;
|
|
9213
|
+
|
|
8526
9214
|
/**
|
|
8527
9215
|
* Panel Widget
|
|
8528
9216
|
*
|
|
@@ -8775,25 +9463,25 @@ declare const EXPAND_CHAR = "\u25B6";
|
|
|
8775
9463
|
declare const PanelConfigSchema: z.ZodObject<{
|
|
8776
9464
|
left: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
8777
9465
|
left: "left";
|
|
8778
|
-
|
|
9466
|
+
center: "center";
|
|
8779
9467
|
right: "right";
|
|
9468
|
+
top: "top";
|
|
8780
9469
|
bottom: "bottom";
|
|
8781
|
-
center: "center";
|
|
8782
9470
|
}>]>>;
|
|
8783
9471
|
top: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
8784
9472
|
left: "left";
|
|
8785
|
-
|
|
9473
|
+
center: "center";
|
|
8786
9474
|
right: "right";
|
|
9475
|
+
top: "top";
|
|
8787
9476
|
bottom: "bottom";
|
|
8788
|
-
center: "center";
|
|
8789
9477
|
}>]>>;
|
|
8790
9478
|
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
8791
9479
|
height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
8792
9480
|
title: z.ZodOptional<z.ZodString>;
|
|
8793
9481
|
titleAlign: z.ZodOptional<z.ZodEnum<{
|
|
8794
9482
|
left: "left";
|
|
8795
|
-
right: "right";
|
|
8796
9483
|
center: "center";
|
|
9484
|
+
right: "right";
|
|
8797
9485
|
}>>;
|
|
8798
9486
|
closable: z.ZodOptional<z.ZodBoolean>;
|
|
8799
9487
|
collapsible: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -8806,8 +9494,8 @@ declare const PanelConfigSchema: z.ZodObject<{
|
|
|
8806
9494
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
8807
9495
|
align: z.ZodOptional<z.ZodEnum<{
|
|
8808
9496
|
left: "left";
|
|
8809
|
-
right: "right";
|
|
8810
9497
|
center: "center";
|
|
9498
|
+
right: "right";
|
|
8811
9499
|
}>>;
|
|
8812
9500
|
}, z.core.$strip>>;
|
|
8813
9501
|
content: z.ZodOptional<z.ZodObject<{
|
|
@@ -8816,15 +9504,15 @@ declare const PanelConfigSchema: z.ZodObject<{
|
|
|
8816
9504
|
}, z.core.$strip>>;
|
|
8817
9505
|
border: z.ZodOptional<z.ZodObject<{
|
|
8818
9506
|
type: z.ZodOptional<z.ZodEnum<{
|
|
8819
|
-
bg: "bg";
|
|
8820
9507
|
none: "none";
|
|
9508
|
+
bg: "bg";
|
|
8821
9509
|
line: "line";
|
|
8822
9510
|
}>>;
|
|
8823
9511
|
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
8824
9512
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
8825
9513
|
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
8826
|
-
ascii: "ascii";
|
|
8827
9514
|
bold: "bold";
|
|
9515
|
+
ascii: "ascii";
|
|
8828
9516
|
single: "single";
|
|
8829
9517
|
double: "double";
|
|
8830
9518
|
rounded: "rounded";
|
|
@@ -8962,6 +9650,37 @@ declare function renderPanelTitleBar(_world: World, eid: Entity, width: number):
|
|
|
8962
9650
|
*/
|
|
8963
9651
|
declare function resetPanelStore(): void;
|
|
8964
9652
|
|
|
9653
|
+
/**
|
|
9654
|
+
* Panel widget namespace.
|
|
9655
|
+
*
|
|
9656
|
+
* @example
|
|
9657
|
+
* ```typescript
|
|
9658
|
+
* import { panel } from 'blecsd/widgets';
|
|
9659
|
+
* const p = panel.create(world, { title: 'Settings' });
|
|
9660
|
+
* const title = panel.getTitle(world, p.eid);
|
|
9661
|
+
* panel.setTitle(world, p.eid, 'New Title');
|
|
9662
|
+
* const align = panel.getTitleAlign(world, p.eid);
|
|
9663
|
+
* const collapsed = panel.isCollapsed(world, p.eid);
|
|
9664
|
+
* panel.renderTitleBar(world, p.eid);
|
|
9665
|
+
* ```
|
|
9666
|
+
*/
|
|
9667
|
+
|
|
9668
|
+
declare const panel: Readonly<{
|
|
9669
|
+
create: typeof createPanel;
|
|
9670
|
+
is: typeof isPanel;
|
|
9671
|
+
getTitle: typeof getPanelTitle;
|
|
9672
|
+
setTitle: typeof setPanelTitle;
|
|
9673
|
+
getTitleAlign: typeof getPanelTitleAlign;
|
|
9674
|
+
isCollapsed: typeof isPanelCollapsed;
|
|
9675
|
+
renderTitleBar: typeof renderPanelTitleBar;
|
|
9676
|
+
resetStore: typeof resetPanelStore;
|
|
9677
|
+
CLOSE_BUTTON_CHAR: "✕";
|
|
9678
|
+
COLLAPSE_CHAR: "▼";
|
|
9679
|
+
EXPAND_CHAR: "▶";
|
|
9680
|
+
DEFAULT_PANEL_TITLE: "";
|
|
9681
|
+
}>;
|
|
9682
|
+
type PanelModule = typeof panel;
|
|
9683
|
+
|
|
8965
9684
|
/**
|
|
8966
9685
|
* ProgressBar Widget
|
|
8967
9686
|
*
|
|
@@ -9125,6 +9844,22 @@ declare function isProgressBar(_world: World, eid: Entity): boolean;
|
|
|
9125
9844
|
*/
|
|
9126
9845
|
declare function resetProgressBarStore(): void;
|
|
9127
9846
|
|
|
9847
|
+
/**
|
|
9848
|
+
* ProgressBarWidget namespace.
|
|
9849
|
+
*
|
|
9850
|
+
* @example
|
|
9851
|
+
* ```typescript
|
|
9852
|
+
* import { progressBarWidget } from 'blecsd/widgets';
|
|
9853
|
+
* const pb = progressBarWidget.create(world, { min: 0, max: 100, value: 50 });
|
|
9854
|
+
* ```
|
|
9855
|
+
*/
|
|
9856
|
+
|
|
9857
|
+
declare const progressBarWidget: Readonly<{
|
|
9858
|
+
create: typeof createProgressBar;
|
|
9859
|
+
resetStore: typeof resetProgressBarStore;
|
|
9860
|
+
}>;
|
|
9861
|
+
type ProgressBarWidgetModule = typeof progressBarWidget;
|
|
9862
|
+
|
|
9128
9863
|
/**
|
|
9129
9864
|
* Prompt Widget
|
|
9130
9865
|
*
|
|
@@ -9268,15 +10003,15 @@ interface PromptWidget {
|
|
|
9268
10003
|
*/
|
|
9269
10004
|
declare const PromptBorderConfigSchema: z.ZodOptional<z.ZodObject<{
|
|
9270
10005
|
type: z.ZodOptional<z.ZodEnum<{
|
|
9271
|
-
bg: "bg";
|
|
9272
10006
|
none: "none";
|
|
10007
|
+
bg: "bg";
|
|
9273
10008
|
line: "line";
|
|
9274
10009
|
}>>;
|
|
9275
10010
|
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
9276
10011
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
9277
10012
|
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
9278
|
-
ascii: "ascii";
|
|
9279
10013
|
bold: "bold";
|
|
10014
|
+
ascii: "ascii";
|
|
9280
10015
|
single: "single";
|
|
9281
10016
|
double: "double";
|
|
9282
10017
|
rounded: "rounded";
|
|
@@ -9316,15 +10051,15 @@ declare const PromptConfigSchema: z.ZodObject<{
|
|
|
9316
10051
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
9317
10052
|
border: z.ZodOptional<z.ZodObject<{
|
|
9318
10053
|
type: z.ZodOptional<z.ZodEnum<{
|
|
9319
|
-
bg: "bg";
|
|
9320
10054
|
none: "none";
|
|
10055
|
+
bg: "bg";
|
|
9321
10056
|
line: "line";
|
|
9322
10057
|
}>>;
|
|
9323
10058
|
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
9324
10059
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
9325
10060
|
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
9326
|
-
ascii: "ascii";
|
|
9327
10061
|
bold: "bold";
|
|
10062
|
+
ascii: "ascii";
|
|
9328
10063
|
single: "single";
|
|
9329
10064
|
double: "double";
|
|
9330
10065
|
rounded: "rounded";
|
|
@@ -9440,7 +10175,7 @@ declare function prompt(world: World, message: string, options?: Omit<PromptConf
|
|
|
9440
10175
|
* }
|
|
9441
10176
|
* ```
|
|
9442
10177
|
*/
|
|
9443
|
-
declare function isPrompt(eid: Entity): boolean;
|
|
10178
|
+
declare function isPrompt(_world: World, eid: Entity): boolean;
|
|
9444
10179
|
/**
|
|
9445
10180
|
* Resets the prompt component store and state map. Useful for testing.
|
|
9446
10181
|
*
|
|
@@ -9476,6 +10211,31 @@ declare function resetPromptStore(): void;
|
|
|
9476
10211
|
*/
|
|
9477
10212
|
declare function handlePromptKey(widget: PromptWidget, key: string): boolean;
|
|
9478
10213
|
|
|
10214
|
+
/**
|
|
10215
|
+
* PromptWidget namespace.
|
|
10216
|
+
*
|
|
10217
|
+
* @example
|
|
10218
|
+
* ```typescript
|
|
10219
|
+
* import { promptWidget } from 'blecsd/widgets';
|
|
10220
|
+
* const p = promptWidget.create(world, { message: 'Enter name:' });
|
|
10221
|
+
* const result = await promptWidget.prompt(world, 'Enter email:');
|
|
10222
|
+
* promptWidget.handleKey(world, p.eid, keyEvent);
|
|
10223
|
+
* ```
|
|
10224
|
+
*/
|
|
10225
|
+
|
|
10226
|
+
declare const promptWidget: Readonly<{
|
|
10227
|
+
create: typeof createPrompt;
|
|
10228
|
+
is: typeof isPrompt;
|
|
10229
|
+
prompt: typeof prompt;
|
|
10230
|
+
handleKey: typeof handlePromptKey;
|
|
10231
|
+
resetStore: typeof resetPromptStore;
|
|
10232
|
+
DEFAULT_PROMPT_BG: 255;
|
|
10233
|
+
DEFAULT_PROMPT_FG: 4294967295;
|
|
10234
|
+
DEFAULT_PROMPT_HEIGHT: 5;
|
|
10235
|
+
DEFAULT_PROMPT_WIDTH: 40;
|
|
10236
|
+
}>;
|
|
10237
|
+
type PromptWidgetModule = typeof promptWidget;
|
|
10238
|
+
|
|
9479
10239
|
/**
|
|
9480
10240
|
* Question Widget
|
|
9481
10241
|
*
|
|
@@ -9608,15 +10368,15 @@ declare const QuestionConfigSchema: z.ZodObject<{
|
|
|
9608
10368
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
9609
10369
|
border: z.ZodOptional<z.ZodObject<{
|
|
9610
10370
|
type: z.ZodOptional<z.ZodEnum<{
|
|
9611
|
-
bg: "bg";
|
|
9612
10371
|
none: "none";
|
|
10372
|
+
bg: "bg";
|
|
9613
10373
|
line: "line";
|
|
9614
10374
|
}>>;
|
|
9615
10375
|
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
9616
10376
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
9617
10377
|
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
9618
|
-
ascii: "ascii";
|
|
9619
10378
|
bold: "bold";
|
|
10379
|
+
ascii: "ascii";
|
|
9620
10380
|
single: "single";
|
|
9621
10381
|
double: "double";
|
|
9622
10382
|
rounded: "rounded";
|
|
@@ -9776,6 +10536,53 @@ declare function handleQuestionKey(widget: QuestionWidget, key: string): boolean
|
|
|
9776
10536
|
*/
|
|
9777
10537
|
declare function resetQuestionStore(): void;
|
|
9778
10538
|
|
|
10539
|
+
/**
|
|
10540
|
+
* Question widget namespace.
|
|
10541
|
+
*
|
|
10542
|
+
* @example
|
|
10543
|
+
* ```typescript
|
|
10544
|
+
* import { question } from 'blecsd/widgets';
|
|
10545
|
+
* const q = question.create(world, { message: 'Are you sure?' });
|
|
10546
|
+
* const answer = await question.ask(world, 'Proceed?');
|
|
10547
|
+
* const confirmed = await question.confirm(world, 'Delete file?');
|
|
10548
|
+
* question.handleKey(world, q.eid, keyEvent);
|
|
10549
|
+
* ```
|
|
10550
|
+
*/
|
|
10551
|
+
|
|
10552
|
+
declare const question: Readonly<{
|
|
10553
|
+
create: typeof createQuestion;
|
|
10554
|
+
is: typeof isQuestion;
|
|
10555
|
+
ask: typeof ask;
|
|
10556
|
+
confirm: typeof confirm;
|
|
10557
|
+
handleKey: typeof handleQuestionKey;
|
|
10558
|
+
resetStore: typeof resetQuestionStore;
|
|
10559
|
+
DEFAULT_QUESTION_BG: 0;
|
|
10560
|
+
DEFAULT_QUESTION_FG: 4294967295;
|
|
10561
|
+
DEFAULT_QUESTION_HEIGHT: 5;
|
|
10562
|
+
DEFAULT_QUESTION_WIDTH: 40;
|
|
10563
|
+
}>;
|
|
10564
|
+
type QuestionModule = typeof question;
|
|
10565
|
+
|
|
10566
|
+
/**
|
|
10567
|
+
* RadioWidget namespace.
|
|
10568
|
+
*
|
|
10569
|
+
* @example
|
|
10570
|
+
* ```typescript
|
|
10571
|
+
* import { radioWidget } from 'blecsd/widgets';
|
|
10572
|
+
* const btn = radioWidget.createButton(world, { label: 'Option A', group: 'group1' });
|
|
10573
|
+
* const group = radioWidget.createGroup(world, { options: [...] });
|
|
10574
|
+
* ```
|
|
10575
|
+
*/
|
|
10576
|
+
|
|
10577
|
+
declare const radioWidget: Readonly<{
|
|
10578
|
+
createButton: typeof createRadioButton;
|
|
10579
|
+
createGroup: typeof createRadioGroup;
|
|
10580
|
+
isButton: typeof isRadioButtonWidget;
|
|
10581
|
+
isGroup: typeof isRadioGroupWidget;
|
|
10582
|
+
resetStore: typeof resetRadioWidgetStore;
|
|
10583
|
+
}>;
|
|
10584
|
+
type RadioWidgetModule = typeof radioWidget;
|
|
10585
|
+
|
|
9779
10586
|
/**
|
|
9780
10587
|
* Widget Registry System
|
|
9781
10588
|
*
|
|
@@ -9817,6 +10624,37 @@ interface WidgetRegistration<TConfig = unknown, TWidget = unknown> {
|
|
|
9817
10624
|
readonly description?: string;
|
|
9818
10625
|
/** Optional tags for categorization */
|
|
9819
10626
|
readonly tags?: readonly string[];
|
|
10627
|
+
/** Optional Zod schema for config validation */
|
|
10628
|
+
readonly configSchema?: z.ZodType<TConfig>;
|
|
10629
|
+
/** Optional category (e.g., 'basic', 'data', 'feedback', 'layout', 'display') */
|
|
10630
|
+
readonly category?: string;
|
|
10631
|
+
/** Optional version string */
|
|
10632
|
+
readonly version?: string;
|
|
10633
|
+
/** Optional list of required ECS components */
|
|
10634
|
+
readonly requiredComponents?: readonly string[];
|
|
10635
|
+
/** Optional list of supported events */
|
|
10636
|
+
readonly supportedEvents?: readonly string[];
|
|
10637
|
+
}
|
|
10638
|
+
/**
|
|
10639
|
+
* Widget metadata returned by the info method.
|
|
10640
|
+
*/
|
|
10641
|
+
interface WidgetInfo {
|
|
10642
|
+
/** Widget type name */
|
|
10643
|
+
readonly name: string;
|
|
10644
|
+
/** Widget description */
|
|
10645
|
+
readonly description: string;
|
|
10646
|
+
/** Widget category */
|
|
10647
|
+
readonly category: string;
|
|
10648
|
+
/** Widget tags */
|
|
10649
|
+
readonly tags: readonly string[];
|
|
10650
|
+
/** Widget version */
|
|
10651
|
+
readonly version: string;
|
|
10652
|
+
/** Required ECS components */
|
|
10653
|
+
readonly requiredComponents: readonly string[];
|
|
10654
|
+
/** Supported event types */
|
|
10655
|
+
readonly supportedEvents: readonly string[];
|
|
10656
|
+
/** Whether the widget has a config schema */
|
|
10657
|
+
readonly hasConfigSchema: boolean;
|
|
9820
10658
|
}
|
|
9821
10659
|
/**
|
|
9822
10660
|
* Widget registry interface.
|
|
@@ -9881,6 +10719,52 @@ interface WidgetRegistry {
|
|
|
9881
10719
|
* @param tag - Tag to filter by
|
|
9882
10720
|
*/
|
|
9883
10721
|
listByTag(tag: string): readonly string[];
|
|
10722
|
+
/**
|
|
10723
|
+
* Lists widget types by category.
|
|
10724
|
+
*
|
|
10725
|
+
* @param category - Category to filter by
|
|
10726
|
+
* @returns Array of widget type names in that category
|
|
10727
|
+
*
|
|
10728
|
+
* @example
|
|
10729
|
+
* ```typescript
|
|
10730
|
+
* const registry = createWidgetRegistry();
|
|
10731
|
+
* registerBuiltinWidgets(registry);
|
|
10732
|
+
* const basicWidgets = registry.listByCategory('basic');
|
|
10733
|
+
* // ['box', 'line', 'text']
|
|
10734
|
+
* ```
|
|
10735
|
+
*/
|
|
10736
|
+
listByCategory(category: string): readonly string[];
|
|
10737
|
+
/**
|
|
10738
|
+
* Searches for widgets by name or description.
|
|
10739
|
+
*
|
|
10740
|
+
* @param query - Search query (case-insensitive)
|
|
10741
|
+
* @returns Array of matching widget type names
|
|
10742
|
+
*
|
|
10743
|
+
* @example
|
|
10744
|
+
* ```typescript
|
|
10745
|
+
* const registry = createWidgetRegistry();
|
|
10746
|
+
* registerBuiltinWidgets(registry);
|
|
10747
|
+
* const results = registry.search('scroll');
|
|
10748
|
+
* // ['scrollableBox', 'scrollableText']
|
|
10749
|
+
* ```
|
|
10750
|
+
*/
|
|
10751
|
+
search(query: string): readonly string[];
|
|
10752
|
+
/**
|
|
10753
|
+
* Gets detailed information about a widget.
|
|
10754
|
+
*
|
|
10755
|
+
* @param name - Widget type name (case-insensitive)
|
|
10756
|
+
* @returns Widget info or undefined if not found
|
|
10757
|
+
*
|
|
10758
|
+
* @example
|
|
10759
|
+
* ```typescript
|
|
10760
|
+
* const registry = createWidgetRegistry();
|
|
10761
|
+
* registerBuiltinWidgets(registry);
|
|
10762
|
+
* const info = registry.info('box');
|
|
10763
|
+
* console.log(info?.category); // 'basic'
|
|
10764
|
+
* console.log(info?.requiredComponents); // ['Position', 'Dimensions', 'Border']
|
|
10765
|
+
* ```
|
|
10766
|
+
*/
|
|
10767
|
+
info(name: string): WidgetInfo | undefined;
|
|
9884
10768
|
/**
|
|
9885
10769
|
* Unregisters a widget type.
|
|
9886
10770
|
*
|
|
@@ -9995,14 +10879,166 @@ declare function isWidgetType(name: string): boolean;
|
|
|
9995
10879
|
*/
|
|
9996
10880
|
declare function getWidgetsByTag(tag: string): readonly string[];
|
|
9997
10881
|
|
|
10882
|
+
declare const registry: Readonly<{
|
|
10883
|
+
create: typeof createWidgetRegistry;
|
|
10884
|
+
registerBuiltins: typeof registerBuiltinWidgets;
|
|
10885
|
+
getWidgetTypes: typeof getWidgetTypes;
|
|
10886
|
+
getWidgetsByTag: typeof getWidgetsByTag;
|
|
10887
|
+
isWidgetType: typeof isWidgetType;
|
|
10888
|
+
defaultRegistry: WidgetRegistry;
|
|
10889
|
+
}>;
|
|
10890
|
+
type RegistryModule = typeof registry;
|
|
10891
|
+
|
|
10892
|
+
/**
|
|
10893
|
+
* ScrollableBox Widget API
|
|
10894
|
+
*
|
|
10895
|
+
* Standalone API functions for working with ScrollableBox widgets.
|
|
10896
|
+
*
|
|
10897
|
+
* @module widgets/scrollableBox/api
|
|
10898
|
+
*/
|
|
10899
|
+
|
|
10900
|
+
/**
|
|
10901
|
+
* Checks if an entity is a scrollable box widget.
|
|
10902
|
+
*
|
|
10903
|
+
* @param _world - The ECS world (unused, for API consistency)
|
|
10904
|
+
* @param eid - The entity ID
|
|
10905
|
+
* @returns true if the entity is a scrollable box
|
|
10906
|
+
*
|
|
10907
|
+
* @example
|
|
10908
|
+
* ```typescript
|
|
10909
|
+
* import { isScrollableBox } from 'blecsd/widgets';
|
|
10910
|
+
*
|
|
10911
|
+
* if (isScrollableBox(world, entity)) {
|
|
10912
|
+
* // Handle scrollable-box-specific logic
|
|
10913
|
+
* }
|
|
10914
|
+
* ```
|
|
10915
|
+
*/
|
|
10916
|
+
declare function isScrollableBox(_world: World, eid: Entity): boolean;
|
|
10917
|
+
/**
|
|
10918
|
+
* Checks if mouse scrolling is enabled for a scrollable box.
|
|
10919
|
+
*
|
|
10920
|
+
* @param _world - The ECS world (unused, for API consistency)
|
|
10921
|
+
* @param eid - The entity ID
|
|
10922
|
+
* @returns true if mouse scrolling is enabled
|
|
10923
|
+
*/
|
|
10924
|
+
declare function isMouseScrollEnabled(_world: World, eid: Entity): boolean;
|
|
10925
|
+
/**
|
|
10926
|
+
* Checks if keyboard scrolling is enabled for a scrollable box.
|
|
10927
|
+
*
|
|
10928
|
+
* @param _world - The ECS world (unused, for API consistency)
|
|
10929
|
+
* @param eid - The entity ID
|
|
10930
|
+
* @returns true if keyboard scrolling is enabled
|
|
10931
|
+
*/
|
|
10932
|
+
declare function isKeysScrollEnabled(_world: World, eid: Entity): boolean;
|
|
10933
|
+
/**
|
|
10934
|
+
* Resets the ScrollableBox component store. Useful for testing.
|
|
10935
|
+
* @internal
|
|
10936
|
+
*/
|
|
10937
|
+
declare function resetScrollableBoxStore(): void;
|
|
10938
|
+
|
|
10939
|
+
/**
|
|
10940
|
+
* ScrollableBox Widget Configuration
|
|
10941
|
+
*
|
|
10942
|
+
* Zod schemas for runtime validation of scrollable box configuration.
|
|
10943
|
+
*
|
|
10944
|
+
* @module widgets/scrollableBox/config
|
|
10945
|
+
*/
|
|
10946
|
+
|
|
10947
|
+
/**
|
|
10948
|
+
* Zod schema for scrollable box widget configuration.
|
|
10949
|
+
*/
|
|
10950
|
+
declare const ScrollableBoxConfigSchema: z.ZodObject<{
|
|
10951
|
+
left: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
10952
|
+
left: "left";
|
|
10953
|
+
center: "center";
|
|
10954
|
+
right: "right";
|
|
10955
|
+
top: "top";
|
|
10956
|
+
bottom: "bottom";
|
|
10957
|
+
}>]>>;
|
|
10958
|
+
top: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
10959
|
+
left: "left";
|
|
10960
|
+
center: "center";
|
|
10961
|
+
right: "right";
|
|
10962
|
+
top: "top";
|
|
10963
|
+
bottom: "bottom";
|
|
10964
|
+
}>]>>;
|
|
10965
|
+
right: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
10966
|
+
left: "left";
|
|
10967
|
+
center: "center";
|
|
10968
|
+
right: "right";
|
|
10969
|
+
top: "top";
|
|
10970
|
+
bottom: "bottom";
|
|
10971
|
+
}>]>>;
|
|
10972
|
+
bottom: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
10973
|
+
left: "left";
|
|
10974
|
+
center: "center";
|
|
10975
|
+
right: "right";
|
|
10976
|
+
top: "top";
|
|
10977
|
+
bottom: "bottom";
|
|
10978
|
+
}>]>>;
|
|
10979
|
+
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
10980
|
+
height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
10981
|
+
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
10982
|
+
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
10983
|
+
border: z.ZodOptional<z.ZodObject<{
|
|
10984
|
+
type: z.ZodOptional<z.ZodEnum<{
|
|
10985
|
+
none: "none";
|
|
10986
|
+
bg: "bg";
|
|
10987
|
+
line: "line";
|
|
10988
|
+
}>>;
|
|
10989
|
+
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
10990
|
+
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
10991
|
+
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
10992
|
+
bold: "bold";
|
|
10993
|
+
ascii: "ascii";
|
|
10994
|
+
single: "single";
|
|
10995
|
+
double: "double";
|
|
10996
|
+
rounded: "rounded";
|
|
10997
|
+
}>, z.ZodCustom<BorderCharset, BorderCharset>]>>;
|
|
10998
|
+
}, z.core.$strip>>;
|
|
10999
|
+
padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
|
|
11000
|
+
left: z.ZodOptional<z.ZodNumber>;
|
|
11001
|
+
top: z.ZodOptional<z.ZodNumber>;
|
|
11002
|
+
right: z.ZodOptional<z.ZodNumber>;
|
|
11003
|
+
bottom: z.ZodOptional<z.ZodNumber>;
|
|
11004
|
+
}, z.core.$strip>]>>;
|
|
11005
|
+
content: z.ZodOptional<z.ZodString>;
|
|
11006
|
+
align: z.ZodOptional<z.ZodEnum<{
|
|
11007
|
+
left: "left";
|
|
11008
|
+
center: "center";
|
|
11009
|
+
right: "right";
|
|
11010
|
+
}>>;
|
|
11011
|
+
valign: z.ZodOptional<z.ZodEnum<{
|
|
11012
|
+
top: "top";
|
|
11013
|
+
middle: "middle";
|
|
11014
|
+
bottom: "bottom";
|
|
11015
|
+
}>>;
|
|
11016
|
+
scrollbar: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
|
|
11017
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
11018
|
+
auto: "auto";
|
|
11019
|
+
visible: "visible";
|
|
11020
|
+
hidden: "hidden";
|
|
11021
|
+
}>>;
|
|
11022
|
+
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
11023
|
+
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
11024
|
+
trackChar: z.ZodOptional<z.ZodString>;
|
|
11025
|
+
thumbChar: z.ZodOptional<z.ZodString>;
|
|
11026
|
+
}, z.core.$strip>]>>;
|
|
11027
|
+
alwaysScroll: z.ZodOptional<z.ZodBoolean>;
|
|
11028
|
+
mouse: z.ZodOptional<z.ZodBoolean>;
|
|
11029
|
+
keys: z.ZodOptional<z.ZodBoolean>;
|
|
11030
|
+
scrollWidth: z.ZodOptional<z.ZodNumber>;
|
|
11031
|
+
scrollHeight: z.ZodOptional<z.ZodNumber>;
|
|
11032
|
+
scrollX: z.ZodOptional<z.ZodNumber>;
|
|
11033
|
+
scrollY: z.ZodOptional<z.ZodNumber>;
|
|
11034
|
+
}, z.core.$strip>;
|
|
11035
|
+
|
|
9998
11036
|
/**
|
|
9999
|
-
* ScrollableBox Widget
|
|
11037
|
+
* ScrollableBox Widget Types
|
|
10000
11038
|
*
|
|
10001
|
-
*
|
|
10002
|
-
* Supports keyboard and mouse-based scrolling, configurable scrollbars, and
|
|
10003
|
-
* automatic scroll clamping.
|
|
11039
|
+
* TypeScript interfaces and type definitions for the ScrollableBox widget.
|
|
10004
11040
|
*
|
|
10005
|
-
* @module widgets/scrollableBox
|
|
11041
|
+
* @module widgets/scrollableBox/types
|
|
10006
11042
|
*/
|
|
10007
11043
|
|
|
10008
11044
|
/**
|
|
@@ -10178,105 +11214,15 @@ interface ScrollableBoxWidget {
|
|
|
10178
11214
|
/** Destroys the widget and removes it from the world */
|
|
10179
11215
|
destroy(): void;
|
|
10180
11216
|
}
|
|
11217
|
+
|
|
10181
11218
|
/**
|
|
10182
|
-
*
|
|
10183
|
-
|
|
10184
|
-
|
|
10185
|
-
|
|
10186
|
-
|
|
10187
|
-
top: "top";
|
|
10188
|
-
right: "right";
|
|
10189
|
-
bottom: "bottom";
|
|
10190
|
-
center: "center";
|
|
10191
|
-
}>]>>;
|
|
10192
|
-
top: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
10193
|
-
left: "left";
|
|
10194
|
-
top: "top";
|
|
10195
|
-
right: "right";
|
|
10196
|
-
bottom: "bottom";
|
|
10197
|
-
center: "center";
|
|
10198
|
-
}>]>>;
|
|
10199
|
-
right: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
10200
|
-
left: "left";
|
|
10201
|
-
top: "top";
|
|
10202
|
-
right: "right";
|
|
10203
|
-
bottom: "bottom";
|
|
10204
|
-
center: "center";
|
|
10205
|
-
}>]>>;
|
|
10206
|
-
bottom: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
10207
|
-
left: "left";
|
|
10208
|
-
top: "top";
|
|
10209
|
-
right: "right";
|
|
10210
|
-
bottom: "bottom";
|
|
10211
|
-
center: "center";
|
|
10212
|
-
}>]>>;
|
|
10213
|
-
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
10214
|
-
height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
10215
|
-
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
10216
|
-
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
10217
|
-
border: z.ZodOptional<z.ZodObject<{
|
|
10218
|
-
type: z.ZodOptional<z.ZodEnum<{
|
|
10219
|
-
bg: "bg";
|
|
10220
|
-
none: "none";
|
|
10221
|
-
line: "line";
|
|
10222
|
-
}>>;
|
|
10223
|
-
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
10224
|
-
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
10225
|
-
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
10226
|
-
ascii: "ascii";
|
|
10227
|
-
bold: "bold";
|
|
10228
|
-
single: "single";
|
|
10229
|
-
double: "double";
|
|
10230
|
-
rounded: "rounded";
|
|
10231
|
-
}>, z.ZodCustom<BorderCharset, BorderCharset>]>>;
|
|
10232
|
-
}, z.core.$strip>>;
|
|
10233
|
-
padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
|
|
10234
|
-
left: z.ZodOptional<z.ZodNumber>;
|
|
10235
|
-
top: z.ZodOptional<z.ZodNumber>;
|
|
10236
|
-
right: z.ZodOptional<z.ZodNumber>;
|
|
10237
|
-
bottom: z.ZodOptional<z.ZodNumber>;
|
|
10238
|
-
}, z.core.$strip>]>>;
|
|
10239
|
-
content: z.ZodOptional<z.ZodString>;
|
|
10240
|
-
align: z.ZodOptional<z.ZodEnum<{
|
|
10241
|
-
left: "left";
|
|
10242
|
-
right: "right";
|
|
10243
|
-
center: "center";
|
|
10244
|
-
}>>;
|
|
10245
|
-
valign: z.ZodOptional<z.ZodEnum<{
|
|
10246
|
-
top: "top";
|
|
10247
|
-
bottom: "bottom";
|
|
10248
|
-
middle: "middle";
|
|
10249
|
-
}>>;
|
|
10250
|
-
scrollbar: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodObject<{
|
|
10251
|
-
mode: z.ZodOptional<z.ZodEnum<{
|
|
10252
|
-
auto: "auto";
|
|
10253
|
-
visible: "visible";
|
|
10254
|
-
hidden: "hidden";
|
|
10255
|
-
}>>;
|
|
10256
|
-
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
10257
|
-
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
10258
|
-
trackChar: z.ZodOptional<z.ZodString>;
|
|
10259
|
-
thumbChar: z.ZodOptional<z.ZodString>;
|
|
10260
|
-
}, z.core.$strip>]>>;
|
|
10261
|
-
alwaysScroll: z.ZodOptional<z.ZodBoolean>;
|
|
10262
|
-
mouse: z.ZodOptional<z.ZodBoolean>;
|
|
10263
|
-
keys: z.ZodOptional<z.ZodBoolean>;
|
|
10264
|
-
scrollWidth: z.ZodOptional<z.ZodNumber>;
|
|
10265
|
-
scrollHeight: z.ZodOptional<z.ZodNumber>;
|
|
10266
|
-
scrollX: z.ZodOptional<z.ZodNumber>;
|
|
10267
|
-
scrollY: z.ZodOptional<z.ZodNumber>;
|
|
10268
|
-
}, z.core.$strip>;
|
|
10269
|
-
/**
|
|
10270
|
-
* ScrollableBox component marker for identifying scrollable box entities.
|
|
11219
|
+
* ScrollableBox Widget Factory
|
|
11220
|
+
*
|
|
11221
|
+
* Factory function for creating ScrollableBox widgets.
|
|
11222
|
+
*
|
|
11223
|
+
* @module widgets/scrollableBox/factory
|
|
10271
11224
|
*/
|
|
10272
|
-
|
|
10273
|
-
/** Tag indicating this is a scrollable box widget (1 = yes) */
|
|
10274
|
-
isScrollableBox: Uint8Array<ArrayBuffer>;
|
|
10275
|
-
/** Mouse scrolling enabled (1 = yes) */
|
|
10276
|
-
mouseEnabled: Uint8Array<ArrayBuffer>;
|
|
10277
|
-
/** Keyboard scrolling enabled (1 = yes) */
|
|
10278
|
-
keysEnabled: Uint8Array<ArrayBuffer>;
|
|
10279
|
-
};
|
|
11225
|
+
|
|
10280
11226
|
/**
|
|
10281
11227
|
* Creates a ScrollableBox widget with the given configuration.
|
|
10282
11228
|
*
|
|
@@ -10317,44 +11263,46 @@ declare const ScrollableBox: {
|
|
|
10317
11263
|
* ```
|
|
10318
11264
|
*/
|
|
10319
11265
|
declare function createScrollableBox(world: World, entity: Entity, config?: ScrollableBoxConfig): ScrollableBoxWidget;
|
|
11266
|
+
|
|
10320
11267
|
/**
|
|
10321
|
-
*
|
|
11268
|
+
* ScrollableBox Widget State
|
|
10322
11269
|
*
|
|
10323
|
-
*
|
|
10324
|
-
* @param eid - The entity ID
|
|
10325
|
-
* @returns true if the entity is a scrollable box
|
|
11270
|
+
* State management for scrollable box widgets including component definition.
|
|
10326
11271
|
*
|
|
10327
|
-
* @
|
|
10328
|
-
* ```typescript
|
|
10329
|
-
* import { isScrollableBox } from 'blecsd/widgets';
|
|
10330
|
-
*
|
|
10331
|
-
* if (isScrollableBox(world, entity)) {
|
|
10332
|
-
* // Handle scrollable-box-specific logic
|
|
10333
|
-
* }
|
|
10334
|
-
* ```
|
|
11272
|
+
* @module widgets/scrollableBox/state
|
|
10335
11273
|
*/
|
|
10336
|
-
declare function isScrollableBox(_world: World, eid: Entity): boolean;
|
|
10337
11274
|
/**
|
|
10338
|
-
*
|
|
10339
|
-
*
|
|
10340
|
-
* @param _world - The ECS world (unused, for API consistency)
|
|
10341
|
-
* @param eid - The entity ID
|
|
10342
|
-
* @returns true if mouse scrolling is enabled
|
|
11275
|
+
* ScrollableBox component marker for identifying scrollable box entities.
|
|
10343
11276
|
*/
|
|
10344
|
-
declare
|
|
11277
|
+
declare const ScrollableBox: {
|
|
11278
|
+
/** Tag indicating this is a scrollable box widget (1 = yes) */
|
|
11279
|
+
isScrollableBox: Uint8Array<ArrayBuffer>;
|
|
11280
|
+
/** Mouse scrolling enabled (1 = yes) */
|
|
11281
|
+
mouseEnabled: Uint8Array<ArrayBuffer>;
|
|
11282
|
+
/** Keyboard scrolling enabled (1 = yes) */
|
|
11283
|
+
keysEnabled: Uint8Array<ArrayBuffer>;
|
|
11284
|
+
};
|
|
11285
|
+
|
|
10345
11286
|
/**
|
|
10346
|
-
*
|
|
11287
|
+
* ScrollableBox widget namespace.
|
|
10347
11288
|
*
|
|
10348
|
-
* @
|
|
10349
|
-
*
|
|
10350
|
-
*
|
|
10351
|
-
|
|
10352
|
-
|
|
10353
|
-
|
|
10354
|
-
*
|
|
10355
|
-
* @internal
|
|
11289
|
+
* @example
|
|
11290
|
+
* ```typescript
|
|
11291
|
+
* import { scrollableBox } from 'blecsd/widgets';
|
|
11292
|
+
* const sb = scrollableBox.create(world, { scrollbarMode: 'auto' });
|
|
11293
|
+
* const keysEnabled = scrollableBox.isKeysScrollEnabled(world, sb.eid);
|
|
11294
|
+
* const mouseEnabled = scrollableBox.isMouseScrollEnabled(world, sb.eid);
|
|
11295
|
+
* ```
|
|
10356
11296
|
*/
|
|
10357
|
-
|
|
11297
|
+
|
|
11298
|
+
declare const scrollableBox: Readonly<{
|
|
11299
|
+
create: typeof createScrollableBox;
|
|
11300
|
+
is: typeof isScrollableBox;
|
|
11301
|
+
isKeysScrollEnabled: typeof isKeysScrollEnabled;
|
|
11302
|
+
isMouseScrollEnabled: typeof isMouseScrollEnabled;
|
|
11303
|
+
resetStore: typeof resetScrollableBoxStore;
|
|
11304
|
+
}>;
|
|
11305
|
+
type ScrollableBoxModule = typeof scrollableBox;
|
|
10358
11306
|
|
|
10359
11307
|
/**
|
|
10360
11308
|
* ScrollableText Widget
|
|
@@ -10412,6 +11360,22 @@ type ScrollableTextWidget = ScrollableBoxWidget;
|
|
|
10412
11360
|
*/
|
|
10413
11361
|
declare function createScrollableText(world: World, entity: Entity, config?: ScrollableTextConfig): ScrollableTextWidget;
|
|
10414
11362
|
|
|
11363
|
+
/**
|
|
11364
|
+
* ScrollableText widget namespace.
|
|
11365
|
+
*
|
|
11366
|
+
* @example
|
|
11367
|
+
* ```typescript
|
|
11368
|
+
* import { scrollableText } from 'blecsd/widgets';
|
|
11369
|
+
* const st = scrollableText.create(world, { text: 'Long text content...' });
|
|
11370
|
+
* ```
|
|
11371
|
+
*/
|
|
11372
|
+
|
|
11373
|
+
declare const scrollableText: Readonly<{
|
|
11374
|
+
create: typeof createScrollableText;
|
|
11375
|
+
is: typeof isScrollableBox;
|
|
11376
|
+
}>;
|
|
11377
|
+
type ScrollableTextModule = typeof scrollableText;
|
|
11378
|
+
|
|
10415
11379
|
/**
|
|
10416
11380
|
* Searchable List Enhancement
|
|
10417
11381
|
*
|
|
@@ -10672,6 +11636,27 @@ declare function isSearchableList(_world: World, eid: Entity): boolean;
|
|
|
10672
11636
|
*/
|
|
10673
11637
|
declare function resetSearchableListStore(): void;
|
|
10674
11638
|
|
|
11639
|
+
/**
|
|
11640
|
+
* SearchableList widget namespace.
|
|
11641
|
+
*
|
|
11642
|
+
* @example
|
|
11643
|
+
* ```typescript
|
|
11644
|
+
* import { searchableList } from 'blecsd/widgets';
|
|
11645
|
+
* const sl = searchableList.create(world, { items: [...] });
|
|
11646
|
+
* searchableList.setFilter(world, sl.eid, 'search term');
|
|
11647
|
+
* const filtered = searchableList.getFilteredItems(world, sl.eid);
|
|
11648
|
+
* ```
|
|
11649
|
+
*/
|
|
11650
|
+
|
|
11651
|
+
declare const searchableList: Readonly<{
|
|
11652
|
+
create: typeof createSearchableList;
|
|
11653
|
+
is: typeof isSearchableList;
|
|
11654
|
+
setFilter: typeof setSearchableFilter;
|
|
11655
|
+
getFilteredItems: typeof getSearchableFilteredItems;
|
|
11656
|
+
resetStore: typeof resetSearchableListStore;
|
|
11657
|
+
}>;
|
|
11658
|
+
type SearchableListModule = typeof searchableList;
|
|
11659
|
+
|
|
10675
11660
|
/**
|
|
10676
11661
|
* Search Overlay Widget
|
|
10677
11662
|
*
|
|
@@ -10973,6 +11958,29 @@ declare function getSearchOverlayColors(eid: Entity): {
|
|
|
10973
11958
|
*/
|
|
10974
11959
|
declare function resetSearchOverlayStore(): void;
|
|
10975
11960
|
|
|
11961
|
+
/**
|
|
11962
|
+
* SearchOverlay widget namespace.
|
|
11963
|
+
*
|
|
11964
|
+
* @example
|
|
11965
|
+
* ```typescript
|
|
11966
|
+
* import { searchOverlay } from 'blecsd/widgets';
|
|
11967
|
+
* const so = searchOverlay.create(world, {});
|
|
11968
|
+
* searchOverlay.attach(world, so.eid, targetEid);
|
|
11969
|
+
* const target = searchOverlay.getTarget(world, so.eid);
|
|
11970
|
+
* const colors = searchOverlay.getColors(world, so.eid);
|
|
11971
|
+
* ```
|
|
11972
|
+
*/
|
|
11973
|
+
|
|
11974
|
+
declare const searchOverlay: Readonly<{
|
|
11975
|
+
create: typeof createSearchOverlay;
|
|
11976
|
+
is: typeof isSearchOverlay;
|
|
11977
|
+
attach: typeof attachSearchOverlay;
|
|
11978
|
+
getTarget: typeof getSearchOverlayTarget;
|
|
11979
|
+
getColors: typeof getSearchOverlayColors;
|
|
11980
|
+
resetStore: typeof resetSearchOverlayStore;
|
|
11981
|
+
}>;
|
|
11982
|
+
type SearchOverlayModule = typeof searchOverlay;
|
|
11983
|
+
|
|
10976
11984
|
/**
|
|
10977
11985
|
* Sparkline Widget
|
|
10978
11986
|
*
|
|
@@ -11102,6 +12110,23 @@ declare function isSparkline(_world: World, eid: Entity): boolean;
|
|
|
11102
12110
|
*/
|
|
11103
12111
|
declare function resetSparklineStore(): void;
|
|
11104
12112
|
|
|
12113
|
+
/**
|
|
12114
|
+
* Sparkline widget namespace.
|
|
12115
|
+
*
|
|
12116
|
+
* @example
|
|
12117
|
+
* ```typescript
|
|
12118
|
+
* import { sparkline } from 'blecsd/widgets';
|
|
12119
|
+
* const sp = sparkline.create(world, { data: [1, 2, 3, 4, 5] });
|
|
12120
|
+
* ```
|
|
12121
|
+
*/
|
|
12122
|
+
|
|
12123
|
+
declare const sparkline: Readonly<{
|
|
12124
|
+
create: typeof createSparkline;
|
|
12125
|
+
is: typeof isSparkline;
|
|
12126
|
+
resetStore: typeof resetSparklineStore;
|
|
12127
|
+
}>;
|
|
12128
|
+
type SparklineModule = typeof sparkline;
|
|
12129
|
+
|
|
11105
12130
|
/**
|
|
11106
12131
|
* Split Pane Widget
|
|
11107
12132
|
*
|
|
@@ -11317,17 +12342,17 @@ interface SplitPaneWidget {
|
|
|
11317
12342
|
declare const SplitPaneConfigSchema: z.ZodObject<{
|
|
11318
12343
|
left: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
11319
12344
|
left: "left";
|
|
11320
|
-
|
|
12345
|
+
center: "center";
|
|
11321
12346
|
right: "right";
|
|
12347
|
+
top: "top";
|
|
11322
12348
|
bottom: "bottom";
|
|
11323
|
-
center: "center";
|
|
11324
12349
|
}>]>>;
|
|
11325
12350
|
top: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
11326
12351
|
left: "left";
|
|
11327
|
-
|
|
12352
|
+
center: "center";
|
|
11328
12353
|
right: "right";
|
|
12354
|
+
top: "top";
|
|
11329
12355
|
bottom: "bottom";
|
|
11330
|
-
center: "center";
|
|
11331
12356
|
}>]>>;
|
|
11332
12357
|
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
11333
12358
|
height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
@@ -11500,6 +12525,33 @@ declare function getDividerRenderInfo(_world: World, eid: Entity): readonly {
|
|
|
11500
12525
|
*/
|
|
11501
12526
|
declare function resetSplitPaneStore(): void;
|
|
11502
12527
|
|
|
12528
|
+
/**
|
|
12529
|
+
* SplitPane widget namespace.
|
|
12530
|
+
*
|
|
12531
|
+
* @example
|
|
12532
|
+
* ```typescript
|
|
12533
|
+
* import { splitPane } from 'blecsd/widgets';
|
|
12534
|
+
* const sp = splitPane.create(world, { direction: 'horizontal' });
|
|
12535
|
+
* const direction = splitPane.getDirection(world, sp.eid);
|
|
12536
|
+
* const dividerInfo = splitPane.getDividerRenderInfo(world, sp.eid);
|
|
12537
|
+
* const hit = splitPane.hitTestDivider(world, sp.eid, x, y);
|
|
12538
|
+
* const buffer = splitPane.createSharedTextBuffer(world);
|
|
12539
|
+
* const shared = splitPane.getSharedTextBuffer(world, sp.eid);
|
|
12540
|
+
* ```
|
|
12541
|
+
*/
|
|
12542
|
+
|
|
12543
|
+
declare const splitPane: Readonly<{
|
|
12544
|
+
create: typeof createSplitPane;
|
|
12545
|
+
is: typeof isSplitPane;
|
|
12546
|
+
getDirection: typeof getSplitDirection;
|
|
12547
|
+
getDividerRenderInfo: typeof getDividerRenderInfo;
|
|
12548
|
+
hitTestDivider: typeof hitTestDivider;
|
|
12549
|
+
createSharedTextBuffer: typeof createSharedTextBuffer;
|
|
12550
|
+
getSharedTextBuffer: typeof getSharedTextBuffer;
|
|
12551
|
+
resetStore: typeof resetSplitPaneStore;
|
|
12552
|
+
}>;
|
|
12553
|
+
type SplitPaneModule = typeof splitPane;
|
|
12554
|
+
|
|
11503
12555
|
/**
|
|
11504
12556
|
* Streaming Text Renderer
|
|
11505
12557
|
*
|
|
@@ -11693,7 +12745,7 @@ declare function scrollToLine(state: StreamingTextState, line: number): Streamin
|
|
|
11693
12745
|
* @param delta - Lines to scroll (positive = down, negative = up)
|
|
11694
12746
|
* @returns Updated state
|
|
11695
12747
|
*/
|
|
11696
|
-
declare function
|
|
12748
|
+
declare function streamingScrollByLines(state: StreamingTextState, delta: number): StreamingTextState;
|
|
11697
12749
|
/**
|
|
11698
12750
|
* Creates a streaming text widget for efficient real-time text rendering.
|
|
11699
12751
|
*
|
|
@@ -11734,6 +12786,37 @@ declare function scrollByLines(state: StreamingTextState, delta: number): Stream
|
|
|
11734
12786
|
*/
|
|
11735
12787
|
declare function createStreamingText(world: World, entity: Entity, config?: Partial<StreamingTextConfig>): StreamingTextWidget;
|
|
11736
12788
|
|
|
12789
|
+
/**
|
|
12790
|
+
* StreamingText namespace.
|
|
12791
|
+
*
|
|
12792
|
+
* @example
|
|
12793
|
+
* ```typescript
|
|
12794
|
+
* import { streamingText } from 'blecsd/widgets';
|
|
12795
|
+
* const st = streamingText.create(world, {});
|
|
12796
|
+
* const state = streamingText.createState();
|
|
12797
|
+
* streamingText.appendToState(state, 'new text');
|
|
12798
|
+
* streamingText.clearState(state);
|
|
12799
|
+
* const visibleLines = streamingText.getVisibleLines(state, viewport);
|
|
12800
|
+
* streamingText.scrollToLine(state, lineIndex);
|
|
12801
|
+
* streamingText.scrollByLines(state, delta);
|
|
12802
|
+
* const wrapped = streamingText.wrapLine('long text', maxWidth);
|
|
12803
|
+
* const stripped = streamingText.stripAnsi(text);
|
|
12804
|
+
* ```
|
|
12805
|
+
*/
|
|
12806
|
+
|
|
12807
|
+
declare const streamingText: Readonly<{
|
|
12808
|
+
create: typeof createStreamingText;
|
|
12809
|
+
createState: typeof createStreamingState;
|
|
12810
|
+
appendToState: typeof appendToState;
|
|
12811
|
+
clearState: typeof clearState;
|
|
12812
|
+
getVisibleLines: typeof getStreamVisibleLines;
|
|
12813
|
+
scrollToLine: typeof scrollToLine;
|
|
12814
|
+
scrollByLines: typeof streamingScrollByLines;
|
|
12815
|
+
wrapLine: typeof wrapLine;
|
|
12816
|
+
stripAnsi: typeof stripAnsiSequences;
|
|
12817
|
+
}>;
|
|
12818
|
+
type StreamingTextModule = typeof streamingText;
|
|
12819
|
+
|
|
11737
12820
|
/**
|
|
11738
12821
|
* Switch Widget
|
|
11739
12822
|
*
|
|
@@ -11903,6 +12986,27 @@ declare function handleSwitchClick(world: World, eid: Entity): boolean;
|
|
|
11903
12986
|
*/
|
|
11904
12987
|
declare function resetSwitchStore(): void;
|
|
11905
12988
|
|
|
12989
|
+
/**
|
|
12990
|
+
* SwitchWidget namespace.
|
|
12991
|
+
*
|
|
12992
|
+
* @example
|
|
12993
|
+
* ```typescript
|
|
12994
|
+
* import { switchWidget } from 'blecsd/widgets';
|
|
12995
|
+
* const sw = switchWidget.create(world, { on: false });
|
|
12996
|
+
* switchWidget.handleKey(world, sw.eid, keyEvent);
|
|
12997
|
+
* switchWidget.handleClick(world, sw.eid, mouseEvent);
|
|
12998
|
+
* ```
|
|
12999
|
+
*/
|
|
13000
|
+
|
|
13001
|
+
declare const switchWidget: Readonly<{
|
|
13002
|
+
create: typeof createSwitch;
|
|
13003
|
+
is: typeof isSwitch;
|
|
13004
|
+
handleKey: typeof handleSwitchKey;
|
|
13005
|
+
handleClick: typeof handleSwitchClick;
|
|
13006
|
+
resetStore: typeof resetSwitchStore;
|
|
13007
|
+
}>;
|
|
13008
|
+
type SwitchWidgetModule = typeof switchWidget;
|
|
13009
|
+
|
|
11906
13010
|
/**
|
|
11907
13011
|
* Table Widget
|
|
11908
13012
|
*
|
|
@@ -12049,8 +13153,8 @@ declare const TableWidgetConfigSchema: z.ZodObject<{
|
|
|
12049
13153
|
pad: z.ZodDefault<z.ZodNumber>;
|
|
12050
13154
|
align: z.ZodDefault<z.ZodEnum<{
|
|
12051
13155
|
left: "left";
|
|
12052
|
-
right: "right";
|
|
12053
13156
|
center: "center";
|
|
13157
|
+
right: "right";
|
|
12054
13158
|
}>>;
|
|
12055
13159
|
style: z.ZodOptional<z.ZodObject<{
|
|
12056
13160
|
border: z.ZodOptional<z.ZodObject<{
|
|
@@ -12080,8 +13184,8 @@ declare const TableWidgetConfigSchema: z.ZodObject<{
|
|
|
12080
13184
|
maxWidth: z.ZodOptional<z.ZodNumber>;
|
|
12081
13185
|
align: z.ZodOptional<z.ZodEnum<{
|
|
12082
13186
|
left: "left";
|
|
12083
|
-
right: "right";
|
|
12084
13187
|
center: "center";
|
|
13188
|
+
right: "right";
|
|
12085
13189
|
}>>;
|
|
12086
13190
|
}, z.core.$strip>>>;
|
|
12087
13191
|
}, z.core.$strip>;
|
|
@@ -12142,6 +13246,22 @@ declare function createTable(world: World, entity: Entity, config?: TableWidgetC
|
|
|
12142
13246
|
*/
|
|
12143
13247
|
declare function isTableWidget(world: World, eid: Entity): boolean;
|
|
12144
13248
|
|
|
13249
|
+
/**
|
|
13250
|
+
* TableWidget namespace.
|
|
13251
|
+
*
|
|
13252
|
+
* @example
|
|
13253
|
+
* ```typescript
|
|
13254
|
+
* import { tableWidget } from 'blecsd/widgets';
|
|
13255
|
+
* const table = tableWidget.create(world, { headers: [...], rows: [...] });
|
|
13256
|
+
* ```
|
|
13257
|
+
*/
|
|
13258
|
+
|
|
13259
|
+
declare const tableWidget: Readonly<{
|
|
13260
|
+
create: typeof createTable;
|
|
13261
|
+
is: typeof isTableWidget;
|
|
13262
|
+
}>;
|
|
13263
|
+
type TableWidgetModule = typeof tableWidget;
|
|
13264
|
+
|
|
12145
13265
|
/**
|
|
12146
13266
|
* Tabs Widget
|
|
12147
13267
|
*
|
|
@@ -12331,17 +13451,17 @@ declare const TAB_CLOSE_CHAR = "\u2715";
|
|
|
12331
13451
|
declare const TabsConfigSchema: z.ZodObject<{
|
|
12332
13452
|
left: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
12333
13453
|
left: "left";
|
|
12334
|
-
|
|
13454
|
+
center: "center";
|
|
12335
13455
|
right: "right";
|
|
13456
|
+
top: "top";
|
|
12336
13457
|
bottom: "bottom";
|
|
12337
|
-
center: "center";
|
|
12338
13458
|
}>]>>;
|
|
12339
13459
|
top: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
12340
13460
|
left: "left";
|
|
12341
|
-
|
|
13461
|
+
center: "center";
|
|
12342
13462
|
right: "right";
|
|
13463
|
+
top: "top";
|
|
12343
13464
|
bottom: "bottom";
|
|
12344
|
-
center: "center";
|
|
12345
13465
|
}>]>>;
|
|
12346
13466
|
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
12347
13467
|
height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
@@ -12370,15 +13490,15 @@ declare const TabsConfigSchema: z.ZodObject<{
|
|
|
12370
13490
|
}, z.core.$strip>>;
|
|
12371
13491
|
border: z.ZodOptional<z.ZodObject<{
|
|
12372
13492
|
type: z.ZodOptional<z.ZodEnum<{
|
|
12373
|
-
bg: "bg";
|
|
12374
13493
|
none: "none";
|
|
13494
|
+
bg: "bg";
|
|
12375
13495
|
line: "line";
|
|
12376
13496
|
}>>;
|
|
12377
13497
|
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
12378
13498
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
12379
13499
|
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
12380
|
-
ascii: "ascii";
|
|
12381
13500
|
bold: "bold";
|
|
13501
|
+
ascii: "ascii";
|
|
12382
13502
|
single: "single";
|
|
12383
13503
|
double: "double";
|
|
12384
13504
|
rounded: "rounded";
|
|
@@ -12493,6 +13613,20 @@ declare function renderTabBar(_world: World, eid: Entity, width: number): string
|
|
|
12493
13613
|
*/
|
|
12494
13614
|
declare function resetTabsStore(): void;
|
|
12495
13615
|
|
|
13616
|
+
declare const tabs: Readonly<{
|
|
13617
|
+
create: typeof createTabs;
|
|
13618
|
+
is: typeof isTabs;
|
|
13619
|
+
getActiveIndex: typeof getActiveTabIndex;
|
|
13620
|
+
getCount: typeof getTabCount;
|
|
13621
|
+
getPosition: typeof getTabPosition;
|
|
13622
|
+
renderTabBar: typeof renderTabBar;
|
|
13623
|
+
resetStore: typeof resetTabsStore;
|
|
13624
|
+
DEFAULT_TAB_POSITION: TabPosition;
|
|
13625
|
+
TAB_CLOSE_CHAR: "✕";
|
|
13626
|
+
TAB_SEPARATOR: " │ ";
|
|
13627
|
+
}>;
|
|
13628
|
+
type TabsModule = typeof tabs;
|
|
13629
|
+
|
|
12496
13630
|
/**
|
|
12497
13631
|
* Terminal Widget
|
|
12498
13632
|
*
|
|
@@ -12689,7 +13823,7 @@ interface TerminalWidget {
|
|
|
12689
13823
|
/** Gets the terminal state (for advanced use) */
|
|
12690
13824
|
getState(): TerminalState | undefined;
|
|
12691
13825
|
/** Gets the cell buffer (for rendering) */
|
|
12692
|
-
getCells(): readonly Cell
|
|
13826
|
+
getCells(): readonly Cell[] | undefined;
|
|
12693
13827
|
/** Destroys the widget and releases resources */
|
|
12694
13828
|
destroy(): void;
|
|
12695
13829
|
/** Marks the widget as dirty (needs re-render) */
|
|
@@ -12739,29 +13873,29 @@ declare const TerminalConfigSchema: z.ZodObject<{
|
|
|
12739
13873
|
}>>;
|
|
12740
13874
|
left: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
12741
13875
|
left: "left";
|
|
12742
|
-
|
|
13876
|
+
center: "center";
|
|
12743
13877
|
right: "right";
|
|
13878
|
+
top: "top";
|
|
12744
13879
|
bottom: "bottom";
|
|
12745
|
-
center: "center";
|
|
12746
13880
|
}>]>>;
|
|
12747
13881
|
top: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
12748
13882
|
left: "left";
|
|
12749
|
-
|
|
13883
|
+
center: "center";
|
|
12750
13884
|
right: "right";
|
|
13885
|
+
top: "top";
|
|
12751
13886
|
bottom: "bottom";
|
|
12752
|
-
center: "center";
|
|
12753
13887
|
}>]>>;
|
|
12754
13888
|
border: z.ZodOptional<z.ZodObject<{
|
|
12755
13889
|
type: z.ZodOptional<z.ZodEnum<{
|
|
12756
|
-
bg: "bg";
|
|
12757
13890
|
none: "none";
|
|
13891
|
+
bg: "bg";
|
|
12758
13892
|
line: "line";
|
|
12759
13893
|
}>>;
|
|
12760
13894
|
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
12761
13895
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
12762
13896
|
ch: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
12763
|
-
ascii: "ascii";
|
|
12764
13897
|
bold: "bold";
|
|
13898
|
+
ascii: "ascii";
|
|
12765
13899
|
single: "single";
|
|
12766
13900
|
double: "double";
|
|
12767
13901
|
rounded: "rounded";
|
|
@@ -12865,6 +13999,29 @@ declare function isTerminalKeysEnabled(_world: World, eid: Entity): boolean;
|
|
|
12865
13999
|
*/
|
|
12866
14000
|
declare function resetTerminalStore(): void;
|
|
12867
14001
|
|
|
14002
|
+
/**
|
|
14003
|
+
* TerminalWidget namespace.
|
|
14004
|
+
*
|
|
14005
|
+
* @example
|
|
14006
|
+
* ```typescript
|
|
14007
|
+
* import { terminalWidget } from 'blecsd/widgets';
|
|
14008
|
+
* const term = terminalWidget.create(world, { shell: '/bin/bash' });
|
|
14009
|
+
* terminalWidget.handleKey(world, term.eid, keyEvent);
|
|
14010
|
+
* const keysEnabled = terminalWidget.isKeysEnabled(world, term.eid);
|
|
14011
|
+
* const mouseEnabled = terminalWidget.isMouseEnabled(world, term.eid);
|
|
14012
|
+
* ```
|
|
14013
|
+
*/
|
|
14014
|
+
|
|
14015
|
+
declare const terminalWidget: Readonly<{
|
|
14016
|
+
create: typeof createTerminal;
|
|
14017
|
+
is: typeof isTerminal;
|
|
14018
|
+
handleKey: typeof handleTerminalKey;
|
|
14019
|
+
isKeysEnabled: typeof isTerminalKeysEnabled;
|
|
14020
|
+
isMouseEnabled: typeof isTerminalMouseEnabled;
|
|
14021
|
+
resetStore: typeof resetTerminalStore;
|
|
14022
|
+
}>;
|
|
14023
|
+
type TerminalWidgetModule = typeof terminalWidget;
|
|
14024
|
+
|
|
12868
14025
|
/**
|
|
12869
14026
|
* Text Widget
|
|
12870
14027
|
*
|
|
@@ -13007,31 +14164,31 @@ interface TextWidget {
|
|
|
13007
14164
|
declare const TextConfigSchema: z.ZodObject<{
|
|
13008
14165
|
left: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
13009
14166
|
left: "left";
|
|
13010
|
-
|
|
14167
|
+
center: "center";
|
|
13011
14168
|
right: "right";
|
|
14169
|
+
top: "top";
|
|
13012
14170
|
bottom: "bottom";
|
|
13013
|
-
center: "center";
|
|
13014
14171
|
}>]>>;
|
|
13015
14172
|
top: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
13016
14173
|
left: "left";
|
|
13017
|
-
|
|
14174
|
+
center: "center";
|
|
13018
14175
|
right: "right";
|
|
14176
|
+
top: "top";
|
|
13019
14177
|
bottom: "bottom";
|
|
13020
|
-
center: "center";
|
|
13021
14178
|
}>]>>;
|
|
13022
14179
|
right: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
13023
14180
|
left: "left";
|
|
13024
|
-
|
|
14181
|
+
center: "center";
|
|
13025
14182
|
right: "right";
|
|
14183
|
+
top: "top";
|
|
13026
14184
|
bottom: "bottom";
|
|
13027
|
-
center: "center";
|
|
13028
14185
|
}>]>>;
|
|
13029
14186
|
bottom: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodEnum<{
|
|
13030
14187
|
left: "left";
|
|
13031
|
-
|
|
14188
|
+
center: "center";
|
|
13032
14189
|
right: "right";
|
|
14190
|
+
top: "top";
|
|
13033
14191
|
bottom: "bottom";
|
|
13034
|
-
center: "center";
|
|
13035
14192
|
}>]>>;
|
|
13036
14193
|
width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
13037
14194
|
height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodLiteral<"auto">]>>;
|
|
@@ -13040,13 +14197,13 @@ declare const TextConfigSchema: z.ZodObject<{
|
|
|
13040
14197
|
content: z.ZodOptional<z.ZodString>;
|
|
13041
14198
|
align: z.ZodOptional<z.ZodEnum<{
|
|
13042
14199
|
left: "left";
|
|
13043
|
-
right: "right";
|
|
13044
14200
|
center: "center";
|
|
14201
|
+
right: "right";
|
|
13045
14202
|
}>>;
|
|
13046
14203
|
valign: z.ZodOptional<z.ZodEnum<{
|
|
13047
14204
|
top: "top";
|
|
13048
|
-
bottom: "bottom";
|
|
13049
14205
|
middle: "middle";
|
|
14206
|
+
bottom: "bottom";
|
|
13050
14207
|
}>>;
|
|
13051
14208
|
shrink: z.ZodOptional<z.ZodBoolean>;
|
|
13052
14209
|
}, z.core.$strip>;
|
|
@@ -13155,6 +14312,27 @@ declare function isText(_world: World, eid: Entity): boolean;
|
|
|
13155
14312
|
*/
|
|
13156
14313
|
declare function resetTextStore(): void;
|
|
13157
14314
|
|
|
14315
|
+
/**
|
|
14316
|
+
* Text widget namespace.
|
|
14317
|
+
*
|
|
14318
|
+
* @example
|
|
14319
|
+
* ```typescript
|
|
14320
|
+
* import { text } from 'blecsd/widgets';
|
|
14321
|
+
* const t = text.create(world, { content: 'Hello' });
|
|
14322
|
+
* const content = text.getContent(world, t.eid);
|
|
14323
|
+
* text.setContent(world, t.eid, 'World');
|
|
14324
|
+
* ```
|
|
14325
|
+
*/
|
|
14326
|
+
|
|
14327
|
+
declare const text: Readonly<{
|
|
14328
|
+
create: typeof createText;
|
|
14329
|
+
is: typeof isText;
|
|
14330
|
+
getContent: typeof getTextContent;
|
|
14331
|
+
setContent: typeof setTextContent;
|
|
14332
|
+
resetStore: typeof resetTextStore;
|
|
14333
|
+
}>;
|
|
14334
|
+
type TextModule = typeof text;
|
|
14335
|
+
|
|
13158
14336
|
/**
|
|
13159
14337
|
* Timer and Stopwatch Widgets
|
|
13160
14338
|
*
|
|
@@ -13450,6 +14628,29 @@ declare function resetTimerWidgetStore(): void;
|
|
|
13450
14628
|
*/
|
|
13451
14629
|
declare function resetStopwatchWidgetStore(): void;
|
|
13452
14630
|
|
|
14631
|
+
/**
|
|
14632
|
+
* TimerWidget namespace.
|
|
14633
|
+
*
|
|
14634
|
+
* @example
|
|
14635
|
+
* ```typescript
|
|
14636
|
+
* import { timerWidget } from 'blecsd/widgets';
|
|
14637
|
+
* const timer = timerWidget.createTimer(world, { duration: 60 });
|
|
14638
|
+
* const stopwatch = timerWidget.createStopwatch(world, {});
|
|
14639
|
+
* timerWidget.updateWidgets(world, deltaTime);
|
|
14640
|
+
* ```
|
|
14641
|
+
*/
|
|
14642
|
+
|
|
14643
|
+
declare const timerWidget: Readonly<{
|
|
14644
|
+
createTimer: typeof createTimer;
|
|
14645
|
+
createStopwatch: typeof createStopwatch;
|
|
14646
|
+
isTimer: typeof isTimer;
|
|
14647
|
+
isStopwatch: typeof isStopwatch;
|
|
14648
|
+
updateWidgets: typeof updateTimeWidgets;
|
|
14649
|
+
resetTimerStore: typeof resetTimerWidgetStore;
|
|
14650
|
+
resetStopwatchStore: typeof resetStopwatchWidgetStore;
|
|
14651
|
+
}>;
|
|
14652
|
+
type TimerWidgetModule = typeof timerWidget;
|
|
14653
|
+
|
|
13453
14654
|
/**
|
|
13454
14655
|
* Toast Widget
|
|
13455
14656
|
*
|
|
@@ -13571,8 +14772,8 @@ declare const ToastConfigSchema: z.ZodObject<{
|
|
|
13571
14772
|
bg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
13572
14773
|
border: z.ZodOptional<z.ZodObject<{
|
|
13573
14774
|
type: z.ZodOptional<z.ZodEnum<{
|
|
13574
|
-
bg: "bg";
|
|
13575
14775
|
none: "none";
|
|
14776
|
+
bg: "bg";
|
|
13576
14777
|
line: "line";
|
|
13577
14778
|
}>>;
|
|
13578
14779
|
fg: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
@@ -13705,6 +14906,21 @@ declare function isToast(_world: World, eid: Entity): boolean;
|
|
|
13705
14906
|
*/
|
|
13706
14907
|
declare function resetToastStore(): void;
|
|
13707
14908
|
|
|
14909
|
+
declare const toast: Readonly<{
|
|
14910
|
+
create: typeof createToast;
|
|
14911
|
+
is: typeof isToast;
|
|
14912
|
+
showInfo: typeof showInfoToast;
|
|
14913
|
+
showWarning: typeof showWarningToast;
|
|
14914
|
+
showError: typeof showErrorToast;
|
|
14915
|
+
showSuccess: typeof showSuccessToast;
|
|
14916
|
+
resetStore: typeof resetToastStore;
|
|
14917
|
+
DEFAULT_TOAST_PADDING: 1;
|
|
14918
|
+
DEFAULT_TOAST_STYLES: Record<ToastType, ToastStyleConfig>;
|
|
14919
|
+
DEFAULT_TOAST_TIMEOUT: 3000;
|
|
14920
|
+
TOAST_STACK_SPACING: 1;
|
|
14921
|
+
}>;
|
|
14922
|
+
type ToastModule = typeof toast;
|
|
14923
|
+
|
|
13708
14924
|
/**
|
|
13709
14925
|
* Tree Widget
|
|
13710
14926
|
*
|
|
@@ -14005,547 +15221,21 @@ declare function createTree(world: World, entity: Entity, config?: TreeWidgetCon
|
|
|
14005
15221
|
declare function isTreeWidget(_world: World, eid: Entity): boolean;
|
|
14006
15222
|
|
|
14007
15223
|
/**
|
|
14008
|
-
*
|
|
14009
|
-
*
|
|
14010
|
-
* Factory widget that plays video files in the terminal using external
|
|
14011
|
-
* players (mpv, mplayer) with ASCII/ANSI rendering via libcaca or
|
|
14012
|
-
* built-in terminal output modes.
|
|
14013
|
-
*
|
|
14014
|
-
* The widget manages the video player subprocess lifecycle, supports
|
|
14015
|
-
* play/pause/seek controls, and handles terminal resize.
|
|
14016
|
-
*
|
|
14017
|
-
* @module widgets/video
|
|
14018
|
-
*/
|
|
14019
|
-
|
|
14020
|
-
/**
|
|
14021
|
-
* Supported video player backends.
|
|
14022
|
-
*
|
|
14023
|
-
* - 'mpv': Modern, feature-rich player (preferred)
|
|
14024
|
-
* - 'mplayer': Legacy player, widely available
|
|
14025
|
-
*/
|
|
14026
|
-
type VideoPlayer = 'mpv' | 'mplayer';
|
|
14027
|
-
/**
|
|
14028
|
-
* Video playback state.
|
|
14029
|
-
*/
|
|
14030
|
-
type VideoPlaybackState = 'stopped' | 'playing' | 'paused';
|
|
14031
|
-
/**
|
|
14032
|
-
* Video output driver mode for terminal rendering.
|
|
14033
|
-
*
|
|
14034
|
-
* - 'caca': Uses libcaca for ASCII art rendering (best quality)
|
|
14035
|
-
* - 'tct': True-color terminal output (mpv only)
|
|
14036
|
-
* - 'sixel': Sixel graphics output (mpv only, requires sixel support)
|
|
14037
|
-
*/
|
|
14038
|
-
type VideoOutputDriver = 'caca' | 'tct' | 'sixel';
|
|
14039
|
-
/**
|
|
14040
|
-
* Configuration for creating a Video widget.
|
|
14041
|
-
*
|
|
14042
|
-
* @example
|
|
14043
|
-
* ```typescript
|
|
14044
|
-
* import type { VideoConfig } from 'blecsd';
|
|
14045
|
-
*
|
|
14046
|
-
* const config: VideoConfig = {
|
|
14047
|
-
* x: 0,
|
|
14048
|
-
* y: 0,
|
|
14049
|
-
* width: 80,
|
|
14050
|
-
* height: 24,
|
|
14051
|
-
* path: '/path/to/video.mp4',
|
|
14052
|
-
* player: 'mpv',
|
|
14053
|
-
* };
|
|
14054
|
-
* ```
|
|
14055
|
-
*/
|
|
14056
|
-
interface VideoConfig {
|
|
14057
|
-
/** X position in terminal columns */
|
|
14058
|
-
readonly x?: number;
|
|
14059
|
-
/** Y position in terminal rows */
|
|
14060
|
-
readonly y?: number;
|
|
14061
|
-
/** Width in terminal columns */
|
|
14062
|
-
readonly width?: number;
|
|
14063
|
-
/** Height in terminal rows */
|
|
14064
|
-
readonly height?: number;
|
|
14065
|
-
/** Path to the video file */
|
|
14066
|
-
readonly path?: string;
|
|
14067
|
-
/** Preferred video player backend (default: auto-detect) */
|
|
14068
|
-
readonly player?: VideoPlayer;
|
|
14069
|
-
/** Video output driver mode (default: 'caca') */
|
|
14070
|
-
readonly outputDriver?: VideoOutputDriver;
|
|
14071
|
-
/** Playback speed multiplier (default: 1.0) */
|
|
14072
|
-
readonly speed?: number;
|
|
14073
|
-
/** Start playback automatically (default: false) */
|
|
14074
|
-
readonly autoPlay?: boolean;
|
|
14075
|
-
/** Loop playback (default: false) */
|
|
14076
|
-
readonly loop?: boolean;
|
|
14077
|
-
/** Mute audio (default: true for terminal use) */
|
|
14078
|
-
readonly mute?: boolean;
|
|
14079
|
-
/** Whether to show initially (default: true) */
|
|
14080
|
-
readonly visible?: boolean;
|
|
14081
|
-
}
|
|
14082
|
-
/**
|
|
14083
|
-
* Video widget interface providing chainable methods for video playback.
|
|
14084
|
-
*
|
|
14085
|
-
* @example
|
|
14086
|
-
* ```typescript
|
|
14087
|
-
* import { createVideo } from 'blecsd';
|
|
14088
|
-
*
|
|
14089
|
-
* const video = createVideo(world, {
|
|
14090
|
-
* x: 0, y: 0, width: 80, height: 24,
|
|
14091
|
-
* path: '/path/to/video.mp4',
|
|
14092
|
-
* });
|
|
14093
|
-
* video.play();
|
|
14094
|
-
* ```
|
|
14095
|
-
*/
|
|
14096
|
-
interface VideoWidget {
|
|
14097
|
-
/** The underlying entity ID */
|
|
14098
|
-
readonly eid: Entity;
|
|
14099
|
-
/** Shows the video widget */
|
|
14100
|
-
show(): VideoWidget;
|
|
14101
|
-
/** Hides the video widget */
|
|
14102
|
-
hide(): VideoWidget;
|
|
14103
|
-
/** Checks if visible */
|
|
14104
|
-
isVisible(): boolean;
|
|
14105
|
-
/** Moves the video widget by dx, dy */
|
|
14106
|
-
move(dx: number, dy: number): VideoWidget;
|
|
14107
|
-
/** Sets the absolute position */
|
|
14108
|
-
setPosition(x: number, y: number): VideoWidget;
|
|
14109
|
-
/** Gets current position */
|
|
14110
|
-
getPosition(): {
|
|
14111
|
-
x: number;
|
|
14112
|
-
y: number;
|
|
14113
|
-
};
|
|
14114
|
-
/** Sets the video file path */
|
|
14115
|
-
setPath(path: string): VideoWidget;
|
|
14116
|
-
/** Gets the current video file path */
|
|
14117
|
-
getPath(): string;
|
|
14118
|
-
/** Starts or resumes playback */
|
|
14119
|
-
play(): VideoWidget;
|
|
14120
|
-
/** Pauses playback */
|
|
14121
|
-
pause(): VideoWidget;
|
|
14122
|
-
/** Stops playback and resets position */
|
|
14123
|
-
stop(): VideoWidget;
|
|
14124
|
-
/** Toggles between playing and paused */
|
|
14125
|
-
togglePlayback(): VideoWidget;
|
|
14126
|
-
/** Seeks to a position in seconds */
|
|
14127
|
-
seek(seconds: number): VideoWidget;
|
|
14128
|
-
/** Gets the current playback state */
|
|
14129
|
-
getPlaybackState(): VideoPlaybackState;
|
|
14130
|
-
/** Sets playback speed multiplier */
|
|
14131
|
-
setSpeed(speed: number): VideoWidget;
|
|
14132
|
-
/** Gets current playback speed */
|
|
14133
|
-
getSpeed(): number;
|
|
14134
|
-
/** Sets whether playback loops */
|
|
14135
|
-
setLoop(loop: boolean): VideoWidget;
|
|
14136
|
-
/** Gets whether playback loops */
|
|
14137
|
-
getLoop(): boolean;
|
|
14138
|
-
/** Sets audio mute state */
|
|
14139
|
-
setMute(mute: boolean): VideoWidget;
|
|
14140
|
-
/** Gets audio mute state */
|
|
14141
|
-
getMute(): boolean;
|
|
14142
|
-
/** Gets the detected or configured player */
|
|
14143
|
-
getPlayer(): VideoPlayer | undefined;
|
|
14144
|
-
/** Gets whether the video player process is running */
|
|
14145
|
-
isRunning(): boolean;
|
|
14146
|
-
/** Resize the video output */
|
|
14147
|
-
resize(width: number, height: number): VideoWidget;
|
|
14148
|
-
/** Sets callback for when playback ends */
|
|
14149
|
-
onEnd(callback: () => void): VideoWidget;
|
|
14150
|
-
/** Sets callback for when an error occurs */
|
|
14151
|
-
onError(callback: (error: string) => void): VideoWidget;
|
|
14152
|
-
/** Sets callback for process data output */
|
|
14153
|
-
onData(callback: (data: string) => void): VideoWidget;
|
|
14154
|
-
/** Destroys the video widget and kills any running process */
|
|
14155
|
-
destroy(): void;
|
|
14156
|
-
}
|
|
14157
|
-
/**
|
|
14158
|
-
* Interface for spawning child processes (injectable for testing).
|
|
14159
|
-
*
|
|
14160
|
-
* @example
|
|
14161
|
-
* ```typescript
|
|
14162
|
-
* import type { VideoProcessSpawner } from 'blecsd';
|
|
14163
|
-
*
|
|
14164
|
-
* const spawner: VideoProcessSpawner = {
|
|
14165
|
-
* spawn: (cmd, args) => ({ pid: 123, stdout: mockStream, ... }),
|
|
14166
|
-
* exists: (path) => true,
|
|
14167
|
-
* };
|
|
14168
|
-
* ```
|
|
14169
|
-
*/
|
|
14170
|
-
interface VideoProcessSpawner {
|
|
14171
|
-
/** Spawns a child process and returns a handle */
|
|
14172
|
-
readonly spawn: (command: string, args: readonly string[]) => VideoProcessHandle;
|
|
14173
|
-
/** Checks if a binary exists at the given path */
|
|
14174
|
-
readonly exists: (path: string) => boolean;
|
|
14175
|
-
}
|
|
14176
|
-
/**
|
|
14177
|
-
* Handle to a running video player process.
|
|
14178
|
-
*/
|
|
14179
|
-
interface VideoProcessHandle {
|
|
14180
|
-
/** Process ID */
|
|
14181
|
-
readonly pid: number;
|
|
14182
|
-
/** Send data to stdin */
|
|
14183
|
-
readonly write: (data: string) => void;
|
|
14184
|
-
/** Register stdout data handler */
|
|
14185
|
-
readonly onData: (callback: (data: string) => void) => void;
|
|
14186
|
-
/** Register exit handler */
|
|
14187
|
-
readonly onExit: (callback: (code: number) => void) => void;
|
|
14188
|
-
/** Kill the process */
|
|
14189
|
-
readonly kill: (signal?: string) => void;
|
|
14190
|
-
/** Resize the pseudo-terminal (if available) */
|
|
14191
|
-
readonly resize?: (cols: number, rows: number) => void;
|
|
14192
|
-
}
|
|
14193
|
-
/**
|
|
14194
|
-
* Internal state for a video widget instance.
|
|
14195
|
-
*/
|
|
14196
|
-
interface VideoState {
|
|
14197
|
-
path: string;
|
|
14198
|
-
player: VideoPlayer | undefined;
|
|
14199
|
-
outputDriver: VideoOutputDriver;
|
|
14200
|
-
speed: number;
|
|
14201
|
-
loop: boolean;
|
|
14202
|
-
mute: boolean;
|
|
14203
|
-
playbackState: VideoPlaybackState;
|
|
14204
|
-
visible: boolean;
|
|
14205
|
-
process: VideoProcessHandle | null;
|
|
14206
|
-
seekPosition: number;
|
|
14207
|
-
onEndCallback: (() => void) | null;
|
|
14208
|
-
onErrorCallback: ((error: string) => void) | null;
|
|
14209
|
-
onDataCallback: ((data: string) => void) | null;
|
|
14210
|
-
}
|
|
14211
|
-
/**
|
|
14212
|
-
* Zod schema for video widget configuration.
|
|
14213
|
-
*
|
|
14214
|
-
* @example
|
|
14215
|
-
* ```typescript
|
|
14216
|
-
* import { VideoConfigSchema } from 'blecsd';
|
|
14217
|
-
*
|
|
14218
|
-
* const result = VideoConfigSchema.safeParse({
|
|
14219
|
-
* path: '/path/to/video.mp4',
|
|
14220
|
-
* player: 'mpv',
|
|
14221
|
-
* });
|
|
14222
|
-
* ```
|
|
14223
|
-
*/
|
|
14224
|
-
declare const VideoConfigSchema: z.ZodObject<{
|
|
14225
|
-
x: z.ZodDefault<z.ZodNumber>;
|
|
14226
|
-
y: z.ZodDefault<z.ZodNumber>;
|
|
14227
|
-
width: z.ZodDefault<z.ZodNumber>;
|
|
14228
|
-
height: z.ZodDefault<z.ZodNumber>;
|
|
14229
|
-
path: z.ZodDefault<z.ZodString>;
|
|
14230
|
-
player: z.ZodOptional<z.ZodEnum<{
|
|
14231
|
-
mpv: "mpv";
|
|
14232
|
-
mplayer: "mplayer";
|
|
14233
|
-
}>>;
|
|
14234
|
-
outputDriver: z.ZodDefault<z.ZodEnum<{
|
|
14235
|
-
sixel: "sixel";
|
|
14236
|
-
caca: "caca";
|
|
14237
|
-
tct: "tct";
|
|
14238
|
-
}>>;
|
|
14239
|
-
speed: z.ZodDefault<z.ZodNumber>;
|
|
14240
|
-
autoPlay: z.ZodDefault<z.ZodBoolean>;
|
|
14241
|
-
loop: z.ZodDefault<z.ZodBoolean>;
|
|
14242
|
-
mute: z.ZodDefault<z.ZodBoolean>;
|
|
14243
|
-
visible: z.ZodDefault<z.ZodBoolean>;
|
|
14244
|
-
}, z.core.$strip>;
|
|
14245
|
-
/**
|
|
14246
|
-
* Video component marker for identifying video entities.
|
|
14247
|
-
*/
|
|
14248
|
-
declare const Video: {
|
|
14249
|
-
/** Tag indicating this is a video widget (1 = yes) */
|
|
14250
|
-
isVideo: Uint8Array<ArrayBuffer>;
|
|
14251
|
-
};
|
|
14252
|
-
/**
|
|
14253
|
-
* Default search paths for video player binaries.
|
|
14254
|
-
*/
|
|
14255
|
-
declare const MPV_SEARCH_PATHS: readonly string[];
|
|
14256
|
-
/**
|
|
14257
|
-
* Default search paths for mplayer binary.
|
|
14258
|
-
*/
|
|
14259
|
-
declare const MPLAYER_SEARCH_PATHS: readonly string[];
|
|
14260
|
-
/**
|
|
14261
|
-
* Finds the best available video player binary.
|
|
14262
|
-
*
|
|
14263
|
-
* Checks mpv first (preferred), then mplayer.
|
|
14264
|
-
*
|
|
14265
|
-
* @param checkExists - Function to check if a file exists (injectable for testing)
|
|
14266
|
-
* @returns The detected player and its path, or undefined if none found
|
|
14267
|
-
*
|
|
14268
|
-
* @example
|
|
14269
|
-
* ```typescript
|
|
14270
|
-
* import { detectVideoPlayer } from 'blecsd';
|
|
14271
|
-
*
|
|
14272
|
-
* const result = detectVideoPlayer();
|
|
14273
|
-
* if (result) {
|
|
14274
|
-
* console.log(`Found ${result.player} at ${result.path}`);
|
|
14275
|
-
* }
|
|
14276
|
-
* ```
|
|
14277
|
-
*/
|
|
14278
|
-
declare function detectVideoPlayer(checkExists?: (path: string) => boolean): {
|
|
14279
|
-
player: VideoPlayer;
|
|
14280
|
-
path: string;
|
|
14281
|
-
} | undefined;
|
|
14282
|
-
/**
|
|
14283
|
-
* Builds command-line arguments for mpv.
|
|
14284
|
-
*
|
|
14285
|
-
* @param config - Video state configuration
|
|
14286
|
-
* @param cols - Terminal width in columns
|
|
14287
|
-
* @param rows - Terminal height in rows
|
|
14288
|
-
* @returns Array of command-line arguments
|
|
14289
|
-
*
|
|
14290
|
-
* @example
|
|
14291
|
-
* ```typescript
|
|
14292
|
-
* import { buildMpvArgs } from 'blecsd';
|
|
14293
|
-
*
|
|
14294
|
-
* const args = buildMpvArgs(
|
|
14295
|
-
* { path: 'video.mp4', outputDriver: 'caca', speed: 1.0, loop: false, mute: true },
|
|
14296
|
-
* 80,
|
|
14297
|
-
* 24,
|
|
14298
|
-
* );
|
|
14299
|
-
* ```
|
|
14300
|
-
*/
|
|
14301
|
-
declare function buildMpvArgs(config: Pick<VideoState, 'path' | 'outputDriver' | 'speed' | 'loop' | 'mute' | 'seekPosition'>, cols: number, rows: number): string[];
|
|
14302
|
-
/**
|
|
14303
|
-
* Builds command-line arguments for mplayer.
|
|
14304
|
-
*
|
|
14305
|
-
* @param config - Video state configuration
|
|
14306
|
-
* @param cols - Terminal width in columns
|
|
14307
|
-
* @param rows - Terminal height in rows
|
|
14308
|
-
* @returns Array of command-line arguments
|
|
14309
|
-
*
|
|
14310
|
-
* @example
|
|
14311
|
-
* ```typescript
|
|
14312
|
-
* import { buildMplayerArgs } from 'blecsd';
|
|
14313
|
-
*
|
|
14314
|
-
* const args = buildMplayerArgs(
|
|
14315
|
-
* { path: 'video.mp4', outputDriver: 'caca', speed: 1.0, loop: false, mute: true },
|
|
14316
|
-
* 80,
|
|
14317
|
-
* 24,
|
|
14318
|
-
* );
|
|
14319
|
-
* ```
|
|
14320
|
-
*/
|
|
14321
|
-
declare function buildMplayerArgs(config: Pick<VideoState, 'path' | 'outputDriver' | 'speed' | 'loop' | 'mute' | 'seekPosition'>, _cols: number, _rows: number): string[];
|
|
14322
|
-
/**
|
|
14323
|
-
* Builds player command arguments based on the detected player type.
|
|
14324
|
-
*
|
|
14325
|
-
* @param player - The video player to use
|
|
14326
|
-
* @param state - Video state
|
|
14327
|
-
* @param cols - Terminal width
|
|
14328
|
-
* @param rows - Terminal height
|
|
14329
|
-
* @returns Array of command-line arguments
|
|
14330
|
-
*
|
|
14331
|
-
* @example
|
|
14332
|
-
* ```typescript
|
|
14333
|
-
* import { buildPlayerArgs } from 'blecsd';
|
|
14334
|
-
*
|
|
14335
|
-
* const args = buildPlayerArgs('mpv', videoState, 80, 24);
|
|
14336
|
-
* ```
|
|
14337
|
-
*/
|
|
14338
|
-
declare function buildPlayerArgs(player: VideoPlayer, state: Pick<VideoState, 'path' | 'outputDriver' | 'speed' | 'loop' | 'mute' | 'seekPosition'>, cols: number, rows: number): string[];
|
|
14339
|
-
/**
|
|
14340
|
-
* Sends a pause/unpause command to an mpv process via IPC.
|
|
14341
|
-
*
|
|
14342
|
-
* @param handle - Process handle
|
|
14343
|
-
* @param player - Player type
|
|
14344
|
-
*
|
|
14345
|
-
* @example
|
|
14346
|
-
* ```typescript
|
|
14347
|
-
* import { sendPauseCommand } from 'blecsd';
|
|
14348
|
-
*
|
|
14349
|
-
* sendPauseCommand(processHandle, 'mpv');
|
|
14350
|
-
* ```
|
|
14351
|
-
*/
|
|
14352
|
-
declare function sendPauseCommand(handle: VideoProcessHandle, player: VideoPlayer): void;
|
|
14353
|
-
/**
|
|
14354
|
-
* Sends a seek command to a running player process.
|
|
14355
|
-
*
|
|
14356
|
-
* @param handle - Process handle
|
|
14357
|
-
* @param player - Player type
|
|
14358
|
-
* @param seconds - Position in seconds
|
|
14359
|
-
*
|
|
14360
|
-
* @example
|
|
14361
|
-
* ```typescript
|
|
14362
|
-
* import { sendSeekCommand } from 'blecsd';
|
|
14363
|
-
*
|
|
14364
|
-
* sendSeekCommand(processHandle, 'mplayer', 30);
|
|
14365
|
-
* ```
|
|
14366
|
-
*/
|
|
14367
|
-
declare function sendSeekCommand(handle: VideoProcessHandle, player: VideoPlayer, seconds: number): void;
|
|
14368
|
-
/**
|
|
14369
|
-
* Creates a Video widget.
|
|
14370
|
-
*
|
|
14371
|
-
* The Video widget plays video files in the terminal using external video
|
|
14372
|
-
* players (mpv or mplayer) with ASCII/ANSI rendering via libcaca or other
|
|
14373
|
-
* terminal-compatible output drivers.
|
|
14374
|
-
*
|
|
14375
|
-
* @param world - The ECS world
|
|
14376
|
-
* @param config - Video configuration
|
|
14377
|
-
* @param spawner - Optional process spawner (injectable for testing)
|
|
14378
|
-
* @returns VideoWidget interface
|
|
14379
|
-
*
|
|
14380
|
-
* @example
|
|
14381
|
-
* ```typescript
|
|
14382
|
-
* import { createVideo } from 'blecsd';
|
|
14383
|
-
*
|
|
14384
|
-
* const video = createVideo(world, {
|
|
14385
|
-
* x: 0, y: 0, width: 80, height: 24,
|
|
14386
|
-
* path: '/path/to/video.mp4',
|
|
14387
|
-
* player: 'mpv',
|
|
14388
|
-
* outputDriver: 'caca',
|
|
14389
|
-
* });
|
|
14390
|
-
*
|
|
14391
|
-
* video.play();
|
|
14392
|
-
*
|
|
14393
|
-
* // Later...
|
|
14394
|
-
* video.pause();
|
|
14395
|
-
* video.seek(30);
|
|
14396
|
-
* video.play();
|
|
14397
|
-
*
|
|
14398
|
-
* // Cleanup
|
|
14399
|
-
* video.destroy();
|
|
14400
|
-
* ```
|
|
14401
|
-
*/
|
|
14402
|
-
declare function createVideo(world: World, config?: VideoConfig, spawner?: VideoProcessSpawner): VideoWidget;
|
|
14403
|
-
/**
|
|
14404
|
-
* Checks if an entity is a video widget.
|
|
14405
|
-
*
|
|
14406
|
-
* @param _world - The ECS world (unused, for API consistency)
|
|
14407
|
-
* @param eid - Entity ID
|
|
14408
|
-
* @returns true if entity is a video widget
|
|
14409
|
-
*
|
|
14410
|
-
* @example
|
|
14411
|
-
* ```typescript
|
|
14412
|
-
* import { isVideo } from 'blecsd';
|
|
14413
|
-
*
|
|
14414
|
-
* if (isVideo(world, entity)) {
|
|
14415
|
-
* // Handle video-specific logic
|
|
14416
|
-
* }
|
|
14417
|
-
* ```
|
|
14418
|
-
*/
|
|
14419
|
-
declare function isVideo(_world: World, eid: Entity): boolean;
|
|
14420
|
-
/**
|
|
14421
|
-
* Gets the video state for an entity.
|
|
14422
|
-
*
|
|
14423
|
-
* @param eid - Entity ID
|
|
14424
|
-
* @returns The video playback state, or undefined
|
|
14425
|
-
*
|
|
14426
|
-
* @example
|
|
14427
|
-
* ```typescript
|
|
14428
|
-
* import { getVideoPlaybackState } from 'blecsd';
|
|
14429
|
-
*
|
|
14430
|
-
* const state = getVideoPlaybackState(videoEntity);
|
|
14431
|
-
* // 'stopped' | 'playing' | 'paused'
|
|
14432
|
-
* ```
|
|
14433
|
-
*/
|
|
14434
|
-
declare function getVideoPlaybackState(eid: Entity): VideoPlaybackState | undefined;
|
|
14435
|
-
/**
|
|
14436
|
-
* Gets the detected video player for an entity.
|
|
14437
|
-
*
|
|
14438
|
-
* @param eid - Entity ID
|
|
14439
|
-
* @returns The player name, or undefined
|
|
15224
|
+
* Tree widget namespace.
|
|
14440
15225
|
*
|
|
14441
15226
|
* @example
|
|
14442
15227
|
* ```typescript
|
|
14443
|
-
* import {
|
|
14444
|
-
*
|
|
14445
|
-
* const player = getVideoPlayer(videoEntity);
|
|
14446
|
-
* // 'mpv' | 'mplayer' | undefined
|
|
15228
|
+
* import { tree } from 'blecsd/widgets';
|
|
15229
|
+
* const t = tree.create(world, { nodes: [...] });
|
|
14447
15230
|
* ```
|
|
14448
15231
|
*/
|
|
14449
|
-
declare function getVideoPlayer(eid: Entity): VideoPlayer | undefined;
|
|
14450
|
-
/**
|
|
14451
|
-
* Resets all video widget stores. Useful for testing.
|
|
14452
|
-
*
|
|
14453
|
-
* @internal
|
|
14454
|
-
*/
|
|
14455
|
-
declare function resetVideoStore(): void;
|
|
14456
15232
|
|
|
14457
|
-
|
|
14458
|
-
|
|
14459
|
-
|
|
14460
|
-
|
|
14461
|
-
|
|
14462
|
-
|
|
14463
|
-
*
|
|
14464
|
-
* @module widgets/viewport3d
|
|
14465
|
-
*/
|
|
14466
|
-
|
|
14467
|
-
/**
|
|
14468
|
-
* Tag component marking entities as Viewport3D widgets.
|
|
14469
|
-
*/
|
|
14470
|
-
declare const Viewport3DTag: {
|
|
14471
|
-
isViewport3D: Uint8Array<ArrayBuffer>;
|
|
14472
|
-
};
|
|
14473
|
-
/**
|
|
14474
|
-
* Interface for the Viewport3D widget with chainable methods.
|
|
14475
|
-
*
|
|
14476
|
-
* @example
|
|
14477
|
-
* ```typescript
|
|
14478
|
-
* const viewport = createViewport3D(world, eid, {
|
|
14479
|
-
* width: 60, height: 20, fov: Math.PI / 3,
|
|
14480
|
-
* });
|
|
14481
|
-
*
|
|
14482
|
-
* const cubeId = createCubeMesh();
|
|
14483
|
-
* viewport.addMesh(cubeId, { tz: -5 });
|
|
14484
|
-
* viewport.setCameraPosition(0, 2, 0);
|
|
14485
|
-
* ```
|
|
14486
|
-
*/
|
|
14487
|
-
interface Viewport3DWidget {
|
|
14488
|
-
/** The viewport entity ID. */
|
|
14489
|
-
readonly eid: Entity;
|
|
14490
|
-
/** The camera entity ID. */
|
|
14491
|
-
readonly cameraEid: Entity;
|
|
14492
|
-
/** Add a mesh to the viewport scene. Returns the mesh entity ID. */
|
|
14493
|
-
addMesh(meshId: number, transform?: Transform3DConfig, material?: Material3DConfig): Entity;
|
|
14494
|
-
/** Remove a mesh entity from the viewport scene. */
|
|
14495
|
-
removeMesh(meshEid: Entity): void;
|
|
14496
|
-
/** Set camera position in world space. */
|
|
14497
|
-
setCameraPosition(x: number, y: number, z: number): Viewport3DWidget;
|
|
14498
|
-
/** Set camera rotation in radians. */
|
|
14499
|
-
setCameraRotation(rx: number, ry: number, rz: number): Viewport3DWidget;
|
|
14500
|
-
/** Set camera field of view in radians. */
|
|
14501
|
-
setFov(fov: number): Viewport3DWidget;
|
|
14502
|
-
/** Resize the viewport in terminal cells. */
|
|
14503
|
-
resize(width: number, height: number): Viewport3DWidget;
|
|
14504
|
-
/** Show the viewport. */
|
|
14505
|
-
show(): Viewport3DWidget;
|
|
14506
|
-
/** Hide the viewport. */
|
|
14507
|
-
hide(): Viewport3DWidget;
|
|
14508
|
-
/** Clean up all entities and stores associated with this viewport. */
|
|
14509
|
-
destroy(): void;
|
|
14510
|
-
}
|
|
14511
|
-
/**
|
|
14512
|
-
* Creates a Viewport3D widget.
|
|
14513
|
-
*
|
|
14514
|
-
* Sets up a camera entity, configures the viewport component, and returns
|
|
14515
|
-
* a chainable interface for managing 3D content within the viewport.
|
|
14516
|
-
*
|
|
14517
|
-
* @param world - The ECS world
|
|
14518
|
-
* @param entity - The entity to attach the viewport to
|
|
14519
|
-
* @param config - Widget configuration
|
|
14520
|
-
* @returns The Viewport3D widget interface
|
|
14521
|
-
*
|
|
14522
|
-
* @example
|
|
14523
|
-
* ```typescript
|
|
14524
|
-
* import { createWorld, addEntity } from '../core/ecs';
|
|
14525
|
-
* import { createViewport3D } from 'blecsd/widgets';
|
|
14526
|
-
* import { createCubeMesh } from 'blecsd/3d/stores';
|
|
14527
|
-
*
|
|
14528
|
-
* const world = createWorld();
|
|
14529
|
-
* const eid = addEntity(world);
|
|
14530
|
-
*
|
|
14531
|
-
* const viewport = createViewport3D(world, eid, {
|
|
14532
|
-
* left: 5, top: 2, width: 60, height: 20,
|
|
14533
|
-
* fov: Math.PI / 3, backend: 'auto',
|
|
14534
|
-
* });
|
|
14535
|
-
*
|
|
14536
|
-
* const cubeId = createCubeMesh();
|
|
14537
|
-
* viewport.addMesh(cubeId, { tz: -5 });
|
|
14538
|
-
* viewport.setCameraPosition(0, 2, 5);
|
|
14539
|
-
* ```
|
|
14540
|
-
*/
|
|
14541
|
-
declare function createViewport3D(world: World, entity: Entity, config?: Viewport3DWidgetConfig): Viewport3DWidget;
|
|
14542
|
-
/**
|
|
14543
|
-
* Check if an entity is a Viewport3D widget.
|
|
14544
|
-
*
|
|
14545
|
-
* @param eid - Entity ID
|
|
14546
|
-
* @returns True if the entity has the Viewport3D widget tag
|
|
14547
|
-
*/
|
|
14548
|
-
declare function isViewport3DWidget(eid: Entity): boolean;
|
|
15233
|
+
declare const tree: Readonly<{
|
|
15234
|
+
create: typeof createTree;
|
|
15235
|
+
is: typeof isTreeWidget;
|
|
15236
|
+
resetStore: typeof resetTreeStore;
|
|
15237
|
+
}>;
|
|
15238
|
+
type TreeModule = typeof tree;
|
|
14549
15239
|
|
|
14550
15240
|
/**
|
|
14551
15241
|
* VirtualizedList Widget
|
|
@@ -14765,4 +15455,24 @@ declare function handleVirtualizedListWheel(widget: VirtualizedList, direction:
|
|
|
14765
15455
|
*/
|
|
14766
15456
|
declare function isVirtualizedList(_world: World, eid: Entity): boolean;
|
|
14767
15457
|
|
|
14768
|
-
export { Accordion, type AccordionConfig, AccordionConfigSchema, type AccordionSection, type AccordionWidget, type Align$2 as Align, type AlignItems, Autocomplete, type AutocompleteConfig, AutocompleteConfigSchema, type AutocompleteWidget, BRAILLE_BASE, BRAILLE_DOTS, BarChart, type BarChartConfig, BarChartConfigSchema, type BarChartWidget, type BarMode, type BarOrientation, type BarSeries, type BorderConfig$4 as BorderConfig, BorderConfigSchema, Box, type BoxConfig, BoxConfigSchema, type BoxWidget, type ButtonWidget, ButtonWidgetComponent, type ButtonConfig as ButtonWidgetConfig, ButtonConfigSchema as ButtonWidgetConfigSchema, CHART_COLORS, CLOSE_BUTTON_CHAR, COLLAPSE_CHAR, Calendar, type CalendarConfig, CalendarConfigSchema, type CalendarTheme, type CalendarWidget, Canvas, type CanvasConfig, CanvasConfigSchema, type CanvasWidget, type CellSize, type CheckboxWidget, CheckboxWidgetComponent, type CheckboxConfig as CheckboxWidgetConfig, CheckboxConfigSchema as CheckboxWidgetConfigSchema, type ChildLayoutData, type CollapsibleConfig, CollapsibleConfigSchema, type CollapsibleWidget, type Command, CommandPalette, type CommandPaletteConfig, CommandPaletteConfigSchema, type CommandPaletteTheme, type CommandPaletteWidget, type ContextMenuConfig, type ContextMenuItem, DEFAULT_CURSOR_OFFSET_X, DEFAULT_CURSOR_OFFSET_Y, DEFAULT_HIDE_DELAY, DEFAULT_HORIZONTAL_CHAR, DEFAULT_HOVER_DELAY, DEFAULT_LINE_LENGTH, DEFAULT_LOADING_BG, DEFAULT_LOADING_FG, DEFAULT_MESSAGE_PADDING, DEFAULT_MESSAGE_STYLES, DEFAULT_MESSAGE_TIMEOUT, DEFAULT_PANEL_TITLE, DEFAULT_PROMPT_BG, DEFAULT_PROMPT_FG, DEFAULT_PROMPT_HEIGHT, DEFAULT_PROMPT_WIDTH, DEFAULT_QUESTION_BG, DEFAULT_QUESTION_FG, DEFAULT_QUESTION_HEIGHT, DEFAULT_QUESTION_WIDTH, DEFAULT_TAB_POSITION, DEFAULT_TOAST_PADDING, DEFAULT_TOAST_STYLES, DEFAULT_TOAST_TIMEOUT, DEFAULT_TOOLTIP_BG, DEFAULT_TOOLTIP_BORDER, DEFAULT_TOOLTIP_FG, DEFAULT_VERTICAL_CHAR, DevTools, type DevToolsComponentInfo, type DevToolsConfig, DevToolsConfigSchema, type DevToolsPosition, type DevToolsTab, type DevToolsTheme, type DevToolsWidget, type DimensionValue$7 as DimensionValue, type DirtyRect, type DividerState, EXPAND_CHAR, type EntityInfo, type EventLogEntry, type FileEntry, FileManager, type FileManagerBorderConfig, type FileManagerConfig, FileManagerConfigSchema, type FileManagerPaddingConfig, type FileManagerWidget, type FlattenedNode, type AlignItems$1 as FlexAlignItems, type FlexChildOptions, FlexContainer, type FlexContainerConfig, FlexContainerConfigSchema, type FlexContainerWidget, type FlexDirection, type JustifyContent$1 as FlexJustifyContent, type FlexWrap, type FlexDirection$1 as FlexboxDirection, Footer, type FooterAlign, type FooterConfig, FooterConfigSchema, type FooterWidget, FormComponent, type FormField, type FormValidator, type FormWidget, type FormConfig as FormWidgetConfig, FormConfigSchema as FormWidgetConfigSchema, Gauge, type GaugeConfig, GaugeConfigSchema, type GaugeThreshold, type GaugeWidget, Grid, type GridCell, type GridConfig, GridConfigSchema, type GridWidget, HORIZONTAL_BLOCKS, Header, type HeaderAlign, type HeaderConfig, HeaderConfigSchema, type HeaderWidget, type HoverTextConfig, type HoverTextManager, type HoverTextManagerConfig, Image, type ImageConfig, ImageConfigSchema, type ImageType, type ImageWidget, type JustifyContent, Layout, type LayoutConfig, LayoutConfigSchema, type LayoutMode, type LayoutPosition, type LayoutWidget, Line, LineChart, type LineChartConfig, LineChartConfigSchema, type LineChartWidget, type LineConfig, LineConfigSchema, type LineOrientation, type LineSeries, type LineWidget, type ListStyleConfig, type ListTableStyleConfig, type ListTableWidget, type ListTableWidgetConfig, ListTableWidgetConfigSchema, type ListWidget, type ListWidgetConfig, ListWidgetConfigSchema, type ListbarAction, type ListbarItem, type ListbarSelectCallback, type ListbarState, type ListbarStyleConfig, type ListbarWidget, type ListbarWidgetConfig, ListbarWidgetConfigSchema, type LoadingConfig, LoadingConfigSchema, type LoadingStyleConfig, LoadingStyleConfigSchema, type LoadingWidget, Log, type BorderConfig$3 as LogBorderConfig, type LogConfig, LogConfigSchema, type DimensionValue$5 as LogDimensionValue, type PaddingConfig$2 as LogPaddingConfig, type PositionValue$7 as LogPositionValue, type ScrollbarConfig$1 as LogScrollbarConfig, type ScrollbarMode$1 as LogScrollbarMode, type LogWidget, MPLAYER_SEARCH_PATHS, MPV_SEARCH_PATHS, Message, type BorderConfig$2 as MessageBorderConfig, type MessageConfig, MessageConfigSchema, type PositionValue$6 as MessagePositionValue, type MessageStyleConfig, type MessageType, type MessageWidget, Modal, type ModalBorderConfig, type ModalConfig, ModalConfigSchema, type ModalPaddingConfig, type ModalWidget, MultiSelect, type MultiSelectConfig, MultiSelectConfigSchema, type MultiSelectItem, type MultiSelectWidget, type PaddingConfig$3 as PaddingConfig, type PaneScrollState, type PaneState, type PaneViewport, Panel, type PanelAction, type PanelBorderConfig, type PanelConfig, PanelConfigSchema, type PanelContentStyle, type PanelStyleConfig, type PanelTitleStyle, type PanelWidget, type PositionValue$a as PositionValue, ProgressBarComponent, type ProgressBarWidget, type ProgressBarConfig as ProgressBarWidgetConfig, ProgressBarConfigSchema as ProgressBarWidgetConfigSchema, Prompt, type PromptBorderConfig, PromptBorderConfigSchema, type PromptConfig, PromptConfigSchema, type PromptPaddingConfig, PromptPaddingConfigSchema, type PromptValidator, type PromptWidget, type PtyOptions, PtyOptionsSchema, Question, type QuestionBorderConfig, type QuestionConfig, QuestionConfigSchema, type QuestionPaddingConfig, type QuestionWidget, type RadioButtonWidget, RadioButtonWidgetComponent, type RadioButtonConfig as RadioButtonWidgetConfig, RadioButtonConfigSchema as RadioButtonWidgetConfigSchema, type RadioGroupWidget, RadioGroupWidgetComponent, type RadioGroupConfig as RadioGroupWidgetConfig, RadioGroupConfigSchema as RadioGroupWidgetConfigSchema, ScrollableBox, type ScrollableBoxConfig, ScrollableBoxConfigSchema, type ScrollableBoxWidget, type ScrollableTextConfig, type ScrollableTextWidget, type ScrollbarConfig, type ScrollbarMode, type SearchMode, SearchOverlay, type SearchOverlayConfig, SearchOverlayConfigSchema, type SearchOverlayMatch, type SearchOverlayMatchCallback, type SearchOverlayWidget, type SearchableContent, SearchableList, type SearchableListCallback, type SearchableListConfig, SearchableListConfigSchema, type SearchableListItem, type SearchableListWidget, type SelectionChangeCallback, type SharedTextBuffer, Sparkline, type SparklineConfig, SparklineConfigSchema, type SparklineWidget, type SplitDirection, SplitPane, type SplitPaneConfig, SplitPaneConfigSchema, type DimensionValue$2 as SplitPaneDimensionValue, type PositionValue$3 as SplitPanePositionValue, type SplitPaneWidget, type SplitResizeEvent, StopwatchComponent, type StopwatchConfig, StopwatchConfigSchema, type StopwatchState, type StopwatchWidget, type StreamDirtyRegion, type StreamProgress, type StreamingTextConfig, StreamingTextConfigSchema, type StreamingTextState, type StreamingTextWidget, Switch, type SwitchConfig, SwitchConfigSchema, type SwitchWidget, type SystemInfo, TAB_CLOSE_CHAR, TAB_SEPARATOR, TOAST_STACK_SPACING, type TabConfig, type TabData, type TabPosition, type TabStyleConfig, type TableStyleConfig, type TableWidget, type TableWidgetConfig, TableWidgetConfigSchema, Tabs, type TabsAction, type TabsBorderConfig, type TabsConfig, TabsConfigSchema, type ContentStyleConfig as TabsContentStyleConfig, type TabsStyleConfig, type TabsWidget, Terminal, type BorderConfig as TerminalBorderConfig, type TerminalConfig, TerminalConfigSchema, type TerminalStyle, type TerminalWidget, Text, type TextConfig, TextConfigSchema, type TextWidget, type TimeFormat, TimerComponent, type TimerConfig, TimerConfigSchema, type TimerState, type TimerWidget, type TitleAlign, Toast, type ToastBorderConfig, type ToastConfig, ToastConfigSchema, type ToastPosition, type ToastStyleConfig, type ToastType, type ToastWidget, type TooltipPosition, type TooltipRenderData, type TooltipState, type TooltipStyle, type TreeNode, type TreeStyleConfig, type TreeWidget, type TreeWidgetConfig, TreeWidgetConfigSchema, type VAlign$2 as VAlign, VERTICAL_BLOCKS, Video, type VideoConfig, VideoConfigSchema, type VideoOutputDriver, type VideoPlaybackState, type VideoPlayer, type VideoProcessHandle, type VideoProcessSpawner, type VideoWidget, Viewport3DTag, type Viewport3DWidget, type VirtualizedList, type VirtualizedListConfig, VirtualizedListConfigSchema, type VirtualizedListStyle, VirtualizedListStyleSchema, type WidgetFactory, type WidgetRegistration, type WidgetRegistry, addFlexChild, addToGrid, appendToState, ask, attachSearchOverlay, brailleChar, buildMplayerArgs, buildMpvArgs, buildPlayerArgs, calculateFlexLayout, calculateGridLayout, calculateInlineLayout, calculateTickInterval, clearAllHoverText, clearCanvas, clearHoverText, clearLines, clearState, closeAllModals, closeModal, collapseAllSections, combineBrailleDots, confirm, createAccordion, createAutocomplete, createBarChart, createBox, createButton, createCalendar, createCanvas, createCheckbox, createCollapsible, createCommandPalette, createContextMenu, createDevTools, createFileManager, createFlexContainer, createFooter, createForm, createGauge, createGrid, createHeader, createHoverTextManager, createImage, createLayout, createLine, createLineChart, createList, createListTable, createListbar, createLoading, createLog, createMessage, createModal, createMultiSelect, createPanel, createProgressBar, createPrompt, createQuestion, createRadioButton, createRadioGroup, createScrollableBox, createScrollableText, createSearchOverlay, createSearchableList, createSharedTextBuffer, createSparkline, createSplitPane, createStopwatch, createStreamingState, createStreamingText, createSwitch, createTable, createTabs, createTerminal, createText, createTimer, createToast, createTree, createVideo, createViewport3D, createVirtualizedList, createWidgetRegistry, defaultRegistry, deleteBottom, deleteLine, deleteTop, detectVideoPlayer, drawCircle, drawLine, drawRect, drawText, expandAllSections, expandSection, fileManagerStateMap, formatNumber, formatPercentage, generateTicks, getActiveTabIndex, getBaseLine, getBoxContent, getCanvasContent, getChartColor, getContextMenuSelectedIndex, getDividerRenderInfo, getExpandedSections, getHoverText, getHoverTextCount, getImageBitmap, getImageCellMap, getLayoutMode, getLine, getLineChar, getLineCount, getLineOrientation, getLines, getModalStack, getPanelTitle, getPanelTitleAlign, getScrollback, getSearchOverlayColors, getSearchOverlayTarget, getSearchableFilteredItems, getSelectedItems, getSharedTextBuffer, getSplitDirection, getStreamVisibleLines, getTabCount, getTabPosition, getTextContent, getVideoPlaybackState, getVideoPlayer, getWidgetTypes, getWidgetsByTag, handleContextMenuKey, handleFileManagerKey, handleMessageClick, handleMessageKey, handleModalBackdropClick, handleModalEscape, handlePromptKey, handleQuestionKey, handleSwitchClick, handleSwitchKey, handleTerminalKey, handleVirtualizedListKey, handleVirtualizedListWheel, hasHoverText, hideLoading, hitTestDivider, insertBottom, insertLine, insertTop, interpolateChartColor, isAccordion, isAutocomplete, isBarChart, isBox, isButtonWidget, isCalendar, isCanvas, isCheckboxWidget, isCollapsible, isCommandPalette, isDevTools, isDismissOnClick, isDismissOnKey, isFileManager, isFlexContainer, isForm as isFormWidget, isGauge, isGrid, isImage, isKeysScrollEnabled, isLayout, isLine, isLineChart, isListTableWidget, isListWidget, isListbarWidget, isLoadingWidget, isLog, isKeysScrollEnabled$1 as isLogKeysScrollEnabled, isMouseScrollEnabled$1 as isLogMouseScrollEnabled, isMessage, isModal, isModalOpen, isMouseScrollEnabled, isMultiSelect, isPanel, isPanelCollapsed, isProgressBar as isProgressBarWidget, isPrompt, isQuestion, isRadioButtonWidget, isRadioGroupWidget, isScrollableBox, isScrollableBox as isScrollableText, isSearchOverlay, isSearchableList, isSparkline, isSplitPane, isStopwatch, isSwitch, isTableWidget, isTabs, isTerminal, isTerminalKeysEnabled, isTerminalMouseEnabled, isText, isTimer, isToast, isTreeWidget, isVideo, isViewport3DWidget, isVirtualizedList, isWidgetType, onSelectionChange, openModal, popLine, prompt, promptStateMap, pushLine, questionStateMap, registerBuiltinWidgets, renderPanelTitleBar, renderTabBar, renderXAxisLabel, renderYAxisLabel, replaceLines, resetAccordionStore, resetAutocompleteStore, resetBarChartStore, resetBoxStore, resetButtonWidgetStore, resetCalendarStore, resetCanvasStore, resetCheckboxWidgetStore, resetCommandPaletteStore, resetDevToolsStore, resetFileManagerStore, resetFlexContainerStore, resetFormStore as resetFormWidgetStore, resetGaugeStore, resetGridStore, resetHoverTextStore, resetImageStore, resetLayoutStore, resetLineChartStore, resetLineStore, resetListbarStore, resetLoadingStore, resetLogStore, resetMessageStore, resetModalStore, resetMultiSelectStore, resetPanelStore, resetProgressBarStore as resetProgressBarWidgetStore, resetPromptStore, resetQuestionStore, resetRadioWidgetStore, resetScrollableBoxStore, resetSearchOverlayStore, resetSearchableListStore, resetSparklineStore, resetSplitPaneStore, resetStopwatchWidgetStore, resetSwitchStore, resetTabsStore, resetTerminalStore, resetTextStore, resetTimerWidgetStore, resetToastStore, resetTreeStore, resetVideoStore, scaleValue, scrollByLines, scrollToLine, sendPauseCommand, sendSeekCommand, setBaseLine, setBoxContent, setHoverText, setLine, setLineChar, setLines, setLoadingMessage, setPanelTitle, setPixel, setReadDirFn, setSearchableFilter, setTextContent, shiftLine, showError, showErrorToast, showInfo, showInfoToast, showLoading, showSuccess, showSuccessToast, showWarning, showWarningToast, spliceLines, stripAnsiSequences, toggleCollapsible, toggleSection, unshiftLine, updateLoadingAnimation, updateTimeWidgets, wrapLine };
|
|
15458
|
+
/**
|
|
15459
|
+
* VirtualizedList widget namespace.
|
|
15460
|
+
*
|
|
15461
|
+
* @example
|
|
15462
|
+
* ```typescript
|
|
15463
|
+
* import { virtualizedList } from 'blecsd/widgets';
|
|
15464
|
+
* const vl = virtualizedList.create(world, { items: [...] });
|
|
15465
|
+
* virtualizedList.handleKey(world, vl.eid, keyEvent);
|
|
15466
|
+
* virtualizedList.handleWheel(world, vl.eid, mouseEvent);
|
|
15467
|
+
* ```
|
|
15468
|
+
*/
|
|
15469
|
+
|
|
15470
|
+
declare const virtualizedList: Readonly<{
|
|
15471
|
+
create: typeof createVirtualizedList;
|
|
15472
|
+
is: typeof isVirtualizedList;
|
|
15473
|
+
handleKey: typeof handleVirtualizedListKey;
|
|
15474
|
+
handleWheel: typeof handleVirtualizedListWheel;
|
|
15475
|
+
}>;
|
|
15476
|
+
type VirtualizedListModule = typeof virtualizedList;
|
|
15477
|
+
|
|
15478
|
+
export { Accordion, type AccordionConfig, AccordionConfigSchema, type AccordionModule, type AccordionSection, type AccordionWidget, type Align$2 as Align, type AlignItems, Autocomplete, type AutocompleteConfig, AutocompleteConfigSchema, type AutocompleteModule, type AutocompleteWidget, BRAILLE_BASE, BRAILLE_DOTS, BarChart, type BarChartConfig, BarChartConfigSchema, type BarChartModule, type BarChartWidget, type BarMode, type BarOrientation, type BarSeries, type BigTextModule, BitmapFont, type BorderConfig$4 as BorderConfig, BorderConfigSchema, Box, type BoxConfig, BoxConfigSchema, type BoxModule, type BoxWidget, type ButtonWidget, ButtonWidgetComponent, type ButtonConfig as ButtonWidgetConfig, ButtonConfigSchema as ButtonWidgetConfigSchema, type ButtonWidgetModule, CHART_COLORS, CLOSE_BUTTON_CHAR, COLLAPSE_CHAR, Calendar, type CalendarConfig, CalendarConfigSchema, type CalendarModule, type CalendarTheme, type CalendarWidget, Canvas, type CanvasConfig, CanvasConfigSchema, type CanvasModule, type CanvasWidget, type CellSize, CharBitmap, type ChartUtilsModule, type CheckboxWidget, CheckboxWidgetComponent, type CheckboxConfig as CheckboxWidgetConfig, CheckboxConfigSchema as CheckboxWidgetConfigSchema, type CheckboxWidgetModule, type ChildLayoutData, type CollapsibleConfig, CollapsibleConfigSchema, type CollapsibleModule, type CollapsibleWidget, type Command, CommandPalette, type CommandPaletteConfig, CommandPaletteConfigSchema, type CommandPaletteModule, type CommandPaletteTheme, type CommandPaletteWidget, type ContentManipulationModule, type ContextMenuConfig, type ContextMenuItem, type ContextMenuModule, DEFAULT_CURSOR_OFFSET_X, DEFAULT_CURSOR_OFFSET_Y, DEFAULT_HIDE_DELAY, DEFAULT_HORIZONTAL_CHAR, DEFAULT_HOVER_DELAY, DEFAULT_LINE_LENGTH, DEFAULT_LOADING_BG, DEFAULT_LOADING_FG, DEFAULT_MESSAGE_PADDING, DEFAULT_MESSAGE_STYLES, DEFAULT_MESSAGE_TIMEOUT, DEFAULT_PANEL_TITLE, DEFAULT_PROMPT_BG, DEFAULT_PROMPT_FG, DEFAULT_PROMPT_HEIGHT, DEFAULT_PROMPT_WIDTH, DEFAULT_QUESTION_BG, DEFAULT_QUESTION_FG, DEFAULT_QUESTION_HEIGHT, DEFAULT_QUESTION_WIDTH, DEFAULT_TAB_POSITION, DEFAULT_TOAST_PADDING, DEFAULT_TOAST_STYLES, DEFAULT_TOAST_TIMEOUT, DEFAULT_TOOLTIP_BG, DEFAULT_TOOLTIP_BORDER, DEFAULT_TOOLTIP_FG, DEFAULT_VERTICAL_CHAR, DevTools, type DevToolsComponentInfo, type DevToolsConfig, DevToolsConfigSchema, type DevToolsModule, type DevToolsPosition, type DevToolsTab, type DevToolsTheme, type DevToolsWidget, type DimensionValue$7 as DimensionValue, type DirtyRect, type DividerState, EXPAND_CHAR, type EntityInfo, type EventLogEntry, type FileEntry, FileManager, type FileManagerBorderConfig, type FileManagerConfig, FileManagerConfigSchema, type FileManagerModule, type FileManagerPaddingConfig, type FileManagerWidget, type FlattenedNode, type AlignItems$1 as FlexAlignItems, type FlexChildOptions, FlexContainer, type FlexContainerConfig, FlexContainerConfigSchema, type FlexContainerWidget, type FlexDirection, type JustifyContent$1 as FlexJustifyContent, type FlexWrap, type FlexDirection$1 as FlexboxDirection, type FlexboxModule, FontName, FontNotFoundError, type FontsModule, Footer, type FooterAlign, type FooterConfig, FooterConfigSchema, type FooterModule, type FooterWidget, FormComponent, type FormField, type FormValidator, type FormWidget, type FormConfig as FormWidgetConfig, FormConfigSchema as FormWidgetConfigSchema, type FormWidgetModule, Gauge, type GaugeConfig, GaugeConfigSchema, type GaugeModule, type GaugeThreshold, type GaugeWidget, Grid, type GridCell, type GridConfig, GridConfigSchema, type GridModule, type GridWidget, HORIZONTAL_BLOCKS, Header, type HeaderAlign, type HeaderConfig, HeaderConfigSchema, type HeaderModule, type HeaderWidget, type HoverTextConfig, type HoverTextManager, type HoverTextManagerConfig, type HoverTextModule, type ImageModule, type JustifyContent, Layout, type LayoutConfig, LayoutConfigSchema, type LayoutMode, type LayoutPosition, type LayoutWidget, type LayoutWidgetModule, Line, LineChart, type LineChartConfig, LineChartConfigSchema, type LineChartModule, type LineChartWidget, type LineConfig, LineConfigSchema, type LineModule, type LineOrientation, type LineSeries, type LineWidget, type ListStyleConfig, type ListTableModule, type ListTableStyleConfig, type ListTableWidget, type ListTableWidgetConfig, ListTableWidgetConfigSchema, type ListWidget, type ListWidgetConfig, ListWidgetConfigSchema, type ListWidgetModule, type ListbarAction, type ListbarItem, type ListbarModule, type ListbarSelectCallback, type ListbarState, type ListbarStyleConfig, type ListbarWidget, type ListbarWidgetConfig, ListbarWidgetConfigSchema, type LoadingConfig, LoadingConfigSchema, type LoadingModule, type LoadingStyleConfig, LoadingStyleConfigSchema, type LoadingWidget, Log, type BorderConfig$3 as LogBorderConfig, type LogConfig, LogConfigSchema, type DimensionValue$5 as LogDimensionValue, type LogModule, type PaddingConfig$2 as LogPaddingConfig, type PositionValue$7 as LogPositionValue, type ScrollbarConfig$1 as LogScrollbarConfig, type ScrollbarMode$1 as LogScrollbarMode, type LogWidget, Message, type BorderConfig$2 as MessageBorderConfig, type MessageConfig, MessageConfigSchema, type MessageModule, type PositionValue$6 as MessagePositionValue, type MessageStyleConfig, type MessageType, type MessageWidget, Modal, type ModalBorderConfig, type ModalConfig, ModalConfigSchema, type ModalModule, type ModalPaddingConfig, type ModalWidget, MultiSelect, type MultiSelectConfig, MultiSelectConfigSchema, type MultiSelectItem, type MultiSelectModule, type MultiSelectWidget, type PaddingConfig$3 as PaddingConfig, type PaneScrollState, type PaneState, type PaneViewport, Panel, type PanelAction, type PanelBorderConfig, type PanelConfig, PanelConfigSchema, type PanelContentStyle, type PanelModule, type PanelStyleConfig, type PanelTitleStyle, type PanelWidget, type PositionValue$a as PositionValue, ProgressBarComponent, type ProgressBarWidget, type ProgressBarConfig as ProgressBarWidgetConfig, ProgressBarConfigSchema as ProgressBarWidgetConfigSchema, type ProgressBarWidgetModule, Prompt, type PromptBorderConfig, PromptBorderConfigSchema, type PromptConfig, PromptConfigSchema, type PromptPaddingConfig, PromptPaddingConfigSchema, type PromptValidator, type PromptWidget, type PromptWidgetModule, type PtyOptions, PtyOptionsSchema, Question, type QuestionBorderConfig, type QuestionConfig, QuestionConfigSchema, type QuestionModule, type QuestionPaddingConfig, type QuestionWidget, type RadioButtonWidget, RadioButtonWidgetComponent, type RadioButtonConfig as RadioButtonWidgetConfig, RadioButtonConfigSchema as RadioButtonWidgetConfigSchema, type RadioGroupWidget, RadioGroupWidgetComponent, type RadioGroupConfig as RadioGroupWidgetConfig, RadioGroupConfigSchema as RadioGroupWidgetConfigSchema, type RadioWidgetModule, type RegistryModule, RenderCharOptions, ScrollableBox, type ScrollableBoxConfig, ScrollableBoxConfigSchema, type ScrollableBoxModule, type ScrollableBoxWidget, type ScrollableTextConfig, type ScrollableTextModule, type ScrollableTextWidget, type ScrollbarConfig, type ScrollbarMode, type SearchMode, SearchOverlay, type SearchOverlayConfig, SearchOverlayConfigSchema, type SearchOverlayMatch, type SearchOverlayMatchCallback, type SearchOverlayModule, type SearchOverlayWidget, type SearchableContent, SearchableList, type SearchableListCallback, type SearchableListConfig, SearchableListConfigSchema, type SearchableListItem, type SearchableListModule, type SearchableListWidget, type SelectionChangeCallback, type SharedTextBuffer, Sparkline, type SparklineConfig, SparklineConfigSchema, type SparklineModule, type SparklineWidget, type SplitDirection, SplitPane, type SplitPaneConfig, SplitPaneConfigSchema, type DimensionValue$2 as SplitPaneDimensionValue, type SplitPaneModule, type PositionValue$3 as SplitPanePositionValue, type SplitPaneWidget, type SplitResizeEvent, StopwatchComponent, type StopwatchConfig, StopwatchConfigSchema, type StopwatchState, type StopwatchWidget, type StreamDirtyRegion, type StreamProgress, type StreamingTextConfig, StreamingTextConfigSchema, type StreamingTextModule, type StreamingTextState, type StreamingTextWidget, Switch, type SwitchConfig, SwitchConfigSchema, type SwitchWidget, type SwitchWidgetModule, type SystemInfo, TAB_CLOSE_CHAR, TAB_SEPARATOR, TOAST_STACK_SPACING, type TabConfig, type TabData, type TabPosition, type TabStyleConfig, type TableStyleConfig, type TableWidget, type TableWidgetConfig, TableWidgetConfigSchema, type TableWidgetModule, Tabs, type TabsAction, type TabsBorderConfig, type TabsConfig, TabsConfigSchema, type ContentStyleConfig as TabsContentStyleConfig, type TabsModule, type TabsStyleConfig, type TabsWidget, Terminal, type BorderConfig as TerminalBorderConfig, type TerminalConfig, TerminalConfigSchema, type TerminalStyle, type TerminalWidget, type TerminalWidgetModule, Text, type TextConfig, TextConfigSchema, type TextModule, type TextWidget, type TimeFormat, TimerComponent, type TimerConfig, TimerConfigSchema, type TimerState, type TimerWidget, type TimerWidgetModule, type TitleAlign, Toast, type ToastBorderConfig, type ToastConfig, ToastConfigSchema, type ToastModule, type ToastPosition, type ToastStyleConfig, type ToastType, type ToastWidget, type TooltipPosition, type TooltipRenderData, type TooltipState, type TooltipStyle, type TreeModule, type TreeNode, type TreeStyleConfig, type TreeWidget, type TreeWidgetConfig, TreeWidgetConfigSchema, type VAlign$2 as VAlign, VERTICAL_BLOCKS, type VirtualizedList, type VirtualizedListConfig, VirtualizedListConfigSchema, type VirtualizedListModule, type VirtualizedListStyle, VirtualizedListStyleSchema, type WidgetFactory, type WidgetRegistration, type WidgetRegistry, accordion, addFlexChild, addToGrid, appendToState, ask, attachSearchOverlay, autocomplete, barChart, bigText, box, brailleChar, brailleFillPattern, buttonWidget, calculateFlexLayout, calculateGridLayout, calculateInlineLayout, calculateTickInterval, calendar, canvas, chartUtils, checkboxWidget, clearAllHoverText, clearCanvas, clearHoverText, clearLines, clearState, closeAllModals, closeModal, collapseAllSections, collapsible, combineBrailleDots, commandPalette, confirm, contentGetLine, contentGetLineCount, contentManipulation, contextMenu, createAccordion, createAutocomplete, createBarChart, createBigText, createBox, createButton, createCalendar, createCanvas, createCheckbox, createCollapsible, createCommandPalette, createContextMenu, createDevTools, createFileManager, createFlexContainer, createFooter, createForm, createGauge, createGrid, createHeader, createHoverTextManager, createLayout, createLine, createLineChart, createList, createListTable, createListbar, createLoading, createLog, createMessage, createModal, createMultiSelect, createPanel, createProgressBar, createPrompt, createQuestion, createRadioButton, createRadioGroup, createScrollableBox, createScrollableText, createSearchOverlay, createSearchableList, createSharedTextBuffer, createSparkline, createSplitPane, createStopwatch, createStreamingState, createStreamingText, createSwitch, createTable, createTabs, createTerminal, createText, createTimer, createToast, createTree, createVirtualizedList, createWidgetRegistry, defaultRegistry, deleteBottom, deleteLine, deleteTop, devTools, drawCircle, drawLine, drawRect, drawText, expandAllSections, expandSection, fileManager, fileManagerStateMap, flexbox, fonts, footer, formWidget, formatNumber, formatPercentage, gauge, generateTicks, getActiveTabIndex, getBaseLine, getBoxContent, getCanvasContent, getChartColor, getContextMenuSelectedIndex, getDividerRenderInfo, getExpandedSections, getHoverText, getHoverTextCount, getLayoutMode, getLineChar, getLineOrientation, getLines, getModalStack, getPanelTitle, getPanelTitleAlign, getScrollback, getSearchOverlayColors, getSearchOverlayTarget, getSearchableFilteredItems, getSelectedItems, getSharedTextBuffer, getSplitDirection, getStreamVisibleLines, getTabCount, getTabPosition, getTextContent, getWidgetTypes, getWidgetsByTag, grid, handleContextMenuKey, handleFileManagerKey, handleMessageClick, handleMessageKey, handleModalBackdropClick, handleModalEscape, handlePromptKey, handleQuestionKey, handleSwitchClick, handleSwitchKey, handleTerminalKey, handleVirtualizedListKey, handleVirtualizedListWheel, hasHoverText, header, hideLoading, hitTestDivider, hoverText, image, insertBottom, insertLine, insertTop, interpolateChartColor, isAccordion, isAutocomplete, isBarChart, isBigText, isBox, isButtonWidget, isCalendar, isCanvas, isCheckboxWidget, isCollapsible, isCommandPalette, isDevTools, isDismissOnClick, isDismissOnKey, isFileManager, isFlexContainer, isForm as isFormWidget, isGauge, isGrid, isKeysScrollEnabled, isLayout, isLine, isLineChart, isListTableWidget, isListWidget, isListbarWidget, isLoadingWidget, isLog, isKeysScrollEnabled$1 as isLogKeysScrollEnabled, isMouseScrollEnabled$1 as isLogMouseScrollEnabled, isMessage, isModal, isModalOpen, isMouseScrollEnabled, isMultiSelect, isPanel, isPanelCollapsed, isProgressBar as isProgressBarWidget, isPrompt, isQuestion, isRadioButtonWidget, isRadioGroupWidget, isScrollableBox, isScrollableBox as isScrollableText, isSearchOverlay, isSearchableList, isSparkline, isSplitPane, isStopwatch, isSwitch, isTableWidget, isTabs, isTerminal, isTerminalKeysEnabled, isTerminalMouseEnabled, isText, isTimer, isToast, isTreeWidget, isVirtualizedList, isWidgetType, layoutWidget, line, lineChart, listTable, listWidget, listbar, loading, log, message, modal, multiSelect, onSelectionChange, openModal, panel, popLine, progressBarWidget, prompt, promptStateMap, promptWidget, pushLine, question, questionStateMap, radioWidget, registerBuiltinWidgets, registry, renderBrailleBar, renderBrailleGradientBar, renderPanelTitleBar, renderTabBar, renderXAxisLabel, renderYAxisLabel, replaceLines, resetAccordionStore, resetAutocompleteStore, resetBarChartStore, resetBigTextStore, resetBoxStore, resetButtonWidgetStore, resetCalendarStore, resetCanvasStore, resetCheckboxWidgetStore, resetCommandPaletteStore, resetDevToolsStore, resetFileManagerStore, resetFlexContainerStore, resetFormStore as resetFormWidgetStore, resetGaugeStore, resetGridStore, resetHoverTextStore, resetLayoutStore, resetLineChartStore, resetLineStore, resetListbarStore, resetLoadingStore, resetLogStore, resetMessageStore, resetModalStore, resetMultiSelectStore, resetPanelStore, resetProgressBarStore as resetProgressBarWidgetStore, resetPromptStore, resetQuestionStore, resetRadioWidgetStore, resetScrollableBoxStore, resetSearchOverlayStore, resetSearchableListStore, resetSparklineStore, resetSplitPaneStore, resetStopwatchWidgetStore, resetSwitchStore, resetTabsStore, resetTerminalStore, resetTextStore, resetTimerWidgetStore, resetToastStore, resetTreeStore, scaleValue, scrollToLine, scrollableBox, scrollableText, searchOverlay, searchableList, setBaseLine, setBigText, setBoxContent, setHoverText, setLine, setLineChar, setLines, setLoadingMessage, setPanelTitle, setPixel, setReadDirFn, setSearchableFilter, setTextContent, shiftLine, showError, showErrorToast, showInfo, showInfoToast, showLoading, showSuccess, showSuccessToast, showWarning, showWarningToast, sparkline, spliceLines, splitPane, streamingScrollByLines, streamingText, stripAnsiSequences, switchWidget, tableWidget, tabs, terminalWidget, text, timerWidget, toast, toggleCollapsible, toggleSection, tree, unshiftLine, updateLoadingAnimation, updateTimeWidgets, virtualizedList, wrapLine };
|