@effect-tui/core 0.1.1 → 0.1.5
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 +31 -11
- package/dist/ansi.d.ts +127 -32
- package/dist/ansi.d.ts.map +1 -1
- package/dist/ansi.js +159 -37
- package/dist/ansi.js.map +1 -1
- package/dist/colors.d.ts +139 -0
- package/dist/colors.d.ts.map +1 -0
- package/dist/colors.js +339 -0
- package/dist/colors.js.map +1 -0
- package/dist/index.d.ts +6 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -11
- package/dist/index.js.map +1 -1
- package/dist/keys.d.ts +21 -0
- package/dist/keys.d.ts.map +1 -1
- package/dist/keys.js +199 -58
- package/dist/keys.js.map +1 -1
- package/dist/layout/axis-helpers.d.ts +19 -0
- package/dist/layout/axis-helpers.d.ts.map +1 -0
- package/dist/layout/axis-helpers.js +19 -0
- package/dist/layout/axis-helpers.js.map +1 -0
- package/dist/output.d.ts +59 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +142 -0
- package/dist/output.js.map +1 -0
- package/dist/render/buffer.d.ts.map +1 -1
- package/dist/render/buffer.js +6 -25
- package/dist/render/buffer.js.map +1 -1
- package/dist/render/graphemes.d.ts +15 -0
- package/dist/render/graphemes.d.ts.map +1 -0
- package/dist/render/graphemes.js +28 -0
- package/dist/render/graphemes.js.map +1 -0
- package/dist/render/measure.d.ts +1 -0
- package/dist/render/measure.d.ts.map +1 -1
- package/dist/render/measure.js +14 -36
- package/dist/render/measure.js.map +1 -1
- package/dist/render/palette.d.ts.map +1 -1
- package/dist/render/palette.js +26 -1
- package/dist/render/palette.js.map +1 -1
- package/dist/render/segmenter.d.ts +8 -0
- package/dist/render/segmenter.d.ts.map +1 -0
- package/dist/render/segmenter.js +23 -0
- package/dist/render/segmenter.js.map +1 -0
- package/dist/render/surface.d.ts +6 -32
- package/dist/render/surface.d.ts.map +1 -1
- package/dist/render/surface.js +11 -80
- package/dist/render/surface.js.map +1 -1
- package/dist/runtime/backend_node.d.ts.map +1 -1
- package/dist/runtime/backend_node.js.map +1 -1
- package/dist/tailwind-colors.d.ts +291 -0
- package/dist/tailwind-colors.d.ts.map +1 -0
- package/dist/tailwind-colors.js +291 -0
- package/dist/tailwind-colors.js.map +1 -0
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +55 -55
- package/src/ansi.ts +201 -73
- package/src/colors.ts +468 -0
- package/src/index.ts +28 -14
- package/src/keys.ts +467 -287
- package/src/layout/axis-helpers.ts +33 -0
- package/src/output.ts +175 -0
- package/src/render/buffer.ts +161 -184
- package/src/render/graphemes.ts +34 -0
- package/src/render/measure.ts +15 -38
- package/src/render/palette.ts +98 -77
- package/src/render/segmenter.ts +27 -0
- package/src/render/surface.ts +139 -225
- package/src/runtime/backend_node.ts +71 -71
- package/src/tailwind-colors.ts +295 -0
- package/src/types.ts +18 -0
- package/dist/anim.d.ts +0 -4
- package/dist/anim.d.ts.map +0 -1
- package/dist/anim.js +0 -5
- package/dist/anim.js.map +0 -1
- package/dist/layout/linearStack.d.ts +0 -17
- package/dist/layout/linearStack.d.ts.map +0 -1
- package/dist/layout/linearStack.js +0 -86
- package/dist/layout/linearStack.js.map +0 -1
- package/dist/motion-value.d.ts +0 -58
- package/dist/motion-value.d.ts.map +0 -1
- package/dist/motion-value.js +0 -250
- package/dist/motion-value.js.map +0 -1
- package/dist/present/display.d.ts +0 -58
- package/dist/present/display.d.ts.map +0 -1
- package/dist/present/display.js +0 -168
- package/dist/present/display.js.map +0 -1
- package/dist/present/writers/fullscreen.d.ts +0 -19
- package/dist/present/writers/fullscreen.d.ts.map +0 -1
- package/dist/present/writers/fullscreen.js +0 -55
- package/dist/present/writers/fullscreen.js.map +0 -1
- package/dist/present/writers/inline.d.ts +0 -20
- package/dist/present/writers/inline.d.ts.map +0 -1
- package/dist/present/writers/inline.js +0 -92
- package/dist/present/writers/inline.js.map +0 -1
- package/dist/render/color-utils.d.ts +0 -18
- package/dist/render/color-utils.d.ts.map +0 -1
- package/dist/render/color-utils.js +0 -58
- package/dist/render/color-utils.js.map +0 -1
- package/dist/render/diff.d.ts +0 -30
- package/dist/render/diff.d.ts.map +0 -1
- package/dist/render/diff.js +0 -83
- package/dist/render/diff.js.map +0 -1
- package/dist/spring-physics.d.ts +0 -36
- package/dist/spring-physics.d.ts.map +0 -1
- package/dist/spring-physics.js +0 -113
- package/dist/spring-physics.js.map +0 -1
- package/dist/spring.d.ts +0 -73
- package/dist/spring.d.ts.map +0 -1
- package/dist/spring.js +0 -136
- package/dist/spring.js.map +0 -1
- package/dist/ui/containers/canvas.d.ts +0 -13
- package/dist/ui/containers/canvas.d.ts.map +0 -1
- package/dist/ui/containers/canvas.js +0 -16
- package/dist/ui/containers/canvas.js.map +0 -1
- package/dist/ui/containers/geometry-reader.d.ts +0 -17
- package/dist/ui/containers/geometry-reader.d.ts.map +0 -1
- package/dist/ui/containers/geometry-reader.js +0 -24
- package/dist/ui/containers/geometry-reader.js.map +0 -1
- package/dist/ui/containers/hstack.d.ts +0 -12
- package/dist/ui/containers/hstack.d.ts.map +0 -1
- package/dist/ui/containers/hstack.js +0 -28
- package/dist/ui/containers/hstack.js.map +0 -1
- package/dist/ui/containers/scroll.d.ts +0 -28
- package/dist/ui/containers/scroll.d.ts.map +0 -1
- package/dist/ui/containers/scroll.js +0 -97
- package/dist/ui/containers/scroll.js.map +0 -1
- package/dist/ui/containers/shared.d.ts +0 -12
- package/dist/ui/containers/shared.d.ts.map +0 -1
- package/dist/ui/containers/shared.js +0 -19
- package/dist/ui/containers/shared.js.map +0 -1
- package/dist/ui/containers/vstack.d.ts +0 -12
- package/dist/ui/containers/vstack.d.ts.map +0 -1
- package/dist/ui/containers/vstack.js +0 -28
- package/dist/ui/containers/vstack.js.map +0 -1
- package/dist/ui/containers/zstack.d.ts +0 -14
- package/dist/ui/containers/zstack.d.ts.map +0 -1
- package/dist/ui/containers/zstack.js +0 -36
- package/dist/ui/containers/zstack.js.map +0 -1
- package/dist/ui/core/geometry-store.d.ts +0 -22
- package/dist/ui/core/geometry-store.d.ts.map +0 -1
- package/dist/ui/core/geometry-store.js +0 -29
- package/dist/ui/core/geometry-store.js.map +0 -1
- package/dist/ui/core/geometry.d.ts +0 -34
- package/dist/ui/core/geometry.d.ts.map +0 -1
- package/dist/ui/core/geometry.js +0 -14
- package/dist/ui/core/geometry.js.map +0 -1
- package/dist/ui/core/view.d.ts +0 -25
- package/dist/ui/core/view.d.ts.map +0 -1
- package/dist/ui/core/view.js +0 -34
- package/dist/ui/core/view.js.map +0 -1
- package/dist/ui/index.d.ts +0 -44
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js +0 -39
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/inlinetext.d.ts +0 -24
- package/dist/ui/inlinetext.d.ts.map +0 -1
- package/dist/ui/inlinetext.js +0 -131
- package/dist/ui/inlinetext.js.map +0 -1
- package/dist/ui/install.d.ts +0 -22
- package/dist/ui/install.d.ts.map +0 -1
- package/dist/ui/install.js +0 -66
- package/dist/ui/install.js.map +0 -1
- package/dist/ui/markdown.d.ts +0 -40
- package/dist/ui/markdown.d.ts.map +0 -1
- package/dist/ui/markdown.js +0 -351
- package/dist/ui/markdown.js.map +0 -1
- package/dist/ui/modifiers/border.d.ts +0 -33
- package/dist/ui/modifiers/border.d.ts.map +0 -1
- package/dist/ui/modifiers/border.js +0 -82
- package/dist/ui/modifiers/border.js.map +0 -1
- package/dist/ui/modifiers/fill.d.ts +0 -14
- package/dist/ui/modifiers/fill.d.ts.map +0 -1
- package/dist/ui/modifiers/fill.js +0 -25
- package/dist/ui/modifiers/fill.js.map +0 -1
- package/dist/ui/modifiers/frame.d.ts +0 -23
- package/dist/ui/modifiers/frame.d.ts.map +0 -1
- package/dist/ui/modifiers/frame.js +0 -54
- package/dist/ui/modifiers/frame.js.map +0 -1
- package/dist/ui/modifiers/offset.d.ts +0 -15
- package/dist/ui/modifiers/offset.d.ts.map +0 -1
- package/dist/ui/modifiers/offset.js +0 -21
- package/dist/ui/modifiers/offset.js.map +0 -1
- package/dist/ui/modifiers/opacity.d.ts +0 -15
- package/dist/ui/modifiers/opacity.d.ts.map +0 -1
- package/dist/ui/modifiers/opacity.js +0 -95
- package/dist/ui/modifiers/opacity.js.map +0 -1
- package/dist/ui/modifiers/padding.d.ts +0 -20
- package/dist/ui/modifiers/padding.d.ts.map +0 -1
- package/dist/ui/modifiers/padding.js +0 -36
- package/dist/ui/modifiers/padding.js.map +0 -1
- package/dist/ui/modifiers/styled.d.ts +0 -14
- package/dist/ui/modifiers/styled.d.ts.map +0 -1
- package/dist/ui/modifiers/styled.js +0 -26
- package/dist/ui/modifiers/styled.js.map +0 -1
- package/dist/ui/primitives/rectangle.d.ts +0 -15
- package/dist/ui/primitives/rectangle.d.ts.map +0 -1
- package/dist/ui/primitives/rectangle.js +0 -23
- package/dist/ui/primitives/rectangle.js.map +0 -1
- package/dist/ui/primitives/spacer.d.ts +0 -13
- package/dist/ui/primitives/spacer.d.ts.map +0 -1
- package/dist/ui/primitives/spacer.js +0 -16
- package/dist/ui/primitives/spacer.js.map +0 -1
- package/dist/ui/primitives/text.d.ts +0 -15
- package/dist/ui/primitives/text.d.ts.map +0 -1
- package/dist/ui/primitives/text.js +0 -79
- package/dist/ui/primitives/text.js.map +0 -1
- package/dist/ui/primitives/wrapped-text.d.ts +0 -30
- package/dist/ui/primitives/wrapped-text.d.ts.map +0 -1
- package/dist/ui/primitives/wrapped-text.js +0 -117
- package/dist/ui/primitives/wrapped-text.js.map +0 -1
- package/dist/ui/shinytext.d.ts +0 -66
- package/dist/ui/shinytext.d.ts.map +0 -1
- package/dist/ui/shinytext.js +0 -99
- package/dist/ui/shinytext.js.map +0 -1
- package/dist/ui/text/layout.d.ts +0 -35
- package/dist/ui/text/layout.d.ts.map +0 -1
- package/dist/ui/text/layout.js +0 -102
- package/dist/ui/text/layout.js.map +0 -1
- package/dist/ui/textinput.d.ts +0 -140
- package/dist/ui/textinput.d.ts.map +0 -1
- package/dist/ui/textinput.js +0 -402
- package/dist/ui/textinput.js.map +0 -1
- package/dist/ui/view-constructors.d.ts +0 -72
- package/dist/ui/view-constructors.d.ts.map +0 -1
- package/dist/ui/view-constructors.js +0 -74
- package/dist/ui/view-constructors.js.map +0 -1
- package/src/anim.ts +0 -5
- package/src/layout/linearStack.ts +0 -115
- package/src/motion-value.ts +0 -335
- package/src/present/display.ts +0 -206
- package/src/present/writers/fullscreen.ts +0 -58
- package/src/present/writers/inline.ts +0 -101
- package/src/render/color-utils.ts +0 -60
- package/src/render/diff.ts +0 -95
- package/src/spring-physics.ts +0 -151
- package/src/spring.ts +0 -234
- package/src/ui/__snapshots__/wrappedtext.test.ts.snap +0 -57
- package/src/ui/containers/canvas.ts +0 -18
- package/src/ui/containers/geometry-reader.ts +0 -32
- package/src/ui/containers/hstack.ts +0 -33
- package/src/ui/containers/scroll.ts +0 -106
- package/src/ui/containers/shared.ts +0 -27
- package/src/ui/containers/vstack.ts +0 -34
- package/src/ui/containers/zstack.ts +0 -37
- package/src/ui/core/geometry-store.ts +0 -42
- package/src/ui/core/geometry.ts +0 -30
- package/src/ui/core/view.ts +0 -49
- package/src/ui/index.ts +0 -84
- package/src/ui/inlinetext.ts +0 -135
- package/src/ui/install.ts +0 -110
- package/src/ui/markdown.test.ts +0 -74
- package/src/ui/markdown.ts +0 -388
- package/src/ui/modifiers/border.ts +0 -100
- package/src/ui/modifiers/fill.ts +0 -28
- package/src/ui/modifiers/frame.ts +0 -74
- package/src/ui/modifiers/offset.ts +0 -23
- package/src/ui/modifiers/opacity.ts +0 -93
- package/src/ui/modifiers/padding.ts +0 -53
- package/src/ui/modifiers/styled.ts +0 -31
- package/src/ui/primitives/rectangle.ts +0 -25
- package/src/ui/primitives/spacer.ts +0 -18
- package/src/ui/primitives/text.ts +0 -85
- package/src/ui/primitives/wrapped-text.ts +0 -131
- package/src/ui/shinytext.ts +0 -159
- package/src/ui/text/layout.ts +0 -119
- package/src/ui/textinput.ts +0 -496
- package/src/ui/view-constructors.ts +0 -96
- package/src/ui/wrappedtext.test.ts +0 -138
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/* geometry-store.ts — last-known layout/geometry store keyed by ViewId */
|
|
2
|
-
class GeometryStoreImpl {
|
|
3
|
-
frameNo = 0;
|
|
4
|
-
rects = new Map();
|
|
5
|
-
inputs = new Map();
|
|
6
|
-
beginFrame(frameNo) {
|
|
7
|
-
// Clear for the new render pass; consumers will read after endFrame
|
|
8
|
-
this.frameNo = frameNo ?? this.frameNo + 1;
|
|
9
|
-
this.rects.clear();
|
|
10
|
-
this.inputs.clear();
|
|
11
|
-
}
|
|
12
|
-
endFrame() {
|
|
13
|
-
// no-op for now; snapshot already in maps
|
|
14
|
-
}
|
|
15
|
-
setRect(id, rect) {
|
|
16
|
-
this.rects.set(id, rect);
|
|
17
|
-
}
|
|
18
|
-
setInputGeom(id, g) {
|
|
19
|
-
this.inputs.set(id, g);
|
|
20
|
-
}
|
|
21
|
-
getRect(id) {
|
|
22
|
-
return this.rects.get(id);
|
|
23
|
-
}
|
|
24
|
-
getInputGeom(id) {
|
|
25
|
-
return this.inputs.get(id);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
export const geometryStore = new GeometryStoreImpl();
|
|
29
|
-
//# sourceMappingURL=geometry-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"geometry-store.js","sourceRoot":"","sources":["../../../src/ui/core/geometry-store.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAQ1E,MAAM,iBAAiB;IACb,OAAO,GAAG,CAAC,CAAA;IACX,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAA;IAC/B,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAA;IAE7C,UAAU,CAAC,OAAgB;QACzB,oEAAoE;QACpE,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAClB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;IAED,QAAQ;QACN,0CAA0C;IAC5C,CAAC;IAED,OAAO,CAAC,EAAU,EAAE,IAAU;QAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,CAAY;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC3B,CAAC;IAED,YAAY,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,iBAAiB,EAAE,CAAA"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export type Rect = {
|
|
2
|
-
x: number;
|
|
3
|
-
y: number;
|
|
4
|
-
w: number;
|
|
5
|
-
h: number;
|
|
6
|
-
};
|
|
7
|
-
export type HAlign = "leading" | "center" | "trailing";
|
|
8
|
-
export type VAlign = "top" | "center" | "bottom";
|
|
9
|
-
export type Align2D = {
|
|
10
|
-
h: HAlign;
|
|
11
|
-
v: VAlign;
|
|
12
|
-
};
|
|
13
|
-
export declare const Align: {
|
|
14
|
-
leading: HAlign;
|
|
15
|
-
center: HAlign;
|
|
16
|
-
trailing: HAlign;
|
|
17
|
-
top: VAlign;
|
|
18
|
-
bottom: VAlign;
|
|
19
|
-
topLeading: Align2D;
|
|
20
|
-
topTrailing: Align2D;
|
|
21
|
-
bottomLeading: Align2D;
|
|
22
|
-
bottomTrailing: Align2D;
|
|
23
|
-
center2D: Align2D;
|
|
24
|
-
};
|
|
25
|
-
export type FrameSpec = {
|
|
26
|
-
width?: number;
|
|
27
|
-
height?: number;
|
|
28
|
-
minWidth?: number;
|
|
29
|
-
maxWidth?: number;
|
|
30
|
-
minHeight?: number;
|
|
31
|
-
maxHeight?: number;
|
|
32
|
-
alignment?: Align2D;
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=geometry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../../src/ui/core/geometry.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,IAAI,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjE,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAA;AACtD,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAChD,MAAM,MAAM,OAAO,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE9C,eAAO,MAAM,KAAK;aACM,MAAM;YACR,MAAM;cACF,MAAM;SAChB,MAAM;YACA,MAAM;gBACgB,OAAO;iBACL,OAAO;mBACH,OAAO;oBACL,OAAO;cACf,OAAO;CAClD,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA"}
|
package/dist/ui/core/geometry.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// Basic geometry types and alignments
|
|
2
|
-
export const Align = {
|
|
3
|
-
leading: "leading",
|
|
4
|
-
center: "center",
|
|
5
|
-
trailing: "trailing",
|
|
6
|
-
top: "top",
|
|
7
|
-
bottom: "bottom",
|
|
8
|
-
topLeading: { h: "leading", v: "top" },
|
|
9
|
-
topTrailing: { h: "trailing", v: "top" },
|
|
10
|
-
bottomLeading: { h: "leading", v: "bottom" },
|
|
11
|
-
bottomTrailing: { h: "trailing", v: "bottom" },
|
|
12
|
-
center2D: { h: "center", v: "center" },
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=geometry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../../src/ui/core/geometry.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAQtC,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,OAAO,EAAE,SAAmB;IAC5B,MAAM,EAAE,QAAkB;IAC1B,QAAQ,EAAE,UAAoB;IAC9B,GAAG,EAAE,KAAe;IACpB,MAAM,EAAE,QAAkB;IAC1B,UAAU,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAa;IACjD,WAAW,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAa;IACnD,aAAa,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAa;IACvD,cAAc,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAa;IACzD,QAAQ,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAa;CAClD,CAAA"}
|
package/dist/ui/core/view.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { Palette, Surface } from "../../render/surface.js";
|
|
2
|
-
import type { Rect } from "./geometry.js";
|
|
3
|
-
export interface View {
|
|
4
|
-
measure(maxW: number, maxH: number): {
|
|
5
|
-
w: number;
|
|
6
|
-
h: number;
|
|
7
|
-
};
|
|
8
|
-
render(s: Surface, pal: Palette, rect: Rect): void;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Abstract base class providing a minimal View foundation.
|
|
12
|
-
* Subclasses implement measureContent/renderContent for their specific behavior.
|
|
13
|
-
* All styling, padding, and frame logic has been moved to modifier classes.
|
|
14
|
-
*/
|
|
15
|
-
export declare abstract class View implements View {
|
|
16
|
-
protected _id?: string;
|
|
17
|
-
/** Attach a stable id to this view for geometry tracking. */
|
|
18
|
-
id(id: string): View;
|
|
19
|
-
protected abstract measureContent(maxW: number, maxH: number): {
|
|
20
|
-
w: number;
|
|
21
|
-
h: number;
|
|
22
|
-
};
|
|
23
|
-
protected abstract renderContent(s: Surface, pal: Palette, rect: Rect): void;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=view.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/ui/core/view.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAGzC,MAAM,WAAW,IAAI;IACnB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7D,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CACnD;AAED;;;;GAIG;AACH,8BAAsB,IAAK,YAAW,IAAI;IACxC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IAEtB,6DAA6D;IAC7D,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAsBpB,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IACvF,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;CAC7E"}
|
package/dist/ui/core/view.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/* view.ts — Core View class (renamed from CoreViewBase)
|
|
2
|
-
*
|
|
3
|
-
* This module defines the fundamental UI View class with minimal base functionality.
|
|
4
|
-
* It has NO imports of concrete modifiers to avoid circular dependencies.
|
|
5
|
-
*/
|
|
6
|
-
import { geometryStore } from "./geometry-store.js";
|
|
7
|
-
/**
|
|
8
|
-
* Abstract base class providing a minimal View foundation.
|
|
9
|
-
* Subclasses implement measureContent/renderContent for their specific behavior.
|
|
10
|
-
* All styling, padding, and frame logic has been moved to modifier classes.
|
|
11
|
-
*/
|
|
12
|
-
export class View {
|
|
13
|
-
_id;
|
|
14
|
-
/** Attach a stable id to this view for geometry tracking. */
|
|
15
|
-
id(id) {
|
|
16
|
-
const c = Object.create(Object.getPrototypeOf(this));
|
|
17
|
-
// copy own fields
|
|
18
|
-
for (const k of Object.keys(this))
|
|
19
|
-
c[k] = this[k];
|
|
20
|
-
c._id = id;
|
|
21
|
-
return c;
|
|
22
|
-
}
|
|
23
|
-
measure(maxW, maxH) {
|
|
24
|
-
return this.measureContent(maxW, maxH);
|
|
25
|
-
}
|
|
26
|
-
render(s, pal, rect) {
|
|
27
|
-
// Record geometry if id is present
|
|
28
|
-
if (this._id) {
|
|
29
|
-
geometryStore.setRect(this._id, rect);
|
|
30
|
-
}
|
|
31
|
-
this.renderContent(s, pal, rect);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=view.js.map
|
package/dist/ui/core/view.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/ui/core/view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAOnD;;;;GAIG;AACH,MAAM,OAAgB,IAAI;IACd,GAAG,CAAS;IAEtB,6DAA6D;IAC7D,EAAE,CAAC,EAAU;QACX,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAS,CAAA;QAC5D,kBAAkB;QAClB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAsB;YAAG,CAAS,CAAC,CAAC,CAAC,GAAI,IAAY,CAAC,CAAC,CAAC,CAAA;QACxF,CAAC,CAAC,GAAG,GAAG,EAAE,CAAA;QACV,OAAO,CAAC,CAAA;IACV,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,IAAY;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,CAAU,EAAE,GAAY,EAAE,IAAU;QACzC,mCAAmC;QACnC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC;CAKF"}
|
package/dist/ui/index.d.ts
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import "./install.js";
|
|
2
|
-
export * from "./core/geometry.js";
|
|
3
|
-
export * from "./primitives/text.js";
|
|
4
|
-
export * from "./primitives/rectangle.js";
|
|
5
|
-
export * from "./primitives/spacer.js";
|
|
6
|
-
export * from "./primitives/wrapped-text.js";
|
|
7
|
-
export * from "./containers/hstack.js";
|
|
8
|
-
export * from "./containers/vstack.js";
|
|
9
|
-
export * from "./containers/zstack.js";
|
|
10
|
-
export * from "./containers/scroll.js";
|
|
11
|
-
export * from "./containers/canvas.js";
|
|
12
|
-
export * from "./containers/geometry-reader.js";
|
|
13
|
-
export * from "./modifiers/border.js";
|
|
14
|
-
export * from "./modifiers/offset.js";
|
|
15
|
-
export * from "./modifiers/fill.js";
|
|
16
|
-
export * from "./modifiers/padding.js";
|
|
17
|
-
export { Frame, type FrameSpec as ModifierFrameSpec } from "./modifiers/frame.js";
|
|
18
|
-
export * from "./modifiers/styled.js";
|
|
19
|
-
export { ShinyText } from "./shinytext.js";
|
|
20
|
-
export { TextInput, TextInputState, editTextInput, type TextInputStateLike, type TextInputStatePlain, type TextInputGeom, type TextInputOptions, } from "./textinput.js";
|
|
21
|
-
export { Markdown, type MarkdownOptions } from "./markdown.js";
|
|
22
|
-
import { View as ViewClass } from "./core/view.js";
|
|
23
|
-
import { ViewConstructors } from "./view-constructors.js";
|
|
24
|
-
declare module "./core/view.js" {
|
|
25
|
-
namespace View {
|
|
26
|
-
const text: typeof ViewConstructors.text;
|
|
27
|
-
const wrappedText: typeof ViewConstructors.wrappedText;
|
|
28
|
-
const rect: typeof ViewConstructors.rect;
|
|
29
|
-
const spacer: typeof ViewConstructors.spacer;
|
|
30
|
-
const hstack: typeof ViewConstructors.hstack;
|
|
31
|
-
const vstack: typeof ViewConstructors.vstack;
|
|
32
|
-
const zstack: typeof ViewConstructors.zstack;
|
|
33
|
-
const scroll: typeof ViewConstructors.scroll;
|
|
34
|
-
const canvas: typeof ViewConstructors.canvas;
|
|
35
|
-
const geometryReader: typeof ViewConstructors.geometryReader;
|
|
36
|
-
const overlay: typeof ViewConstructors.overlay;
|
|
37
|
-
const textInput: typeof ViewConstructors.textInput;
|
|
38
|
-
const markdown: typeof ViewConstructors.markdown;
|
|
39
|
-
const Colors: typeof ViewConstructors.Colors;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
declare const View: typeof ViewClass & typeof ViewConstructors;
|
|
43
|
-
export { View };
|
|
44
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/ui/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAA;AAGrB,cAAc,oBAAoB,CAAA;AAKlC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAG5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iCAAiC,CAAA;AAG/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACjF,cAAc,uBAAuB,CAAA;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EACL,SAAS,EACT,cAAc,EACd,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAG9D,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzD,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,IAAI,CAAC;QAEb,MAAM,IAAI,EAAE,OAAO,gBAAgB,CAAC,IAAI,CAAA;QACxC,MAAM,WAAW,EAAE,OAAO,gBAAgB,CAAC,WAAW,CAAA;QACtD,MAAM,IAAI,EAAE,OAAO,gBAAgB,CAAC,IAAI,CAAA;QACxC,MAAM,MAAM,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAA;QAG5C,MAAM,MAAM,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAA;QAC5C,MAAM,MAAM,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAA;QAC5C,MAAM,MAAM,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAA;QAC5C,MAAM,MAAM,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAA;QAC5C,MAAM,MAAM,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAA;QAC5C,MAAM,cAAc,EAAE,OAAO,gBAAgB,CAAC,cAAc,CAAA;QAC5D,MAAM,OAAO,EAAE,OAAO,gBAAgB,CAAC,OAAO,CAAA;QAG9C,MAAM,SAAS,EAAE,OAAO,gBAAgB,CAAC,SAAS,CAAA;QAClD,MAAM,QAAQ,EAAE,OAAO,gBAAgB,CAAC,QAAQ,CAAA;QAGhD,MAAM,MAAM,EAAE,OAAO,gBAAgB,CAAC,MAAM,CAAA;KAC7C;CACF;AAGD,QAAA,MAAM,IAAI,EAAgB,OAAO,SAAS,GAAG,OAAO,gBAAgB,CAAA;AAMpE,OAAO,EAAE,IAAI,EAAE,CAAA"}
|
package/dist/ui/index.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
// Single barrel export for the View-centric UI system
|
|
2
|
-
// Install chainable modifiers (side-effect import)
|
|
3
|
-
import "./install.js";
|
|
4
|
-
// Core geometry (types + helpers)
|
|
5
|
-
export * from "./core/geometry.js";
|
|
6
|
-
// View class will be exported at bottom after enhancement
|
|
7
|
-
// Primitives
|
|
8
|
-
export * from "./primitives/text.js";
|
|
9
|
-
export * from "./primitives/rectangle.js";
|
|
10
|
-
export * from "./primitives/spacer.js";
|
|
11
|
-
export * from "./primitives/wrapped-text.js";
|
|
12
|
-
// Containers
|
|
13
|
-
export * from "./containers/hstack.js";
|
|
14
|
-
export * from "./containers/vstack.js";
|
|
15
|
-
export * from "./containers/zstack.js";
|
|
16
|
-
export * from "./containers/scroll.js";
|
|
17
|
-
export * from "./containers/canvas.js";
|
|
18
|
-
export * from "./containers/geometry-reader.js";
|
|
19
|
-
// Modifiers (classes exported, chainers are installed via side effects above)
|
|
20
|
-
export * from "./modifiers/border.js";
|
|
21
|
-
export * from "./modifiers/offset.js";
|
|
22
|
-
export * from "./modifiers/fill.js";
|
|
23
|
-
export * from "./modifiers/padding.js";
|
|
24
|
-
export { Frame } from "./modifiers/frame.js";
|
|
25
|
-
export * from "./modifiers/styled.js";
|
|
26
|
-
// Components & utilities
|
|
27
|
-
export { ShinyText } from "./shinytext.js";
|
|
28
|
-
export { TextInput, TextInputState, editTextInput, } from "./textinput.js";
|
|
29
|
-
export { Markdown } from "./markdown.js";
|
|
30
|
-
// Import View class and constructors
|
|
31
|
-
import { View as ViewClass } from "./core/view.js";
|
|
32
|
-
import { ViewConstructors } from "./view-constructors.js";
|
|
33
|
-
// Install all the constructor methods on the View class
|
|
34
|
-
const View = ViewClass;
|
|
35
|
-
// Install all constructors
|
|
36
|
-
Object.assign(View, ViewConstructors);
|
|
37
|
-
// Export the enhanced View
|
|
38
|
-
export { View };
|
|
39
|
-
//# sourceMappingURL=index.js.map
|
package/dist/ui/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,mDAAmD;AACnD,OAAO,cAAc,CAAA;AAErB,kCAAkC;AAClC,cAAc,oBAAoB,CAAA;AAElC,0DAA0D;AAE1D,aAAa;AACb,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAE5C,aAAa;AACb,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iCAAiC,CAAA;AAE/C,8EAA8E;AAC9E,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EAAE,KAAK,EAAuC,MAAM,sBAAsB,CAAA;AACjF,cAAc,uBAAuB,CAAA;AAErC,yBAAyB;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EACL,SAAS,EACT,cAAc,EACd,aAAa,GAKd,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAwB,MAAM,eAAe,CAAA;AAE9D,qCAAqC;AACrC,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AA6BzD,wDAAwD;AACxD,MAAM,IAAI,GAAG,SAAuD,CAAA;AAEpE,2BAA2B;AAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AAErC,2BAA2B;AAC3B,OAAO,EAAE,IAAI,EAAE,CAAA"}
|
package/dist/ui/inlinetext.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { Palette, Surface, StyleSpec } from "../render/surface.js";
|
|
2
|
-
import { View } from "./core/view.js";
|
|
3
|
-
import type { Rect } from "./core/geometry.js";
|
|
4
|
-
import type { WrappingOptions } from "./primitives/wrapped-text.js";
|
|
5
|
-
export type TextFragment = {
|
|
6
|
-
text: string;
|
|
7
|
-
style?: StyleSpec;
|
|
8
|
-
};
|
|
9
|
-
export declare class InlineText extends View {
|
|
10
|
-
readonly fragments: TextFragment[];
|
|
11
|
-
readonly options: WrappingOptions;
|
|
12
|
-
constructor(fragments: TextFragment[], options?: WrappingOptions);
|
|
13
|
-
private layout;
|
|
14
|
-
protected measureContent(maxW: number, maxH: number): {
|
|
15
|
-
w: number;
|
|
16
|
-
h: number;
|
|
17
|
-
};
|
|
18
|
-
protected renderContent(s: Surface, pal: Palette, rect: Rect): void;
|
|
19
|
-
}
|
|
20
|
-
export type ViewInlineTextExt = {
|
|
21
|
-
inline(fragments: TextFragment[], opts?: WrappingOptions): InlineText;
|
|
22
|
-
};
|
|
23
|
-
export declare const viewInlineText: ViewInlineTextExt;
|
|
24
|
-
//# sourceMappingURL=inlinetext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inlinetext.d.ts","sourceRoot":"","sources":["../../src/ui/inlinetext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAEnE,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAsBD,qBAAa,UAAW,SAAQ,IAAI;IAEhC,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE;IAClC,QAAQ,CAAC,OAAO,EAAE,eAAe;gBADxB,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,GAAE,eAAoB;IAKxC,OAAO,CAAC,MAAM;IAgEd,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;IAMnD,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI;CAe7D;AAGD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,UAAU,CAAA;CACtE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,iBAI5B,CAAA"}
|
package/dist/ui/inlinetext.js
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { View } from "./core/view.js";
|
|
2
|
-
function toTokens(fragments) {
|
|
3
|
-
const tokens = [];
|
|
4
|
-
for (const frag of fragments) {
|
|
5
|
-
const parts = frag.text.split(/(\s+)/);
|
|
6
|
-
for (const p of parts) {
|
|
7
|
-
if (p.length === 0)
|
|
8
|
-
continue;
|
|
9
|
-
if (/^\s+$/.test(p))
|
|
10
|
-
tokens.push({ text: p.replace(/\s+/g, " "), style: frag.style, kind: "space" });
|
|
11
|
-
else
|
|
12
|
-
tokens.push({ text: p, style: frag.style, kind: "word" });
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return tokens;
|
|
16
|
-
}
|
|
17
|
-
function strlen(s) {
|
|
18
|
-
// Best-effort: count code points. Rendering will use wcwidth-aware clipping.
|
|
19
|
-
return [...s].length;
|
|
20
|
-
}
|
|
21
|
-
export class InlineText extends View {
|
|
22
|
-
fragments;
|
|
23
|
-
options;
|
|
24
|
-
constructor(fragments, options = {}) {
|
|
25
|
-
super();
|
|
26
|
-
this.fragments = fragments;
|
|
27
|
-
this.options = options;
|
|
28
|
-
}
|
|
29
|
-
layout(maxW) {
|
|
30
|
-
const { wordWrap = true, breakWords = true } = this.options;
|
|
31
|
-
const toks = toTokens(this.fragments);
|
|
32
|
-
const lines = [];
|
|
33
|
-
let line = [];
|
|
34
|
-
let used = 0;
|
|
35
|
-
const flush = () => {
|
|
36
|
-
if (line.length === 0)
|
|
37
|
-
return;
|
|
38
|
-
lines.push(line);
|
|
39
|
-
line = [];
|
|
40
|
-
used = 0;
|
|
41
|
-
};
|
|
42
|
-
for (const t of toks) {
|
|
43
|
-
if (t.kind === "space") {
|
|
44
|
-
if (used === 0)
|
|
45
|
-
continue; // skip leading spaces
|
|
46
|
-
const w = 1;
|
|
47
|
-
if (used + w <= maxW) {
|
|
48
|
-
line.push({ ...t, text: " " });
|
|
49
|
-
used += w;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
flush();
|
|
53
|
-
}
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
const w = strlen(t.text);
|
|
57
|
-
if (!wordWrap) {
|
|
58
|
-
// No wrapping: push to current line; if overflow, start new line first
|
|
59
|
-
if (used + w > maxW && used > 0)
|
|
60
|
-
flush();
|
|
61
|
-
line.push(t);
|
|
62
|
-
used = Math.min(maxW, used + w);
|
|
63
|
-
continue;
|
|
64
|
-
}
|
|
65
|
-
if (w > maxW) {
|
|
66
|
-
if (breakWords) {
|
|
67
|
-
const remaining = [...t.text];
|
|
68
|
-
while (remaining.length > 0) {
|
|
69
|
-
const room = Math.max(0, maxW - used);
|
|
70
|
-
if (room === 0)
|
|
71
|
-
flush();
|
|
72
|
-
const take = Math.min(remaining.length, Math.max(1, maxW - used));
|
|
73
|
-
const chunk = remaining.splice(0, take).join("");
|
|
74
|
-
line.push({ ...t, text: chunk });
|
|
75
|
-
used += strlen(chunk);
|
|
76
|
-
if (remaining.length > 0)
|
|
77
|
-
flush();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
// Place as its own line (will clip visually)
|
|
82
|
-
if (used > 0)
|
|
83
|
-
flush();
|
|
84
|
-
line.push(t);
|
|
85
|
-
flush();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
else if (used + w <= maxW) {
|
|
89
|
-
line.push(t);
|
|
90
|
-
used += w;
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
flush();
|
|
94
|
-
line.push(t);
|
|
95
|
-
used = w;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
flush();
|
|
99
|
-
if (lines.length === 0)
|
|
100
|
-
lines.push([]);
|
|
101
|
-
return lines;
|
|
102
|
-
}
|
|
103
|
-
measureContent(maxW, maxH) {
|
|
104
|
-
const lines = this.layout(maxW);
|
|
105
|
-
const h = Math.min(maxH, Math.max(1, lines.length));
|
|
106
|
-
return { w: maxW, h };
|
|
107
|
-
}
|
|
108
|
-
renderContent(s, pal, rect) {
|
|
109
|
-
const lines = this.layout(rect.w);
|
|
110
|
-
const h = Math.min(rect.h, lines.length);
|
|
111
|
-
for (let y = 0; y < h; y++) {
|
|
112
|
-
let x = 0;
|
|
113
|
-
for (const seg of lines[y]) {
|
|
114
|
-
if (x >= rect.w)
|
|
115
|
-
break;
|
|
116
|
-
const id = pal.id(seg.style);
|
|
117
|
-
const max = Math.max(0, rect.w - x);
|
|
118
|
-
if (max <= 0)
|
|
119
|
-
break;
|
|
120
|
-
s.drawText(rect.x + x, rect.y + y, seg.text, id, max);
|
|
121
|
-
x += strlen(seg.text);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
export const viewInlineText = {
|
|
127
|
-
inline(fragments, opts) {
|
|
128
|
-
return new InlineText(fragments, opts);
|
|
129
|
-
},
|
|
130
|
-
};
|
|
131
|
-
//# sourceMappingURL=inlinetext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inlinetext.js","sourceRoot":"","sources":["../../src/ui/inlinetext.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/install.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { BorderOptions } from "./modifiers/border.js";
|
|
2
|
-
import type { FrameSpec } from "./modifiers/frame.js";
|
|
3
|
-
import type { StyleSpec, ColorLike } from "../render/surface.js";
|
|
4
|
-
declare module "./core/view.js" {
|
|
5
|
-
interface View {
|
|
6
|
-
border(opts?: BorderOptions): View;
|
|
7
|
-
offset(dx?: number, dy?: number): View;
|
|
8
|
-
fillWidth(): View;
|
|
9
|
-
fillHeight(): View;
|
|
10
|
-
padding(t: number, r?: number, b?: number, l?: number): View;
|
|
11
|
-
frame(opts: FrameSpec): View;
|
|
12
|
-
style(spec?: StyleSpec): View;
|
|
13
|
-
fg(color: ColorLike): View;
|
|
14
|
-
bg(color: ColorLike): View;
|
|
15
|
-
bold(on?: boolean): View;
|
|
16
|
-
italic(on?: boolean): View;
|
|
17
|
-
underline(on?: boolean): View;
|
|
18
|
-
inverse(on?: boolean): View;
|
|
19
|
-
opacity(alpha: number): View;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=install.d.ts.map
|
package/dist/ui/install.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/ui/install.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AA8EhE,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAU,IAAI;QAEZ,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;QAClC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACtC,SAAS,IAAI,IAAI,CAAA;QACjB,UAAU,IAAI,IAAI,CAAA;QAClB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5D,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;QAG5B,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;QAC7B,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;QAC1B,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;QACxB,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;QAC1B,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;QAC7B,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;QAG3B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAC7B;CACF"}
|
package/dist/ui/install.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/* install.ts — Installer for View modifier chainers
|
|
2
|
-
*
|
|
3
|
-
* This module installs chainable modifier methods on View.prototype using
|
|
4
|
-
* a clean installer pattern with TypeScript declaration merging.
|
|
5
|
-
*/
|
|
6
|
-
import { View } from "./core/view.js";
|
|
7
|
-
import { parseColor } from "../render/surface.js";
|
|
8
|
-
// Import all modifier classes
|
|
9
|
-
import { Border } from "./modifiers/border.js";
|
|
10
|
-
import { Offset } from "./modifiers/offset.js";
|
|
11
|
-
import { Fill } from "./modifiers/fill.js";
|
|
12
|
-
import { Opacity } from "./modifiers/opacity.js";
|
|
13
|
-
import { Padding } from "./modifiers/padding.js";
|
|
14
|
-
import { Frame } from "./modifiers/frame.js";
|
|
15
|
-
import { Styled } from "./modifiers/styled.js";
|
|
16
|
-
// Define modifier methods with proper typing
|
|
17
|
-
const modifierMethods = {
|
|
18
|
-
// Layout modifiers
|
|
19
|
-
border(opts) {
|
|
20
|
-
return new Border(this, opts);
|
|
21
|
-
},
|
|
22
|
-
offset(dx = 0, dy = 0) {
|
|
23
|
-
return new Offset(this, dx, dy);
|
|
24
|
-
},
|
|
25
|
-
fillWidth() {
|
|
26
|
-
return new Fill(this, "horizontal");
|
|
27
|
-
},
|
|
28
|
-
fillHeight() {
|
|
29
|
-
return new Fill(this, "vertical");
|
|
30
|
-
},
|
|
31
|
-
padding(t, r, b, l) {
|
|
32
|
-
return new Padding(this, t, r, b, l);
|
|
33
|
-
},
|
|
34
|
-
frame(opts) {
|
|
35
|
-
return new Frame(this, opts);
|
|
36
|
-
},
|
|
37
|
-
// Style modifiers
|
|
38
|
-
style(spec) {
|
|
39
|
-
return spec ? new Styled(this, spec) : this;
|
|
40
|
-
},
|
|
41
|
-
fg(color) {
|
|
42
|
-
return new Styled(this, { fg: parseColor(color) });
|
|
43
|
-
},
|
|
44
|
-
bg(color) {
|
|
45
|
-
return new Styled(this, { bg: parseColor(color) });
|
|
46
|
-
},
|
|
47
|
-
bold(on = true) {
|
|
48
|
-
return new Styled(this, { bold: on });
|
|
49
|
-
},
|
|
50
|
-
italic(on = true) {
|
|
51
|
-
return new Styled(this, { italic: on });
|
|
52
|
-
},
|
|
53
|
-
underline(on = true) {
|
|
54
|
-
return new Styled(this, { underline: on });
|
|
55
|
-
},
|
|
56
|
-
inverse(on = true) {
|
|
57
|
-
return new Styled(this, { inverse: on });
|
|
58
|
-
},
|
|
59
|
-
// Visual effect modifiers
|
|
60
|
-
opacity(alpha) {
|
|
61
|
-
return new Opacity(this, alpha);
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
// Install methods on View prototype
|
|
65
|
-
Object.assign(View.prototype, modifierMethods);
|
|
66
|
-
//# sourceMappingURL=install.js.map
|
package/dist/ui/install.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/ui/install.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/markdown.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import type { Palette, Surface, StyleSpec, ColorLike } from "../render/surface.js";
|
|
2
|
-
import { View } from "./core/view.js";
|
|
3
|
-
import type { Rect } from "./core/geometry.js";
|
|
4
|
-
export type MarkdownOptions = {
|
|
5
|
-
spacing?: number;
|
|
6
|
-
styles?: {
|
|
7
|
-
heading?: Partial<Record<1 | 2 | 3 | 4 | 5 | 6, StyleSpec>>;
|
|
8
|
-
paragraph?: StyleSpec;
|
|
9
|
-
code?: StyleSpec;
|
|
10
|
-
codeBorder?: {
|
|
11
|
-
kind?: "none" | "rounded" | "square" | "ascii";
|
|
12
|
-
color?: ColorLike;
|
|
13
|
-
padding?: number | {
|
|
14
|
-
x?: number;
|
|
15
|
-
y?: number;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
quote?: StyleSpec;
|
|
19
|
-
listBullet?: StyleSpec;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
/** Minimal Markdown renderer for terminal UI: block-level only. */
|
|
23
|
-
export declare class Markdown extends View {
|
|
24
|
-
readonly text: string;
|
|
25
|
-
readonly opts: MarkdownOptions;
|
|
26
|
-
constructor(text: string, opts?: MarkdownOptions);
|
|
27
|
-
private parseBlocks;
|
|
28
|
-
private parseInline;
|
|
29
|
-
private blockViews;
|
|
30
|
-
protected measureContent(maxW: number, maxH: number): {
|
|
31
|
-
w: number;
|
|
32
|
-
h: number;
|
|
33
|
-
};
|
|
34
|
-
protected renderContent(s: Surface, pal: Palette, rect: Rect): void;
|
|
35
|
-
}
|
|
36
|
-
export type ViewMarkdownExt = {
|
|
37
|
-
markdown(text: string, opts?: MarkdownOptions): View;
|
|
38
|
-
};
|
|
39
|
-
export declare const viewMarkdown: ViewMarkdownExt;
|
|
40
|
-
//# sourceMappingURL=markdown.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/ui/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAElF,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAK9C,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;QAC3D,SAAS,CAAC,EAAE,SAAS,CAAA;QACrB,IAAI,CAAC,EAAE,SAAS,CAAA;QAChB,UAAU,CAAC,EAAE;YACX,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;YAC9C,KAAK,CAAC,EAAE,SAAS,CAAA;YACjB,OAAO,CAAC,EAAE,MAAM,GAAG;gBAAE,CAAC,CAAC,EAAE,MAAM,CAAC;gBAAC,CAAC,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAC9C,CAAA;QACD,KAAK,CAAC,EAAE,SAAS,CAAA;QACjB,UAAU,CAAC,EAAE,SAAS,CAAA;KACvB,CAAA;CACF,CAAA;AASD,mEAAmE;AACnE,qBAAa,QAAS,SAAQ,IAAI;IAE9B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,eAAe;gBADrB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,eAAoB;IAKrC,OAAO,CAAC,WAAW;IAyGnB,OAAO,CAAC,WAAW;IA4GnB,OAAO,CAAC,UAAU;IAoGlB,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;IAanD,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI;CAU7D;AAGD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACrD,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,eAI1B,CAAA"}
|