@effect-tui/react 0.6.3 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/jsx-runtime.d.ts +4 -1
  2. package/dist/jsx-runtime.d.ts.map +1 -1
  3. package/dist/src/components/ListView.d.ts +3 -1
  4. package/dist/src/components/ListView.d.ts.map +1 -1
  5. package/dist/src/components/ListView.js +38 -11
  6. package/dist/src/components/ListView.js.map +1 -1
  7. package/dist/src/hooks/use-scroll.d.ts +5 -3
  8. package/dist/src/hooks/use-scroll.d.ts.map +1 -1
  9. package/dist/src/hooks/use-scroll.js +4 -2
  10. package/dist/src/hooks/use-scroll.js.map +1 -1
  11. package/dist/src/hosts/index.d.ts +1 -1
  12. package/dist/src/hosts/index.d.ts.map +1 -1
  13. package/dist/src/hosts/index.js +3 -2
  14. package/dist/src/hosts/index.js.map +1 -1
  15. package/dist/src/hosts/scroll.d.ts +5 -0
  16. package/dist/src/hosts/scroll.d.ts.map +1 -1
  17. package/dist/src/hosts/scroll.js +10 -0
  18. package/dist/src/hosts/scroll.js.map +1 -1
  19. package/dist/src/hosts/text.d.ts +48 -1
  20. package/dist/src/hosts/text.d.ts.map +1 -1
  21. package/dist/src/hosts/text.js +200 -5
  22. package/dist/src/hosts/text.js.map +1 -1
  23. package/dist/src/index.d.ts +1 -1
  24. package/dist/src/index.d.ts.map +1 -1
  25. package/dist/src/remote/Procedures.d.ts +11 -0
  26. package/dist/src/remote/Procedures.d.ts.map +1 -1
  27. package/dist/src/remote/Procedures.js +17 -1
  28. package/dist/src/remote/Procedures.js.map +1 -1
  29. package/dist/src/remote/Router.d.ts +12 -1
  30. package/dist/src/remote/Router.d.ts.map +1 -1
  31. package/dist/src/remote/Router.js +1 -0
  32. package/dist/src/remote/Router.js.map +1 -1
  33. package/dist/src/remote/index.d.ts.map +1 -1
  34. package/dist/src/remote/index.js +14 -0
  35. package/dist/src/remote/index.js.map +1 -1
  36. package/dist/src/test/render-tui.js +2 -2
  37. package/dist/src/test/render-tui.js.map +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/jsx-runtime.ts +2 -1
  40. package/package.json +2 -2
  41. package/src/components/ListView.tsx +50 -13
  42. package/src/hooks/use-scroll.ts +9 -5
  43. package/src/hosts/index.ts +13 -2
  44. package/src/hosts/scroll.ts +13 -0
  45. package/src/hosts/text.ts +242 -5
  46. package/src/index.ts +1 -1
  47. package/src/remote/Procedures.ts +19 -1
  48. package/src/remote/Router.ts +14 -1
  49. package/src/remote/index.ts +15 -1
  50. package/src/test/render-tui.ts +2 -2
@@ -8,7 +8,7 @@ import type { OverlayProps } from "./src/hosts/overlay.js";
8
8
  import type { OverlayItemProps } from "./src/hosts/overlay-item.js";
9
9
  import type { ScrollProps } from "./src/hosts/scroll.js";
10
10
  import type { SpacerProps } from "./src/hosts/spacer.js";
11
- import type { StyledTextProps, TextProps } from "./src/hosts/text.js";
11
+ import type { SpanProps, StyledTextProps, TextProps } from "./src/hosts/text.js";
12
12
  import type { VStackProps } from "./src/hosts/vstack.js";
13
13
  import type { ZStackProps } from "./src/hosts/zstack.js";
14
14
  declare const JSX: {};
@@ -30,6 +30,9 @@ export declare namespace JSX {
30
30
  text: TextProps & {
31
31
  children?: React.ReactNode;
32
32
  };
33
+ span: SpanProps & {
34
+ children?: React.ReactNode;
35
+ };
33
36
  styledtext: StyledTextProps;
34
37
  spacer: SpacerProps;
35
38
  vstack: VStackProps & {
@@ -1 +1 @@
1
- {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../jsx-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAGvD,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGxD,QAAA,MAAM,GAAG,IAAK,CAAA;AACd,OAAO,EAAE,GAAG,EAAE,CAAA;AAEd,MAAM,CAAC,OAAO,WAAW,GAAG,CAAC;IAC5B,KAAY,OAAO,GAAG,KAAK,CAAC,SAAS,CAAA;IAErC,UAAiB,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,SAAS,CAAA;KACzB;IAED,UAAiB,yBAAyB;QACzC,KAAK,EAAE,EAAE,CAAA;KACT;IAED,UAAiB,wBAAwB;QACxC,QAAQ,EAAE,EAAE,CAAA;KACZ;IAED,UAAiB,mBAAoB,SAAQ,KAAK,CAAC,UAAU;KAAG;IAGhE,UAAiB,iBAAkB,SAAQ,KAAK,CAAC,GAAG,CAAC,iBAAiB;QAErE,IAAI,EAAE,SAAS,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QAChD,UAAU,EAAE,eAAe,CAAA;QAC3B,MAAM,EAAE,WAAW,CAAA;QACnB,MAAM,EAAE,WAAW,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;QACxE,MAAM,EAAE,WAAW,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QACpD,MAAM,EAAE,WAAW,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QACpD,GAAG,EAAE,QAAQ,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QAC9C,MAAM,EAAE,WAAW,CAAA;QACnB,SAAS,EAAE,cAAc,CAAA;QACzB,MAAM,EAAE,WAAW,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QACpD,OAAO,EAAE,YAAY,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QACtD,WAAW,EAAE,gBAAgB,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;KAC9D;CACD"}
1
+ {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../jsx-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAGvD,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGxD,QAAA,MAAM,GAAG,IAAK,CAAA;AACd,OAAO,EAAE,GAAG,EAAE,CAAA;AAEd,MAAM,CAAC,OAAO,WAAW,GAAG,CAAC;IAC5B,KAAY,OAAO,GAAG,KAAK,CAAC,SAAS,CAAA;IAErC,UAAiB,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,SAAS,CAAA;KACzB;IAED,UAAiB,yBAAyB;QACzC,KAAK,EAAE,EAAE,CAAA;KACT;IAED,UAAiB,wBAAwB;QACxC,QAAQ,EAAE,EAAE,CAAA;KACZ;IAED,UAAiB,mBAAoB,SAAQ,KAAK,CAAC,UAAU;KAAG;IAGhE,UAAiB,iBAAkB,SAAQ,KAAK,CAAC,GAAG,CAAC,iBAAiB;QAErE,IAAI,EAAE,SAAS,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QAChD,IAAI,EAAE,SAAS,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QAChD,UAAU,EAAE,eAAe,CAAA;QAC3B,MAAM,EAAE,WAAW,CAAA;QACnB,MAAM,EAAE,WAAW,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;QACxE,MAAM,EAAE,WAAW,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QACpD,MAAM,EAAE,WAAW,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QACpD,GAAG,EAAE,QAAQ,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QAC9C,MAAM,EAAE,WAAW,CAAA;QACnB,SAAS,EAAE,cAAc,CAAA;QACzB,MAAM,EAAE,WAAW,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QACpD,OAAO,EAAE,YAAY,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;QACtD,WAAW,EAAE,gBAAgB,GAAG;YAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;SAAE,CAAA;KAC9D;CACD"}
@@ -18,6 +18,8 @@ export interface ListViewProps<T> {
18
18
  emptyContent?: ReactNode;
19
19
  /** Number of extra items to render above/below viewport for smooth scrolling (default: 3) */
20
20
  overscan?: number;
21
+ /** Called when an item is clicked. Receives the item index. */
22
+ onItemClick?: (index: number) => void;
21
23
  /** @internal */
22
24
  __debugViewportMeasured?: boolean;
23
25
  /** @internal */
@@ -63,5 +65,5 @@ export interface ListViewProps<T> {
63
65
  * )
64
66
  * ```
65
67
  */
66
- export declare function ListView<T>({ items, selectedIndex, renderItem, keyExtractor, itemHeight, scrollPadding, showScrollbar, emptyContent, overscan, __debugViewportMeasured, __debugViewportSize, __debugContentSize, }: ListViewProps<T>): ReactNode;
68
+ export declare function ListView<T>({ items, selectedIndex, renderItem, keyExtractor, itemHeight, scrollPadding, showScrollbar, emptyContent, overscan, onItemClick, __debugViewportMeasured, __debugViewportSize, __debugContentSize, }: ListViewProps<T>): ReactNode;
67
69
  //# sourceMappingURL=ListView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../src/components/ListView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,sBAAsB;IACtB,KAAK,EAAE,SAAS,CAAC,EAAE,CAAA;IACnB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,oCAAoC;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,KAAK,SAAS,CAAA;IACtE,uCAAuC;IACvC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAA;IACzD,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB;IAChB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,gBAAgB;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAC3B,KAAK,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACZ,UAAc,EACd,aAAiB,EACjB,aAAoB,EACpB,YAAY,EACZ,QAAY,EACZ,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GAClB,EAAE,aAAa,CAAC,CAAC,CAAC,aAuElB"}
1
+ {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../src/components/ListView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,sBAAsB;IACtB,KAAK,EAAE,SAAS,CAAC,EAAE,CAAA;IACnB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,oCAAoC;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,KAAK,SAAS,CAAA;IACtE,uCAAuC;IACvC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAA;IACzD,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qCAAqC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,gBAAgB;IAChB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,gBAAgB;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAC3B,KAAK,EACL,aAAa,EACb,UAAU,EACV,YAAY,EACZ,UAAc,EACd,aAAiB,EACjB,aAAoB,EACpB,YAAY,EACZ,QAAY,EACZ,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GAClB,EAAE,aAAa,CAAC,CAAC,CAAC,aAwGlB"}
@@ -1,5 +1,6 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "@effect-tui/react/jsx-runtime";
2
- import { useEffect, useRef } from "react";
2
+ import { useEffect, useLayoutEffect, useRef } from "react";
3
+ import { useMouse } from "../hooks/use-mouse.js";
3
4
  import { useScroll } from "../hooks/use-scroll.js";
4
5
  /**
5
6
  * A virtualized scrolling list view with selection and scroll-into-view behavior.
@@ -39,7 +40,7 @@ import { useScroll } from "../hooks/use-scroll.js";
39
40
  * )
40
41
  * ```
41
42
  */
42
- export function ListView({ items, selectedIndex, renderItem, keyExtractor, itemHeight = 1, scrollPadding = 0, showScrollbar = true, emptyContent, overscan = 3, __debugViewportMeasured, __debugViewportSize, __debugContentSize, }) {
43
+ export function ListView({ items, selectedIndex, renderItem, keyExtractor, itemHeight = 1, scrollPadding = 0, showScrollbar = true, emptyContent, overscan = 3, onItemClick, __debugViewportMeasured, __debugViewportSize, __debugContentSize, }) {
43
44
  const totalHeight = items.length * itemHeight;
44
45
  const { state, scrollProps, scrollToVisible } = useScroll({
45
46
  enableKeyboard: false, // Parent handles keyboard for selection
@@ -49,19 +50,40 @@ export function ListView({ items, selectedIndex, renderItem, keyExtractor, itemH
49
50
  });
50
51
  const viewportMeasured = __debugViewportMeasured ?? state.viewportMeasured;
51
52
  const viewportSize = __debugViewportSize ?? state.viewportSize;
53
+ // Track scroll container rect for hit testing
54
+ const rectRef = useRef(null);
55
+ // Handle mouse clicks on items
56
+ useMouse((mouse) => {
57
+ if (!onItemClick || !rectRef.current)
58
+ return;
59
+ const { x, y, w, h } = rectRef.current;
60
+ // Check if click is inside the scroll container
61
+ if (mouse.x < x || mouse.x >= x + w || mouse.y < y || mouse.y >= y + h)
62
+ return;
63
+ // Calculate which item was clicked
64
+ const localY = mouse.y - y;
65
+ const contentY = localY + state.offset;
66
+ const clickedIndex = Math.floor(contentY / itemHeight);
67
+ // Validate index is in range
68
+ if (clickedIndex >= 0 && clickedIndex < items.length) {
69
+ onItemClick(clickedIndex);
70
+ }
71
+ }, { action: "press", button: "left" });
52
72
  // Track previous selection to detect changes
53
73
  const prevSelectedRef = useRef(selectedIndex);
54
74
  // Scroll to keep selection visible when it changes
55
- useEffect(() => {
75
+ // useLayoutEffect runs before paint - prevents visible "jump" when navigating
76
+ useLayoutEffect(() => {
56
77
  if (selectedIndex !== prevSelectedRef.current) {
57
78
  prevSelectedRef.current = selectedIndex;
58
- scrollToVisible(selectedIndex, itemHeight, scrollPadding);
79
+ // Pass totalHeight to avoid stale contentSize issues when jumping to end
80
+ scrollToVisible(selectedIndex, itemHeight, scrollPadding, totalHeight);
59
81
  }
60
- }, [selectedIndex, itemHeight, scrollPadding, scrollToVisible]);
82
+ }, [selectedIndex, itemHeight, scrollPadding, scrollToVisible, totalHeight]);
61
83
  // Also scroll on initial render if selection is not 0
62
84
  useEffect(() => {
63
85
  if (selectedIndex > 0) {
64
- scrollToVisible(selectedIndex, itemHeight, scrollPadding);
86
+ scrollToVisible(selectedIndex, itemHeight, scrollPadding, totalHeight);
65
87
  }
66
88
  // Only run on mount
67
89
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -70,20 +92,25 @@ export function ListView({ items, selectedIndex, renderItem, keyExtractor, itemH
70
92
  return _jsx(_Fragment, { children: emptyContent });
71
93
  }
72
94
  // Calculate visible range for virtualization
95
+ // Before viewport is measured, render a reasonable default (not all items!)
73
96
  const startIndex = viewportMeasured
74
97
  ? Math.max(0, Math.floor(state.offset / itemHeight) - overscan)
75
98
  : 0;
76
99
  const endIndex = viewportMeasured
77
100
  ? Math.min(items.length, Math.ceil((state.offset + viewportSize) / itemHeight) + overscan)
78
- : items.length;
101
+ : Math.min(items.length, 50);
79
102
  // Calculate spacer heights for virtual scrolling
80
- const topSpacerHeight = viewportMeasured ? startIndex * itemHeight : 0;
81
- const bottomSpacerHeight = viewportMeasured ? Math.max(0, totalHeight - endIndex * itemHeight) : 0;
103
+ const topSpacerHeight = startIndex * itemHeight;
104
+ const bottomSpacerHeight = Math.max(0, totalHeight - endIndex * itemHeight);
82
105
  // Get visible slice of items
83
106
  const visibleItems = items.slice(startIndex, endIndex);
84
- return (_jsx("scroll", { ...scrollProps, showScrollbar: showScrollbar, children: _jsxs("vstack", { children: [topSpacerHeight > 0 && _jsx("spacer", { minHeight: topSpacerHeight }), visibleItems.map((item, i) => {
107
+ // Handler to track scroll container rect for click detection
108
+ const handleRect = (x, y, w, h) => {
109
+ rectRef.current = { x, y, w, h };
110
+ };
111
+ return (_jsx("scroll", { ...scrollProps, showScrollbar: showScrollbar, onRect: handleRect, children: _jsxs("vstack", { children: [_jsx("box", { height: topSpacerHeight }, "top-spacer"), visibleItems.map((item, i) => {
85
112
  const actualIndex = startIndex + i;
86
113
  return (_jsx("vstack", { children: renderItem(item, actualIndex, actualIndex === selectedIndex) }, keyExtractor(item, actualIndex)));
87
- }), bottomSpacerHeight > 0 && _jsx("spacer", { minHeight: bottomSpacerHeight })] }) }));
114
+ }), _jsx("box", { height: bottomSpacerHeight }, "bottom-spacer")] }) }));
88
115
  }
89
116
  //# sourceMappingURL=ListView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../../src/components/ListView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListView.js","sourceRoot":"","sources":["../../../src/components/ListView.tsx"],"names":[],"mappings":"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"}
@@ -17,9 +17,9 @@ export interface ScrollState {
17
17
  export interface UseScrollOptions {
18
18
  /** Scroll axis: "vertical" (default) or "horizontal" */
19
19
  axis?: "vertical" | "horizontal";
20
- /** Initial viewport size override (useful for tests) */
20
+ /** @internal Initial viewport size override (useful for tests) */
21
21
  initialViewportSize?: number;
22
- /** Initial content size override (useful for tests) */
22
+ /** @internal Initial content size override (useful for tests) */
23
23
  initialContentSize?: number;
24
24
  /** Initial scroll offset */
25
25
  initialOffset?: number;
@@ -53,14 +53,16 @@ export interface UseScrollReturn {
53
53
  * @param position - The position (row/col index or pixel offset)
54
54
  * @param itemSize - Size of each item (default: 1 for row-based lists)
55
55
  * @param padding - Extra padding around the item (default: 0)
56
+ * @param totalSize - Optional known total content size (avoids stale state issues)
56
57
  */
57
- scrollToVisible: (position: number, itemSize?: number, padding?: number) => void;
58
+ scrollToVisible: (position: number, itemSize?: number, padding?: number, totalSize?: number) => void;
58
59
  /** Props to spread on <scroll> element */
59
60
  scrollProps: {
60
61
  offset: number;
61
62
  axis: "vertical" | "horizontal";
62
63
  onContentSize: (width: number, height: number) => void;
63
64
  onViewportSize: (width: number, height: number) => void;
65
+ onRect?: (x: number, y: number, w: number, h: number) => void;
64
66
  };
65
67
  }
66
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"use-scroll.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-scroll.ts"],"names":[],"mappings":"AAsFA,MAAM,WAAW,WAAW;IAC3B,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAA;IACpB,0DAA0D;IAC1D,gBAAgB,EAAE,OAAO,CAAA;IACzB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAA;IAChB,oCAAoC;IACpC,KAAK,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAChC,wDAAwD;IACxD,IAAI,CAAC,EAAE,UAAU,GAAG,YAAY,CAAA;IAChC,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,uDAAuD;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAA;IAClB,iCAAiC;IACjC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,6BAA6B;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,sBAAsB;IACtB,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,oBAAoB;IACpB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB;;;;;;OAMG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAChF,0CAA0C;IAC1C,WAAW,EAAE;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,UAAU,GAAG,YAAY,CAAA;QAC/B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;QACtD,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;KACvD,CAAA;CACD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe,CA+NzE"}
1
+ {"version":3,"file":"use-scroll.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-scroll.ts"],"names":[],"mappings":"AAsFA,MAAM,WAAW,WAAW;IAC3B,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAA;IACpB,0DAA0D;IAC1D,gBAAgB,EAAE,OAAO,CAAA;IACzB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAA;IAChB,oCAAoC;IACpC,KAAK,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAChC,wDAAwD;IACxD,IAAI,CAAC,EAAE,UAAU,GAAG,YAAY,CAAA;IAChC,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAA;IAClB,iCAAiC;IACjC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,6BAA6B;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,sBAAsB;IACtB,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,oBAAoB;IACpB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB;;;;;;;OAOG;IACH,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACpG,0CAA0C;IAC1C,WAAW,EAAE;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,UAAU,GAAG,YAAY,CAAA;QAC/B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;QACtD,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;QACvD,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;KAC7D,CAAA;CACD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe,CAiOzE"}
@@ -193,17 +193,19 @@ export function useScroll(options = {}) {
193
193
  useKeyboard(handleKey);
194
194
  // Scroll to make a position visible (for keeping selection in view)
195
195
  // Uses refs to avoid changing on every scroll - only triggers when selection changes
196
- const scrollToVisible = useCallback((position, itemSize = 1, padding = 0) => {
196
+ const scrollToVisible = useCallback((position, itemSize = 1, padding = 0, totalSize) => {
197
197
  const currentOffset = offsetRef.current;
198
198
  const itemStart = position * itemSize;
199
199
  const itemEnd = itemStart + itemSize;
200
+ // Use provided totalSize if available (more accurate than potentially stale contentSize)
201
+ const effectiveContentSize = totalSize ?? contentSize;
200
202
  // If item is above viewport, scroll up to show it
201
203
  if (itemStart < currentOffset + padding) {
202
204
  setOffset(Math.max(0, itemStart - padding));
203
205
  }
204
206
  // If item is below viewport, scroll down to show it
205
207
  else if (itemEnd > currentOffset + viewportSize - padding) {
206
- const currentMaxOffset = Math.max(0, contentSize - viewportSize);
208
+ const currentMaxOffset = Math.max(0, effectiveContentSize - viewportSize);
207
209
  setOffset(Math.min(currentMaxOffset, itemEnd - viewportSize + padding));
208
210
  }
209
211
  }, [viewportSize, contentSize, setOffset]);
@@ -1 +1 @@
1
- {"version":3,"file":"use-scroll.js","sourceRoot":"","sources":["../../../src/hooks/use-scroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-scroll.js","sourceRoot":"","sources":["../../../src/hooks/use-scroll.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export { OverlayItemHost, type OverlayItemProps } from "./overlay-item.js";
11
11
  export { ScrollHost, type ScrollProps } from "./scroll.js";
12
12
  export { SingleChildHost } from "./single-child.js";
13
13
  export { SpacerHost, type SpacerProps } from "./spacer.js";
14
- export { RawTextHost, StyledTextHost, TextHost, type StyledSpan, type StyledTextProps, type TextProps } from "./text.js";
14
+ export { RawTextHost, SpanHost, StyledTextHost, TextHost, type SpanProps, type SpanStyle, type StyledSpan, type StyledTextProps, type TextProps, } from "./text.js";
15
15
  export { VStackHost, type VStackProps } from "./vstack.js";
16
16
  export { ZStackHost, type ZStackProps } from "./zstack.js";
17
17
  export declare const hostRegistry: Record<string, new (props: any, ctx: HostContext) => BaseHost>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hosts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AASzC,OAAO,EAAE,WAAW,EAA4B,MAAM,WAAW,CAAA;AAIjE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAA;AACxH,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAI1D,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,KAAK,QAAQ,CAavF,CAAA;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,QAAQ,CAM/F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,WAAW,CAE9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hosts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AASzC,OAAO,EAAE,WAAW,EAAsC,MAAM,WAAW,CAAA;AAI3E,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EACN,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,SAAS,GACd,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAI1D,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,KAAK,QAAQ,CAcvF,CAAA;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,QAAQ,CAM/F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,WAAW,CAE9E"}
@@ -6,7 +6,7 @@ import { OverlayHost } from "./overlay.js";
6
6
  import { OverlayItemHost } from "./overlay-item.js";
7
7
  import { ScrollHost } from "./scroll.js";
8
8
  import { SpacerHost } from "./spacer.js";
9
- import { RawTextHost, StyledTextHost, TextHost } from "./text.js";
9
+ import { RawTextHost, SpanHost, StyledTextHost, TextHost } from "./text.js";
10
10
  import { VStackHost } from "./vstack.js";
11
11
  import { ZStackHost } from "./zstack.js";
12
12
  export { BaseHost } from "./base.js";
@@ -19,13 +19,14 @@ export { OverlayItemHost } from "./overlay-item.js";
19
19
  export { ScrollHost } from "./scroll.js";
20
20
  export { SingleChildHost } from "./single-child.js";
21
21
  export { SpacerHost } from "./spacer.js";
22
- export { RawTextHost, StyledTextHost, TextHost } from "./text.js";
22
+ export { RawTextHost, SpanHost, StyledTextHost, TextHost, } from "./text.js";
23
23
  export { VStackHost } from "./vstack.js";
24
24
  export { ZStackHost } from "./zstack.js";
25
25
  // Use any to allow specialized props on each host type
26
26
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
27
  export const hostRegistry = {
28
28
  text: TextHost,
29
+ span: SpanHost,
29
30
  styledtext: StyledTextHost,
30
31
  spacer: SpacerHost,
31
32
  vstack: VStackHost,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hosts/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,OAAO,EAAiB,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,UAAU,EAAsC,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAuB,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAqB,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAyB,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAyD,MAAM,WAAW,CAAA;AACxH,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAE1D,uDAAuD;AACvD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAmE;IAC3F,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,cAAc;IAC1B,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,GAAG,EAAE,OAAO;IACZ,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,WAAW;IACpB,WAAW,EAAE,eAAe;CAC5B,CAAA;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAkB,EAAE,GAAgB;IACpF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,GAAgB;IAChE,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hosts/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,OAAO,EAAiB,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,UAAU,EAAsC,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAuB,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAqB,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAyB,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAC1D,OAAO,EACN,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,GAMR,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAA;AAE1D,uDAAuD;AACvD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAmE;IAC3F,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,cAAc;IAC1B,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,GAAG,EAAE,OAAO;IACZ,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,aAAa;IACxB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,WAAW;IACpB,WAAW,EAAE,eAAe;CAC5B,CAAA;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAkB,EAAE,GAAgB;IACpF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,GAAgB;IAChE,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAClC,CAAC"}
@@ -25,6 +25,8 @@ export interface ScrollProps extends CommonProps {
25
25
  onViewportSize?: (width: number, height: number) => void;
26
26
  /** Called when effective offset changes (for syncing with useScroll when sticky adjusts) */
27
27
  onEffectiveOffset?: (offset: number) => void;
28
+ /** Called when layout rect changes (for hit testing) */
29
+ onRect?: (x: number, y: number, w: number, h: number) => void;
28
30
  }
29
31
  export declare class ScrollHost extends SingleChildHost {
30
32
  axis: "vertical" | "horizontal" | "both";
@@ -38,12 +40,15 @@ export declare class ScrollHost extends SingleChildHost {
38
40
  onContentSize?: (width: number, height: number) => void;
39
41
  onViewportSize?: (width: number, height: number) => void;
40
42
  onEffectiveOffset?: (offset: number) => void;
43
+ onRect?: (x: number, y: number, w: number, h: number) => void;
41
44
  private contentWidth;
42
45
  private contentHeight;
43
46
  private lastViewportW;
44
47
  private lastViewportH;
45
48
  private lastReportedContentW;
46
49
  private lastReportedContentH;
50
+ private lastRectX;
51
+ private lastRectY;
47
52
  private wasAtEnd;
48
53
  private effectiveOffset;
49
54
  private effectiveOffsetX;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/hosts/scroll.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,iEAAiE;IACjE,IAAI,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAA;IACzC,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACvB,+CAA+C;IAC/C,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,wDAAwD;IACxD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD,4FAA4F;IAC5F,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED,qBAAa,UAAW,SAAQ,eAAe;IAC9C,IAAI,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAa;IACrD,MAAM,SAAI;IACV,OAAO,SAAI;IACX,KAAK,EAAE,OAAO,GAAG,KAAK,CAAU;IAChC,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,aAAa,UAAO;IACpB,MAAM,UAAQ;IAGL,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAI;IACjD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAG5C,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,aAAa,CAAI;IAEzB,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,oBAAoB,CAAI;IAChC,OAAO,CAAC,oBAAoB,CAAI;IAEhC,OAAO,CAAC,QAAQ,CAAO;IAEvB,OAAO,CAAC,eAAe,CAAI;IAC3B,OAAO,CAAC,gBAAgB,CAAI;gBAEhB,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW;IAKhD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAgChC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAiFjC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAwBlD,OAAO,CAAC,gBAAgB;IA2Cf,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAiB1D"}
1
+ {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/hosts/scroll.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export class ScrollHost extends SingleChildHost {
13
13
  onContentSize;
14
14
  onViewportSize;
15
15
  onEffectiveOffset;
16
+ onRect;
16
17
  // Measured content dimensions (full size before clipping)
17
18
  contentWidth = 0;
18
19
  contentHeight = 0;
@@ -21,6 +22,8 @@ export class ScrollHost extends SingleChildHost {
21
22
  lastViewportH = 0;
22
23
  lastReportedContentW = 0;
23
24
  lastReportedContentH = 0;
25
+ lastRectX = -1;
26
+ lastRectY = -1;
24
27
  // Track if we were at end (for sticky behavior)
25
28
  wasAtEnd = true;
26
29
  // Effective offset after sticky adjustment (used for rendering)
@@ -70,6 +73,12 @@ export class ScrollHost extends SingleChildHost {
70
73
  this.lastViewportH = rect.h;
71
74
  this.onViewportSize?.(rect.w, rect.h);
72
75
  }
76
+ // Report rect if position changed (for hit testing)
77
+ if (rect.x !== this.lastRectX || rect.y !== this.lastRectY) {
78
+ this.lastRectX = rect.x;
79
+ this.lastRectY = rect.y;
80
+ this.onRect?.(rect.x, rect.y, rect.w, rect.h);
81
+ }
73
82
  const child = this.child;
74
83
  if (!child)
75
84
  return;
@@ -206,6 +215,7 @@ export class ScrollHost extends SingleChildHost {
206
215
  this.onContentSize = props.onContentSize;
207
216
  this.onViewportSize = props.onViewportSize;
208
217
  this.onEffectiveOffset = props.onEffectiveOffset;
218
+ this.onRect = props.onRect;
209
219
  }
210
220
  }
211
221
  //# sourceMappingURL=scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/hosts/scroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/hosts/scroll.ts"],"names":[],"mappings":"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"}
@@ -22,9 +22,17 @@ export declare class TextHost extends BaseHost {
22
22
  private cachedLines;
23
23
  private cachedWidth;
24
24
  private cachedContent;
25
+ private cachedStyledLines;
26
+ private hasSpans;
25
27
  constructor(props: TextProps, ctx: HostContext);
26
- /** Get text content from RawTextHost children (cached between measure and render) */
28
+ /** Check if we have SpanHost children (requires styled rendering) */
29
+ private checkForSpans;
30
+ /** Get text content from all children including SpanHost (cached between measure and render) */
27
31
  private getContent;
32
+ /** Collect children as styled spans for multi-style rendering */
33
+ private collectSpans;
34
+ /** Wrap spans into lines, breaking at word boundaries (same logic as StyledTextHost) */
35
+ private wrapSpans;
28
36
  /** Invalidate content cache when children change */
29
37
  private invalidateContent;
30
38
  measure(maxW: number, maxH: number): Size;
@@ -43,6 +51,45 @@ export declare class RawTextHost extends BaseHost {
43
51
  updateText(text: string): void;
44
52
  updateProps(_props: Record<string, unknown>): void;
45
53
  }
54
+ /** Reusable style object for spans */
55
+ export interface SpanStyle {
56
+ fg?: Color;
57
+ bg?: Color;
58
+ bold?: boolean;
59
+ italic?: boolean;
60
+ underline?: boolean;
61
+ inverse?: boolean;
62
+ }
63
+ export interface SpanProps extends CommonProps {
64
+ fg?: Color;
65
+ bg?: Color;
66
+ bold?: boolean;
67
+ italic?: boolean;
68
+ underline?: boolean;
69
+ inverse?: boolean;
70
+ /** Reusable style object. Individual props override textStyle values. */
71
+ textStyle?: SpanStyle;
72
+ }
73
+ /**
74
+ * Host for inline styled spans within a TextHost.
75
+ * Usage: <text>Hello <span fg={GREEN}>World</span></text>
76
+ *
77
+ * Does not render independently - parent TextHost handles rendering.
78
+ */
79
+ export declare class SpanHost extends BaseHost {
80
+ fg?: Color;
81
+ bg?: Color;
82
+ bold: boolean;
83
+ italic: boolean;
84
+ underline: boolean;
85
+ inverse: boolean;
86
+ constructor(props: SpanProps, ctx: HostContext);
87
+ /** Get text content from RawTextHost children */
88
+ getContent(): string;
89
+ measure(_maxW: number, _maxH: number): Size;
90
+ render(_buffer: CellBuffer, _palette: Palette): void;
91
+ updateProps(props: Record<string, unknown>): void;
92
+ }
46
93
  /** A span of text with optional styling */
47
94
  export interface StyledSpan {
48
95
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/hosts/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/hosts/text.ts"],"names":[],"mappings":"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"}