@geometra/core 1.0.0 → 1.0.1

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 (72) hide show
  1. package/README.md +10 -1
  2. package/dist/a11y.d.ts.map +1 -1
  3. package/dist/a11y.js +6 -2
  4. package/dist/a11y.js.map +1 -1
  5. package/dist/animation.d.ts +39 -1
  6. package/dist/animation.d.ts.map +1 -1
  7. package/dist/animation.js +148 -1
  8. package/dist/animation.js.map +1 -1
  9. package/dist/app.d.ts +4 -1
  10. package/dist/app.d.ts.map +1 -1
  11. package/dist/app.js +17 -3
  12. package/dist/app.js.map +1 -1
  13. package/dist/direction.d.ts +11 -0
  14. package/dist/direction.d.ts.map +1 -0
  15. package/dist/direction.js +18 -0
  16. package/dist/direction.js.map +1 -0
  17. package/dist/elements.d.ts +4 -4
  18. package/dist/elements.d.ts.map +1 -1
  19. package/dist/elements.js.map +1 -1
  20. package/dist/focus-trap.d.ts +12 -1
  21. package/dist/focus-trap.d.ts.map +1 -1
  22. package/dist/focus-trap.js +12 -1
  23. package/dist/focus-trap.js.map +1 -1
  24. package/dist/focus.d.ts +3 -2
  25. package/dist/focus.d.ts.map +1 -1
  26. package/dist/focus.js +6 -0
  27. package/dist/focus.js.map +1 -1
  28. package/dist/fonts.d.ts +35 -2
  29. package/dist/fonts.d.ts.map +1 -1
  30. package/dist/fonts.js +335 -12
  31. package/dist/fonts.js.map +1 -1
  32. package/dist/hit-test.d.ts +35 -4
  33. package/dist/hit-test.d.ts.map +1 -1
  34. package/dist/hit-test.js +195 -70
  35. package/dist/hit-test.js.map +1 -1
  36. package/dist/index.d.ts +21 -8
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +17 -6
  39. package/dist/index.js.map +1 -1
  40. package/dist/keyboard.d.ts +5 -2
  41. package/dist/keyboard.d.ts.map +1 -1
  42. package/dist/keyboard.js +5 -2
  43. package/dist/keyboard.js.map +1 -1
  44. package/dist/selection.d.ts +5 -2
  45. package/dist/selection.d.ts.map +1 -1
  46. package/dist/selection.js +37 -8
  47. package/dist/selection.js.map +1 -1
  48. package/dist/seo.d.ts +27 -0
  49. package/dist/seo.d.ts.map +1 -1
  50. package/dist/seo.js +240 -13
  51. package/dist/seo.js.map +1 -1
  52. package/dist/signals.d.ts.map +1 -1
  53. package/dist/signals.js +44 -7
  54. package/dist/signals.js.map +1 -1
  55. package/dist/text-input-history.d.ts +14 -4
  56. package/dist/text-input-history.d.ts.map +1 -1
  57. package/dist/text-input-history.js +37 -8
  58. package/dist/text-input-history.js.map +1 -1
  59. package/dist/text-input.d.ts +8 -8
  60. package/dist/text-input.d.ts.map +1 -1
  61. package/dist/text-input.js +45 -17
  62. package/dist/text-input.js.map +1 -1
  63. package/dist/tree.d.ts.map +1 -1
  64. package/dist/tree.js +3 -0
  65. package/dist/tree.js.map +1 -1
  66. package/dist/types.d.ts +29 -5
  67. package/dist/types.d.ts.map +1 -1
  68. package/dist/virtual-scroll.d.ts +11 -1
  69. package/dist/virtual-scroll.d.ts.map +1 -1
  70. package/dist/virtual-scroll.js +14 -5
  71. package/dist/virtual-scroll.js.map +1 -1
  72. package/package.json +2 -2
@@ -4,12 +4,22 @@ export interface TextInputHistoryState {
4
4
  present: TextInputState;
5
5
  future: TextInputState[];
6
6
  }
7
- /** Create a history container for editable text state. */
7
+ /**
8
+ * Create a history container for editable text state.
9
+ * Undo/redo stacks are empty; {@link pushTextInputHistory} appends the previous `present` to `past`.
10
+ */
8
11
  export declare function createTextInputHistory(initial: TextInputState): TextInputHistoryState;
9
- /** Push a new edit state and clear redo stack. */
12
+ /**
13
+ * Push a new edit state and clear the redo stack (`future`).
14
+ * If `next` matches `present` (same joined text, identical selection anchors, and same `caretColumnIntent`), returns `history` unchanged.
15
+ *
16
+ * @param maxPast — Maximum prior states kept in `past` after this push; older entries are dropped from the front.
17
+ * Use `0` to disable undo (each push yields an empty `past`). `NaN` falls back to `100`; `+Infinity`
18
+ * keeps history unbounded; other non-finite values fall back to `100`. Negative finite values clamp to `0`.
19
+ */
10
20
  export declare function pushTextInputHistory(history: TextInputHistoryState, next: TextInputState | TextInputEditResult, maxPast?: number): TextInputHistoryState;
11
- /** Undo one step, if available. */
21
+ /** Move `present` to `future`, restore the latest `past` entry as `present`, or no-op if `past` is empty. */
12
22
  export declare function undoTextInputHistory(history: TextInputHistoryState): TextInputHistoryState;
13
- /** Redo one step, if available. */
23
+ /** Move `present` to `past`, restore the next `future` entry as `present`, or no-op if `future` is empty. */
14
24
  export declare function redoTextInputHistory(history: TextInputHistoryState): TextInputHistoryState;
15
25
  //# sourceMappingURL=text-input-history.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-input-history.d.ts","sourceRoot":"","sources":["../src/text-input-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1E,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,cAAc,EAAE,CAAA;CACzB;AASD,0DAA0D;AAC1D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,qBAAqB,CAMrF;AAED,kDAAkD;AAClD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,cAAc,GAAG,mBAAmB,EAC1C,OAAO,SAAM,GACZ,qBAAqB,CAyBvB;AAED,mCAAmC;AACnC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,CAS1F;AAED,mCAAmC;AACnC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,CAQ1F"}
1
+ {"version":3,"file":"text-input-history.d.ts","sourceRoot":"","sources":["../src/text-input-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1E,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,cAAc,EAAE,CAAA;IACtB,OAAO,EAAE,cAAc,CAAA;IACvB,MAAM,EAAE,cAAc,EAAE,CAAA;CACzB;AAaD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,qBAAqB,CAMrF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,cAAc,GAAG,mBAAmB,EAC1C,OAAO,SAAM,GACZ,qBAAqB,CAsCvB;AAED,6GAA6G;AAC7G,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,CAS1F;AAED,6GAA6G;AAC7G,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,CAQ1F"}
@@ -1,10 +1,17 @@
1
1
  function cloneState(state) {
2
- return {
2
+ const out = {
3
3
  nodes: [...state.nodes],
4
4
  selection: { ...state.selection },
5
5
  };
6
+ if (state.caretColumnIntent !== undefined) {
7
+ out.caretColumnIntent = state.caretColumnIntent;
8
+ }
9
+ return out;
6
10
  }
7
- /** Create a history container for editable text state. */
11
+ /**
12
+ * Create a history container for editable text state.
13
+ * Undo/redo stacks are empty; {@link pushTextInputHistory} appends the previous `present` to `past`.
14
+ */
8
15
  export function createTextInputHistory(initial) {
9
16
  return {
10
17
  past: [],
@@ -12,23 +19,45 @@ export function createTextInputHistory(initial) {
12
19
  future: [],
13
20
  };
14
21
  }
15
- /** Push a new edit state and clear redo stack. */
22
+ /**
23
+ * Push a new edit state and clear the redo stack (`future`).
24
+ * If `next` matches `present` (same joined text, identical selection anchors, and same `caretColumnIntent`), returns `history` unchanged.
25
+ *
26
+ * @param maxPast — Maximum prior states kept in `past` after this push; older entries are dropped from the front.
27
+ * Use `0` to disable undo (each push yields an empty `past`). `NaN` falls back to `100`; `+Infinity`
28
+ * keeps history unbounded; other non-finite values fall back to `100`. Negative finite values clamp to `0`.
29
+ */
16
30
  export function pushTextInputHistory(history, next, maxPast = 100) {
31
+ let maxPastCap;
32
+ if (typeof maxPast !== 'number' || Number.isNaN(maxPast)) {
33
+ maxPastCap = 100;
34
+ }
35
+ else if (Number.isFinite(maxPast)) {
36
+ maxPastCap = Math.max(0, Math.floor(maxPast));
37
+ }
38
+ else if (maxPast === Number.POSITIVE_INFINITY) {
39
+ maxPastCap = Number.MAX_SAFE_INTEGER;
40
+ }
41
+ else {
42
+ maxPastCap = 100;
43
+ }
17
44
  const present = cloneState(history.present);
18
45
  const incoming = cloneState({
19
46
  nodes: [...next.nodes],
20
47
  selection: { ...next.selection },
48
+ caretColumnIntent: next.caretColumnIntent,
21
49
  });
22
50
  if (present.nodes.join('\n') === incoming.nodes.join('\n') &&
23
51
  present.selection.anchorNode === incoming.selection.anchorNode &&
24
52
  present.selection.anchorOffset === incoming.selection.anchorOffset &&
25
53
  present.selection.focusNode === incoming.selection.focusNode &&
26
- present.selection.focusOffset === incoming.selection.focusOffset) {
54
+ present.selection.focusOffset === incoming.selection.focusOffset &&
55
+ present.caretColumnIntent === incoming.caretColumnIntent) {
27
56
  return history;
28
57
  }
29
58
  const past = [...history.past, present];
30
- if (past.length > maxPast) {
31
- past.splice(0, past.length - maxPast);
59
+ if (past.length > maxPastCap) {
60
+ past.splice(0, past.length - maxPastCap);
32
61
  }
33
62
  return {
34
63
  past,
@@ -36,7 +65,7 @@ export function pushTextInputHistory(history, next, maxPast = 100) {
36
65
  future: [],
37
66
  };
38
67
  }
39
- /** Undo one step, if available. */
68
+ /** Move `present` to `future`, restore the latest `past` entry as `present`, or no-op if `past` is empty. */
40
69
  export function undoTextInputHistory(history) {
41
70
  if (history.past.length === 0)
42
71
  return history;
@@ -48,7 +77,7 @@ export function undoTextInputHistory(history) {
48
77
  future: [cloneState(history.present), ...history.future],
49
78
  };
50
79
  }
51
- /** Redo one step, if available. */
80
+ /** Move `present` to `past`, restore the next `future` entry as `present`, or no-op if `future` is empty. */
52
81
  export function redoTextInputHistory(history) {
53
82
  if (history.future.length === 0)
54
83
  return history;
@@ -1 +1 @@
1
- {"version":3,"file":"text-input-history.js","sourceRoot":"","sources":["../src/text-input-history.ts"],"names":[],"mappings":"AAQA,SAAS,UAAU,CAAC,KAAqB;IACvC,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACvB,SAAS,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE;KAClC,CAAA;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,sBAAsB,CAAC,OAAuB;IAC5D,OAAO;QACL,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;QAC5B,MAAM,EAAE,EAAE;KACX,CAAA;AACH,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,oBAAoB,CAClC,OAA8B,EAC9B,IAA0C,EAC1C,OAAO,GAAG,GAAG;IAEb,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,UAAU,CAAC;QAC1B,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACtB,SAAS,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;KACjC,CAAC,CAAA;IACF,IACE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACtD,OAAO,CAAC,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,SAAS,CAAC,UAAU;QAC9D,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,QAAQ,CAAC,SAAS,CAAC,YAAY;QAClE,OAAO,CAAC,SAAS,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,CAAC,SAAS;QAC5D,OAAO,CAAC,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,SAAS,CAAC,WAAW,EAChE,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACvC,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAA;IACvC,CAAC;IACD,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,EAAE;KACX,CAAA;AACH,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAA;IAC7C,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAG,CAAA;IACxB,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC;QACzB,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;KACzD,CAAA;AACH,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IACjE,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAA;IAC/C,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAA;IACxC,OAAO;QACL,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,EAAE,UAAU,CAAC,IAAK,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;KAC/B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"text-input-history.js","sourceRoot":"","sources":["../src/text-input-history.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,11 @@ export interface TextInputState {
5
5
  nodes: string[];
6
6
  /** Active selection/caret in node-local offsets. */
7
7
  selection: SelectionRange;
8
- }
9
- export interface TextInputEditResult {
10
- nodes: string[];
11
- selection: SelectionRange;
12
- /** Preserved preferred column for vertical caret movement. */
8
+ /** Preferred column for vertical caret movement (arrow up/down); preserved by undo/redo when using history helpers. */
13
9
  caretColumnIntent?: number;
14
10
  }
11
+ /** Result shape returned by edit/caret helpers; same fields as {@link TextInputState}. */
12
+ export type TextInputEditResult = TextInputState;
15
13
  export interface CaretGeometry {
16
14
  x: number;
17
15
  y: number;
@@ -19,6 +17,7 @@ export interface CaretGeometry {
19
17
  nodeIndex: number;
20
18
  offset: number;
21
19
  }
20
+ type ReadingDirection = 'ltr' | 'rtl';
22
21
  /** True when selection is a collapsed caret. */
23
22
  export declare function isCollapsedSelection(selection: SelectionRange): boolean;
24
23
  /** Extract selected text from editable nodes. */
@@ -35,14 +34,15 @@ export declare function backspaceInput(state: TextInputState): TextInputEditResu
35
34
  /** Delete-forward behavior across node boundaries and active selections. */
36
35
  export declare function deleteInput(state: TextInputState): TextInputEditResult;
37
36
  /** Move caret by one character; optionally extend existing selection. */
38
- export declare function moveInputCaret(state: TextInputState, direction: 'left' | 'right' | 'up' | 'down', extendSelection?: boolean, columnIntent?: number): TextInputEditResult;
37
+ export declare function moveInputCaret(state: TextInputState, direction: 'left' | 'right' | 'up' | 'down', extendSelection?: boolean, columnIntent?: number, readingDirection?: ReadingDirection): TextInputEditResult;
39
38
  /** Move caret by whole words (Ctrl/Alt-style navigation). */
40
- export declare function moveInputCaretByWord(state: TextInputState, direction: 'left' | 'right', extendSelection?: boolean): TextInputEditResult;
39
+ export declare function moveInputCaretByWord(state: TextInputState, direction: 'left' | 'right', extendSelection?: boolean, readingDirection?: ReadingDirection): TextInputEditResult;
41
40
  /** Move caret to start/end of current line. */
42
- export declare function moveInputCaretToLineBoundary(state: TextInputState, boundary: 'start' | 'end', extendSelection?: boolean): TextInputEditResult;
41
+ export declare function moveInputCaretToLineBoundary(state: TextInputState, boundary: 'start' | 'end', extendSelection?: boolean, readingDirection?: ReadingDirection): TextInputEditResult;
43
42
  /**
44
43
  * Compute caret geometry from measured text lines for a collapsed selection.
45
44
  * Returns null when selection is expanded or text metrics are unavailable.
46
45
  */
47
46
  export declare function getInputCaretGeometry(textNodes: TextNodeInfo[], selection: SelectionRange): CaretGeometry | null;
47
+ export {};
48
48
  //# sourceMappingURL=text-input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-input.d.ts","sourceRoot":"","sources":["../src/text-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,oDAAoD;IACpD,SAAS,EAAE,cAAc,CAAA;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,SAAS,EAAE,cAAc,CAAA;IACzB,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AA2CD,gDAAgD;AAChD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAKvE;AAED,iDAAiD;AACjD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,CAiBxF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,MAAM,GACnB,mBAAmB,CAgCrB;AAED,8CAA8C;AAC9C,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,GACX,mBAAmB,CAErB;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,mBAAmB,CAqCzE;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,mBAAmB,CAoCtE;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,EAC3C,eAAe,UAAQ,EACvB,YAAY,CAAC,EAAE,MAAM,GACpB,mBAAmB,CAyErB;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,GAAG,OAAO,EAC3B,eAAe,UAAQ,GACtB,mBAAmB,CA8CrB;AAED,+CAA+C;AAC/C,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,OAAO,GAAG,KAAK,EACzB,eAAe,UAAQ,GACtB,mBAAmB,CA0BrB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,YAAY,EAAE,EACzB,SAAS,EAAE,cAAc,GACxB,aAAa,GAAG,IAAI,CAmCtB"}
1
+ {"version":3,"file":"text-input.d.ts","sourceRoot":"","sources":["../src/text-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,oDAAoD;IACpD,SAAS,EAAE,cAAc,CAAA;IACzB,uHAAuH;IACvH,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,0FAA0F;AAC1F,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAA;AAEhD,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,KAAK,gBAAgB,GAAG,KAAK,GAAG,KAAK,CAAA;AAqDrC,gDAAgD;AAChD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAKvE;AAED,iDAAiD;AACjD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,cAAc,GAAG,MAAM,CAiBxF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,MAAM,GACnB,mBAAmB,CAgCrB;AAED,8CAA8C;AAC9C,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,MAAM,GACX,mBAAmB,CAErB;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,mBAAmB,CAqCzE;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,mBAAmB,CAoCtE;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,EAC3C,eAAe,UAAQ,EACvB,YAAY,CAAC,EAAE,MAAM,EACrB,gBAAgB,GAAE,gBAAwB,GACzC,mBAAmB,CA8ErB;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,GAAG,OAAO,EAC3B,eAAe,UAAQ,EACvB,gBAAgB,GAAE,gBAAwB,GACzC,mBAAmB,CAgDrB;AAED,+CAA+C;AAC/C,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,OAAO,GAAG,KAAK,EACzB,eAAe,UAAQ,EACvB,gBAAgB,GAAE,gBAAwB,GACzC,mBAAmB,CA8BrB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,YAAY,EAAE,EACzB,SAAS,EAAE,cAAc,GACxB,aAAa,GAAG,IAAI,CAgDtB"}
@@ -28,6 +28,12 @@ function clampSelection(nodes, selection) {
28
28
  function isWordChar(ch) {
29
29
  return /[A-Za-z0-9_]/.test(ch);
30
30
  }
31
+ function resolveHorizontalDirection(direction, readingDirection) {
32
+ if (readingDirection === 'rtl') {
33
+ return direction === 'left' ? 'right' : 'left';
34
+ }
35
+ return direction;
36
+ }
31
37
  /** True when selection is a collapsed caret. */
32
38
  export function isCollapsedSelection(selection) {
33
39
  return (selection.anchorNode === selection.focusNode &&
@@ -158,20 +164,23 @@ export function deleteInput(state) {
158
164
  };
159
165
  }
160
166
  /** Move caret by one character; optionally extend existing selection. */
161
- export function moveInputCaret(state, direction, extendSelection = false, columnIntent) {
167
+ export function moveInputCaret(state, direction, extendSelection = false, columnIntent, readingDirection = 'ltr') {
162
168
  const nodes = state.nodes.length > 0 ? state.nodes : [''];
163
169
  const selection = clampSelection(nodes, state.selection);
164
170
  const collapsed = isCollapsedSelection(selection);
165
171
  let nodeIndex = extendSelection ? selection.focusNode : selection.anchorNode;
166
172
  let offset = extendSelection ? selection.focusOffset : selection.anchorOffset;
167
173
  let nextColumnIntent = columnIntent;
174
+ const horizontalDirection = direction === 'left' || direction === 'right'
175
+ ? resolveHorizontalDirection(direction, readingDirection)
176
+ : undefined;
168
177
  if (!collapsed && !extendSelection) {
169
178
  const s = normalizeSelection(selection);
170
- if (direction === 'left') {
179
+ if (horizontalDirection === 'left') {
171
180
  nodeIndex = s.anchorNode;
172
181
  offset = s.anchorOffset;
173
182
  }
174
- else if (direction === 'right') {
183
+ else if (horizontalDirection === 'right') {
175
184
  nodeIndex = s.focusNode;
176
185
  offset = s.focusOffset;
177
186
  }
@@ -184,7 +193,7 @@ export function moveInputCaret(state, direction, extendSelection = false, column
184
193
  offset = s.focusOffset;
185
194
  }
186
195
  }
187
- else if (direction === 'left') {
196
+ else if (horizontalDirection === 'left') {
188
197
  if (offset > 0) {
189
198
  offset--;
190
199
  }
@@ -194,7 +203,7 @@ export function moveInputCaret(state, direction, extendSelection = false, column
194
203
  }
195
204
  nextColumnIntent = undefined;
196
205
  }
197
- else if (direction === 'right') {
206
+ else if (horizontalDirection === 'right') {
198
207
  const text = nodes[nodeIndex];
199
208
  if (offset < text.length) {
200
209
  offset++;
@@ -238,18 +247,19 @@ export function moveInputCaret(state, direction, extendSelection = false, column
238
247
  };
239
248
  }
240
249
  /** Move caret by whole words (Ctrl/Alt-style navigation). */
241
- export function moveInputCaretByWord(state, direction, extendSelection = false) {
250
+ export function moveInputCaretByWord(state, direction, extendSelection = false, readingDirection = 'ltr') {
242
251
  const nodes = state.nodes.length > 0 ? state.nodes : [''];
243
252
  const selection = clampSelection(nodes, state.selection);
244
253
  const collapsed = isCollapsedSelection(selection);
245
254
  let nodeIndex = extendSelection ? selection.focusNode : selection.anchorNode;
246
255
  let offset = extendSelection ? selection.focusOffset : selection.anchorOffset;
256
+ const horizontalDirection = resolveHorizontalDirection(direction, readingDirection);
247
257
  if (!collapsed && !extendSelection) {
248
258
  const s = normalizeSelection(selection);
249
- nodeIndex = direction === 'left' ? s.anchorNode : s.focusNode;
250
- offset = direction === 'left' ? s.anchorOffset : s.focusOffset;
259
+ nodeIndex = horizontalDirection === 'left' ? s.anchorNode : s.focusNode;
260
+ offset = horizontalDirection === 'left' ? s.anchorOffset : s.focusOffset;
251
261
  }
252
- else if (direction === 'left') {
262
+ else if (horizontalDirection === 'left') {
253
263
  if (offset === 0 && nodeIndex > 0) {
254
264
  nodeIndex--;
255
265
  offset = nodes[nodeIndex].length;
@@ -291,16 +301,19 @@ export function moveInputCaretByWord(state, direction, extendSelection = false)
291
301
  return { nodes: [...nodes], selection: nextSelection };
292
302
  }
293
303
  /** Move caret to start/end of current line. */
294
- export function moveInputCaretToLineBoundary(state, boundary, extendSelection = false) {
304
+ export function moveInputCaretToLineBoundary(state, boundary, extendSelection = false, readingDirection = 'ltr') {
295
305
  const nodes = state.nodes.length > 0 ? state.nodes : [''];
296
306
  const selection = clampSelection(nodes, state.selection);
297
307
  const collapsed = isCollapsedSelection(selection);
298
308
  let nodeIndex = extendSelection ? selection.focusNode : selection.anchorNode;
309
+ const resolvedBoundary = readingDirection === 'rtl'
310
+ ? (boundary === 'start' ? 'end' : 'start')
311
+ : boundary;
299
312
  if (!collapsed && !extendSelection) {
300
313
  const s = normalizeSelection(selection);
301
- nodeIndex = boundary === 'start' ? s.anchorNode : s.focusNode;
314
+ nodeIndex = resolvedBoundary === 'start' ? s.anchorNode : s.focusNode;
302
315
  }
303
- const offset = boundary === 'start' ? 0 : nodes[nodeIndex].length;
316
+ const offset = resolvedBoundary === 'start' ? 0 : nodes[nodeIndex].length;
304
317
  const nextSelection = extendSelection
305
318
  ? {
306
319
  anchorNode: selection.anchorNode,
@@ -335,13 +348,28 @@ export function getInputCaretGeometry(textNodes, selection) {
335
348
  if (targetOffset <= lineEnd || isLastLine) {
336
349
  const local = Math.max(0, Math.min(targetOffset - traversed, line.text.length));
337
350
  let x = line.x;
338
- if (local > 0 && line.charOffsets.length > 0) {
339
- if (local < line.charOffsets.length) {
340
- x += line.charOffsets[local] ?? 0;
351
+ if (line.charOffsets.length > 0) {
352
+ if (node.direction === 'rtl') {
353
+ const lineWidth = (line.charOffsets[line.charOffsets.length - 1] ?? 0) + (line.charWidths[line.charWidths.length - 1] ?? 0);
354
+ let logicalOffset = 0;
355
+ if (local > 0) {
356
+ if (local < line.charOffsets.length) {
357
+ logicalOffset = line.charOffsets[local] ?? 0;
358
+ }
359
+ else {
360
+ logicalOffset = lineWidth;
361
+ }
362
+ }
363
+ x += lineWidth - logicalOffset;
341
364
  }
342
365
  else {
343
- const lastIndex = line.charOffsets.length - 1;
344
- x += (line.charOffsets[lastIndex] ?? 0) + (line.charWidths[lastIndex] ?? 0);
366
+ if (local < line.charOffsets.length) {
367
+ x += line.charOffsets[local] ?? 0;
368
+ }
369
+ else {
370
+ const lastIndex = line.charOffsets.length - 1;
371
+ x += (line.charOffsets[lastIndex] ?? 0) + (line.charWidths[lastIndex] ?? 0);
372
+ }
345
373
  }
346
374
  }
347
375
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"text-input.js","sourceRoot":"","sources":["../src/text-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-input.js","sourceRoot":"","sources":["../src/text-input.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AA0B3C,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,GAAG,UAAU,CAW3D"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AA6B3C,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,GAAG,UAAU,CAW3D"}
package/dist/tree.js CHANGED
@@ -8,6 +8,7 @@ function stripStyleProps(props) {
8
8
  delete layoutProps.borderWidth;
9
9
  delete layoutProps.opacity;
10
10
  delete layoutProps.cursor;
11
+ delete layoutProps.pointerEvents;
11
12
  delete layoutProps.zIndex;
12
13
  delete layoutProps.overflow;
13
14
  delete layoutProps.scrollX;
@@ -15,6 +16,8 @@ function stripStyleProps(props) {
15
16
  delete layoutProps.boxShadow;
16
17
  delete layoutProps.gradient;
17
18
  delete layoutProps.selectable;
19
+ // Direction metadata is resolved by interaction/text helpers, not Yoga.
20
+ delete layoutProps.dir;
18
21
  // Image-only props
19
22
  delete layoutProps.src;
20
23
  delete layoutProps.alt;
package/dist/tree.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAGA,8EAA8E;AAC9E,SAAS,eAAe,CAAC,KAA8B;IACrD,MAAM,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;IAChC,OAAO,WAAW,CAAC,eAAe,CAAA;IAClC,OAAO,WAAW,CAAC,KAAK,CAAA;IACxB,OAAO,WAAW,CAAC,WAAW,CAAA;IAC9B,OAAO,WAAW,CAAC,YAAY,CAAA;IAC/B,OAAO,WAAW,CAAC,WAAW,CAAA;IAC9B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,MAAM,CAAA;IACzB,OAAO,WAAW,CAAC,MAAM,CAAA;IACzB,OAAO,WAAW,CAAC,QAAQ,CAAA;IAC3B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,SAAS,CAAA;IAC5B,OAAO,WAAW,CAAC,QAAQ,CAAA;IAC3B,OAAO,WAAW,CAAC,UAAU,CAAA;IAC7B,mBAAmB;IACnB,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,OAAO,WAAW,CAAC,SAAS,CAAA;IAC5B,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAAC,OAAkB;IAC7C,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAA;IAE7E,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxD,OAAO,WAAyB,CAAA;IAClC,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC;KAC/B,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAGA,8EAA8E;AAC9E,SAAS,eAAe,CAAC,KAA8B;IACrD,MAAM,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;IAChC,OAAO,WAAW,CAAC,eAAe,CAAA;IAClC,OAAO,WAAW,CAAC,KAAK,CAAA;IACxB,OAAO,WAAW,CAAC,WAAW,CAAA;IAC9B,OAAO,WAAW,CAAC,YAAY,CAAA;IAC/B,OAAO,WAAW,CAAC,WAAW,CAAA;IAC9B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,MAAM,CAAA;IACzB,OAAO,WAAW,CAAC,aAAa,CAAA;IAChC,OAAO,WAAW,CAAC,MAAM,CAAA;IACzB,OAAO,WAAW,CAAC,QAAQ,CAAA;IAC3B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,SAAS,CAAA;IAC5B,OAAO,WAAW,CAAC,QAAQ,CAAA;IAC3B,OAAO,WAAW,CAAC,UAAU,CAAA;IAC7B,wEAAwE;IACxE,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,mBAAmB;IACnB,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,OAAO,WAAW,CAAC,SAAS,CAAA;IAC5B,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAAC,OAAkB;IAC7C,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAA;IAE7E,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxD,OAAO,WAAyB,CAAA;IAClC,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC;KAC/B,CAAA;AACjB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,10 @@
1
1
  import type { FlexProps, ComputedLayout } from 'textura';
2
+ /** Text direction model used by UI elements. */
3
+ export type Direction = 'ltr' | 'rtl' | 'auto';
4
+ /** Optional direction metadata carried on UI props. */
5
+ export interface DirectionProps {
6
+ dir?: Direction;
7
+ }
2
8
  /** Style properties for visual rendering (not layout). */
3
9
  export interface StyleProps {
4
10
  backgroundColor?: string;
@@ -9,8 +15,16 @@ export interface StyleProps {
9
15
  opacity?: number;
10
16
  /** Cursor to show when hovering this element. */
11
17
  cursor?: 'default' | 'pointer' | 'grab' | 'grabbing' | 'text' | 'not-allowed' | 'crosshair' | 'move';
12
- /** Z-index for paint ordering among siblings. Higher values paint on top. */
18
+ /**
19
+ * Z-index for paint ordering among siblings. Higher values paint on top.
20
+ * Non-finite values (`NaN`, `±Infinity`) are treated as `0` for hit-testing and renderer paint order.
21
+ */
13
22
  zIndex?: number;
23
+ /**
24
+ * Pointer hit targeting. `'none'` skips this box for pointer handlers and cursor resolution;
25
+ * hits pass through to geometry behind it. Descendants still receive hits unless they also set `'none'`.
26
+ */
27
+ pointerEvents?: 'auto' | 'none';
14
28
  /** Overflow behavior for children. */
15
29
  overflow?: 'visible' | 'hidden' | 'scroll';
16
30
  /** Horizontal scroll offset (used with overflow: 'scroll'). */
@@ -41,7 +55,7 @@ export interface SemanticProps {
41
55
  tag?: string;
42
56
  /** ARIA role for accessibility (e.g. 'heading', 'navigation', 'button'). */
43
57
  role?: string;
44
- /** Alt text for images or decorative elements. */
58
+ /** Alt text for images; on boxes, `toSemanticHTML` maps this to `aria-label` only when `ariaLabel` is unset. */
45
59
  alt?: string;
46
60
  /** Aria-label for screen readers. */
47
61
  ariaLabel?: string;
@@ -55,7 +69,7 @@ export interface SemanticProps {
55
69
  /** A text node in the component tree. */
56
70
  export interface TextElement {
57
71
  kind: 'text';
58
- props: FlexProps & StyleProps & {
72
+ props: FlexProps & StyleProps & DirectionProps & {
59
73
  text: string;
60
74
  font: string;
61
75
  lineHeight: number;
@@ -70,7 +84,7 @@ export interface TextElement {
70
84
  /** A box (container) node in the component tree. */
71
85
  export interface BoxElement {
72
86
  kind: 'box';
73
- props: FlexProps & StyleProps;
87
+ props: FlexProps & StyleProps & DirectionProps;
74
88
  children: UIElement[];
75
89
  key?: string;
76
90
  /** Optional event handlers — resolved via hit-testing. */
@@ -81,7 +95,7 @@ export interface BoxElement {
81
95
  /** An image element in the component tree. */
82
96
  export interface ImageElement {
83
97
  kind: 'image';
84
- props: FlexProps & StyleProps & {
98
+ props: FlexProps & StyleProps & DirectionProps & {
85
99
  src: string;
86
100
  alt?: string;
87
101
  objectFit?: 'fill' | 'contain' | 'cover';
@@ -134,11 +148,21 @@ export interface CompositionHitEvent {
134
148
  }
135
149
  /** A component function receives props and returns a UIElement tree. */
136
150
  export type Component<P = Record<string, never>> = (props: P) => UIElement;
151
+ /** Optional per-frame timings supplied by the host (e.g. `createApp` after Yoga). */
152
+ export interface FrameTimings {
153
+ /** Wall time for `computeLayout` (or equivalent) in milliseconds. */
154
+ layoutMs: number;
155
+ }
137
156
  /** Interface that all render backends implement. */
138
157
  export interface Renderer {
139
158
  /** Render a computed layout frame. */
140
159
  render(layout: ComputedLayout, tree: UIElement): void;
141
160
  /** Clean up renderer resources. */
142
161
  destroy(): void;
162
+ /**
163
+ * When present, called by `createApp` after layout and before `render`
164
+ * so backends (e.g. canvas inspector) can show layout vs paint split.
165
+ */
166
+ setFrameTimings?(timings: FrameTimings): void;
143
167
  }
144
168
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAExD,0DAA0D;AAC1D,MAAM,WAAW,UAAU;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iDAAiD;IACjD,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,aAAa,GAAG,WAAW,GAAG,MAAM,CAAA;IACpG,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sCAAsC;IACtC,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAC1C,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kBAAkB;IAClB,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7E,uEAAuE;IACvE,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,QAAQ,CAAA;QACd,sDAAsD;QACtD,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAChD,CAAA;CACF;AAED,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uBAAuB;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iCAAiC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,uBAAuB;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG;QAC9B,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;QAClC,8DAA8D;QAC9D,UAAU,CAAC,EAAE,OAAO,CAAA;KACrB,CAAA;IACD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mCAAmC;IACnC,QAAQ,CAAC,EAAE,aAAa,CAAA;CACzB;AAED,oDAAoD;AACpD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,CAAA;IACX,KAAK,EAAE,SAAS,GAAG,UAAU,CAAA;IAC7B,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,aAAa,CAAA;CACzB;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG;QAC9B,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;KACzC,CAAA;IACD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,aAAa,CAAA;CACzB;AAED,kCAAkC;AAClC,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,CAAA;AAE/D,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC/B,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;IACrC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;IACnC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;IACrC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACpE,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACzC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACvC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAA;IACrD,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAA;CACpD;AAED,qDAAqD;AACrD,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,cAAc,CAAA;CACvB;AAED,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,cAAc,CAAA;CACvB;AAED,8DAA8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,cAAc,CAAA;CACvB;AAED,wEAAwE;AACxE,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAA;AAE1E,oDAAoD;AACpD,MAAM,WAAW,QAAQ;IACvB,sCAAsC;IACtC,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;IACrD,mCAAmC;IACnC,OAAO,IAAI,IAAI,CAAA;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,20 @@
1
+ /** Indices describing the visible slice of a virtual list after {@link syncVirtualWindow}. */
1
2
  export interface VirtualWindowState {
3
+ /** First visible row index (inclusive), in `[0, totalRows - 1]` when `totalRows > 0`. */
2
4
  start: number;
5
+ /** Last visible row index (inclusive); equals `start` when at most one row is visible. */
3
6
  end: number;
7
+ /** Selection index after clamping to valid row range. */
4
8
  selected: number;
5
9
  }
6
10
  /**
7
- * Keep selected row visible within a fixed-size virtual window.
11
+ * Keep the selected row index visible inside a fixed-size virtual window.
12
+ *
13
+ * @param totalRows — Non-negative row count; negative values are treated as zero.
14
+ * @param windowSize — Visible row count; values below 1 are clamped to 1.
15
+ * @param selected — Desired selection index; clamped into `[0, totalRows - 1]`.
16
+ * @param currentStart — Current window start index; clamped into valid range before adjusting for selection.
17
+ * Non-finite arguments use the same defaults as empty/reset UI state (`0` rows, window `1`, selection/start `0`).
8
18
  */
9
19
  export declare function syncVirtualWindow(totalRows: number, windowSize: number, selected: number, currentStart: number): VirtualWindowState;
10
20
  //# sourceMappingURL=virtual-scroll.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-scroll.d.ts","sourceRoot":"","sources":["../src/virtual-scroll.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,kBAAkB,CAsBpB"}
1
+ {"version":3,"file":"virtual-scroll.d.ts","sourceRoot":"","sources":["../src/virtual-scroll.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,KAAK,EAAE,MAAM,CAAA;IACb,0FAA0F;IAC1F,GAAG,EAAE,MAAM,CAAA;IACX,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAA;CACjB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,kBAAkB,CAsBpB"}
@@ -1,13 +1,22 @@
1
+ function finiteOr(n, fallback) {
2
+ return Number.isFinite(n) ? n : fallback;
3
+ }
1
4
  /**
2
- * Keep selected row visible within a fixed-size virtual window.
5
+ * Keep the selected row index visible inside a fixed-size virtual window.
6
+ *
7
+ * @param totalRows — Non-negative row count; negative values are treated as zero.
8
+ * @param windowSize — Visible row count; values below 1 are clamped to 1.
9
+ * @param selected — Desired selection index; clamped into `[0, totalRows - 1]`.
10
+ * @param currentStart — Current window start index; clamped into valid range before adjusting for selection.
11
+ * Non-finite arguments use the same defaults as empty/reset UI state (`0` rows, window `1`, selection/start `0`).
3
12
  */
4
13
  export function syncVirtualWindow(totalRows, windowSize, selected, currentStart) {
5
- const safeTotal = Math.max(0, totalRows);
6
- const safeWindow = Math.max(1, windowSize);
14
+ const safeTotal = Math.max(0, finiteOr(totalRows, 0));
15
+ const safeWindow = Math.max(1, finiteOr(windowSize, 1));
7
16
  const maxIndex = Math.max(0, safeTotal - 1);
8
- const nextSelected = Math.max(0, Math.min(maxIndex, selected));
17
+ const nextSelected = Math.max(0, Math.min(maxIndex, finiteOr(selected, 0)));
9
18
  const maxStart = Math.max(0, safeTotal - safeWindow);
10
- let start = Math.max(0, Math.min(maxStart, currentStart));
19
+ let start = Math.max(0, Math.min(maxStart, finiteOr(currentStart, 0)));
11
20
  const end = Math.min(maxIndex, start + safeWindow - 1);
12
21
  if (nextSelected < start) {
13
22
  start = nextSelected;
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-scroll.js","sourceRoot":"","sources":["../src/virtual-scroll.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,YAAoB;IAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,CAAA;IAEpD,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAA;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAA;IAEtD,IAAI,YAAY,GAAG,KAAK,EAAE,CAAC;QACzB,KAAK,GAAG,YAAY,CAAA;IACtB,CAAC;SAAM,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC;QAC9B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAC3D,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC;QACtD,QAAQ,EAAE,YAAY;KACvB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"virtual-scroll.js","sourceRoot":"","sources":["../src/virtual-scroll.ts"],"names":[],"mappings":"AAUA,SAAS,QAAQ,CAAC,CAAS,EAAE,QAAgB;IAC3C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC1C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,YAAoB;IAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,CAAA;IAEpD,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACtE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAA;IAEtD,IAAI,YAAY,GAAG,KAAK,EAAE,CAAC;QACzB,KAAK,GAAG,YAAY,CAAA;IACtB,CAAC;SAAM,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC;QAC9B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAC3D,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC;QACtD,QAAQ,EAAE,YAAY;KACvB,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geometra/core",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "DOM-free UI framework core: components, signals, reconciler",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -39,7 +39,7 @@
39
39
  "check": "tsc --noEmit"
40
40
  },
41
41
  "dependencies": {
42
- "textura": "^1.1.1"
42
+ "textura": "^1.1.2"
43
43
  },
44
44
  "optionalDependencies": {
45
45
  "@napi-rs/canvas": "^0.1.65"