@graphrefly/graphrefly 0.23.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-NZMBRXQV.js → chunk-5DJTTKX3.js} +11 -13
- package/dist/chunk-5DJTTKX3.js.map +1 -0
- package/dist/{chunk-PNUZM7PC.js → chunk-EVR6UFUV.js} +6 -6
- package/dist/{chunk-HVBX5KIW.js → chunk-H4RVA4VE.js} +2 -2
- package/dist/{chunk-32N5A454.js → chunk-HWPIFSW2.js} +2 -2
- package/dist/chunk-HWPIFSW2.js.map +1 -0
- package/dist/{chunk-XTLYW4FR.js → chunk-IAHGTNOZ.js} +6 -4
- package/dist/{chunk-XTLYW4FR.js.map → chunk-IAHGTNOZ.js.map} +1 -1
- package/dist/{chunk-CWYPA63G.js → chunk-L2GLW2U7.js} +69 -2
- package/dist/chunk-L2GLW2U7.js.map +1 -0
- package/dist/{chunk-2GQLMQVJ.js → chunk-MW4VAKAO.js} +3 -3
- package/dist/{chunk-JFONSPNF.js → chunk-PY4XCDLR.js} +2 -2
- package/dist/{chunk-263BEJJO.js → chunk-QOWVNWOC.js} +3 -3
- package/dist/{chunk-PX6PDUJ5.js → chunk-TKE3JGOH.js} +491 -19
- package/dist/chunk-TKE3JGOH.js.map +1 -0
- package/dist/{chunk-XRFJJ2IU.js → chunk-XOFWRC73.js} +3 -3
- package/dist/compat/nestjs/index.cjs +10 -12
- package/dist/compat/nestjs/index.cjs.map +1 -1
- package/dist/compat/nestjs/index.d.cts +6 -6
- package/dist/compat/nestjs/index.d.ts +6 -6
- package/dist/compat/nestjs/index.js +9 -9
- package/dist/core/index.cjs +10 -12
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +3 -3
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.js +3 -3
- package/dist/extra/index.cjs +78 -12
- package/dist/extra/index.cjs.map +1 -1
- package/dist/extra/index.d.cts +4 -4
- package/dist/extra/index.d.ts +4 -4
- package/dist/extra/index.js +6 -4
- package/dist/graph/index.cjs +10 -12
- package/dist/graph/index.cjs.map +1 -1
- package/dist/graph/index.d.cts +5 -5
- package/dist/graph/index.d.ts +5 -5
- package/dist/graph/index.js +4 -4
- package/dist/{graph-CEO2FkLY.d.ts → graph-B6NFqv3z.d.ts} +3 -3
- package/dist/{graph-BtdSRHUc.d.cts → graph-D-3JIQme.d.cts} +3 -3
- package/dist/{index-BFGjXbiP.d.cts → index-AMWewNDe.d.cts} +2 -2
- package/dist/{index-BUj3ASVe.d.cts → index-BJB7t9gg.d.cts} +10 -24
- package/dist/{index-DSPc5rkv.d.ts → index-C-TXEa7C.d.ts} +10 -24
- package/dist/{index-CkElcUY6.d.ts → index-CYkjxu3s.d.ts} +2 -2
- package/dist/{index-B0tfuXwV.d.cts → index-Ch0IpIO0.d.cts} +32 -5
- package/dist/{index-C59uSJAH.d.cts → index-DKE1EATr.d.cts} +224 -4
- package/dist/{index-DgscL7v0.d.ts → index-DiobMNwE.d.ts} +3 -3
- package/dist/{index-RXN94sHK.d.ts → index-Ds23Wvou.d.ts} +32 -5
- package/dist/{index-BPlWVAKY.d.cts → index-J7Kc0oIQ.d.cts} +3 -3
- package/dist/{index-jEtF4N7L.d.ts → index-OXImXMq6.d.ts} +224 -4
- package/dist/index.cjs +570 -47
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -15
- package/dist/index.d.ts +15 -15
- package/dist/index.js +23 -31
- package/dist/index.js.map +1 -1
- package/dist/{meta-3QjzotRv.d.ts → meta-CnkLA_43.d.ts} +1 -1
- package/dist/{meta-B-Lbs4-O.d.cts → meta-DWbkoq1s.d.cts} +1 -1
- package/dist/{node-C7PD3sn9.d.cts → node-B-f-Lu-k.d.cts} +15 -13
- package/dist/{node-C7PD3sn9.d.ts → node-B-f-Lu-k.d.ts} +15 -13
- package/dist/{observable-axpzv1K2.d.cts → observable-DBnrwcar.d.cts} +1 -1
- package/dist/{observable-EyO-moQY.d.ts → observable-uP-wy_uK.d.ts} +1 -1
- package/dist/patterns/reactive-layout/index.cjs +498 -28
- package/dist/patterns/reactive-layout/index.cjs.map +1 -1
- package/dist/patterns/reactive-layout/index.d.cts +5 -5
- package/dist/patterns/reactive-layout/index.d.ts +5 -5
- package/dist/patterns/reactive-layout/index.js +20 -8
- package/dist/{storage-DIgAr7M_.d.cts → storage-BuTdpCI1.d.cts} +1 -1
- package/dist/{storage-CHT5WE9m.d.ts → storage-F2X1U1x0.d.ts} +1 -1
- package/package.json +2 -2
- package/dist/chunk-32N5A454.js.map +0 -1
- package/dist/chunk-CWYPA63G.js.map +0 -1
- package/dist/chunk-NZMBRXQV.js.map +0 -1
- package/dist/chunk-PX6PDUJ5.js.map +0 -1
- /package/dist/{chunk-PNUZM7PC.js.map → chunk-EVR6UFUV.js.map} +0 -0
- /package/dist/{chunk-HVBX5KIW.js.map → chunk-H4RVA4VE.js.map} +0 -0
- /package/dist/{chunk-2GQLMQVJ.js.map → chunk-MW4VAKAO.js.map} +0 -0
- /package/dist/{chunk-JFONSPNF.js.map → chunk-PY4XCDLR.js.map} +0 -0
- /package/dist/{chunk-263BEJJO.js.map → chunk-QOWVNWOC.js.map} +0 -0
- /package/dist/{chunk-XRFJJ2IU.js.map → chunk-XOFWRC73.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as Node } from './node-
|
|
2
|
-
import { G as Graph } from './graph-
|
|
1
|
+
import { N as Node } from './node-B-f-Lu-k.js';
|
|
2
|
+
import { G as Graph } from './graph-B6NFqv3z.js';
|
|
3
3
|
|
|
4
4
|
/** Pluggable measurement backend. */
|
|
5
5
|
interface MeasurementAdapter {
|
|
@@ -46,6 +46,35 @@ type LineBreaksResult = {
|
|
|
46
46
|
lines: LayoutLine[];
|
|
47
47
|
lineCount: number;
|
|
48
48
|
};
|
|
49
|
+
/**
|
|
50
|
+
* A position within `PreparedSegment[]` — segment + grapheme offset.
|
|
51
|
+
* `graphemeIndex: 0` at segment boundaries.
|
|
52
|
+
*
|
|
53
|
+
* Used by {@link layoutNextLine} for cursor-based line walking; needed when
|
|
54
|
+
* lines have varying widths (multi-column flow, text wrapping around obstacles).
|
|
55
|
+
*/
|
|
56
|
+
type LayoutCursor = {
|
|
57
|
+
segmentIndex: number;
|
|
58
|
+
graphemeIndex: number;
|
|
59
|
+
};
|
|
60
|
+
/** A horizontal span `[left, right]` in pixels — used by flow-layout slot carving. */
|
|
61
|
+
type Interval = {
|
|
62
|
+
left: number;
|
|
63
|
+
right: number;
|
|
64
|
+
};
|
|
65
|
+
/** Result of a single `layoutNextLine` call. */
|
|
66
|
+
type LayoutNextLineResult = {
|
|
67
|
+
text: string;
|
|
68
|
+
width: number;
|
|
69
|
+
start: LayoutCursor;
|
|
70
|
+
end: LayoutCursor;
|
|
71
|
+
};
|
|
72
|
+
/** Optional context for `layoutNextLine` — enables soft-hyphen visible-hyphen rendering. */
|
|
73
|
+
type LayoutNextLineContext = {
|
|
74
|
+
adapter?: MeasurementAdapter;
|
|
75
|
+
font?: string;
|
|
76
|
+
cache?: Map<string, Map<string, number>>;
|
|
77
|
+
};
|
|
49
78
|
/** Result of the reactive layout graph's describe-accessible state. */
|
|
50
79
|
type ReactiveLayoutBundle = {
|
|
51
80
|
graph: Graph;
|
|
@@ -82,6 +111,42 @@ declare function analyzeAndMeasure(text: string, font: string, adapter: Measurem
|
|
|
82
111
|
* - Hard breaks (forced newline)
|
|
83
112
|
*/
|
|
84
113
|
declare function computeLineBreaks(segments: PreparedSegment[], maxWidth: number, adapter: MeasurementAdapter, font: string, cache: Map<string, Map<string, number>>): LineBreaksResult;
|
|
114
|
+
/**
|
|
115
|
+
* Lay out the next single line starting from `cursor`, fitting into `slotWidth`.
|
|
116
|
+
*
|
|
117
|
+
* Unlike `computeLineBreaks`, which consumes whole text with one `maxWidth`,
|
|
118
|
+
* this is the cursor-based primitive needed when successive lines have different
|
|
119
|
+
* widths (multi-column flow, text wrapping around shape obstacles, mixed
|
|
120
|
+
* column+pullquote layouts).
|
|
121
|
+
*
|
|
122
|
+
* Returns `null` when the cursor is past all segments (text exhausted).
|
|
123
|
+
* At a hard-break with no preceding content, returns an empty line and advances
|
|
124
|
+
* the cursor past the break so the caller can continue.
|
|
125
|
+
*
|
|
126
|
+
* ```ts
|
|
127
|
+
* let cursor: LayoutCursor = { segmentIndex: 0, graphemeIndex: 0 };
|
|
128
|
+
* while (true) {
|
|
129
|
+
* const line = layoutNextLine(segments, cursor, availableWidth);
|
|
130
|
+
* if (line === null) break;
|
|
131
|
+
* render(line);
|
|
132
|
+
* cursor = line.end;
|
|
133
|
+
* }
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
declare function layoutNextLine(segments: PreparedSegment[], cursor: LayoutCursor, slotWidth: number, ctx?: LayoutNextLineContext): LayoutNextLineResult | null;
|
|
137
|
+
/**
|
|
138
|
+
* Subtract blocked horizontal intervals from a base interval, producing
|
|
139
|
+
* remaining ordered, non-overlapping slots wide enough to fit text.
|
|
140
|
+
*
|
|
141
|
+
* Pure geometry — no text dependency. Used by flow-layout to turn obstacle
|
|
142
|
+
* intersections into per-line layout slots.
|
|
143
|
+
*
|
|
144
|
+
* ```ts
|
|
145
|
+
* carveTextLineSlots({left: 0, right: 600}, [{left: 200, right: 280}])
|
|
146
|
+
* // → [{left: 0, right: 200}, {left: 280, right: 600}]
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
declare function carveTextLineSlots(base: Interval, blocked: Interval[], minSlotWidth?: number): Interval[];
|
|
85
150
|
/** Compute per-character x,y positions from line breaks and segments. */
|
|
86
151
|
declare function computeCharPositions(lineBreaks: LineBreaksResult, segments: PreparedSegment[], lineHeight: number): CharPosition[];
|
|
87
152
|
type ReactiveLayoutOptions = {
|
|
@@ -392,6 +457,142 @@ declare function computeTotalHeight(flow: PositionedBlock[]): number;
|
|
|
392
457
|
*/
|
|
393
458
|
declare function reactiveBlockLayout(opts: ReactiveBlockLayoutOptions): ReactiveBlockLayoutBundle;
|
|
394
459
|
|
|
460
|
+
/** A circle obstacle. Center `(cx, cy)`, radius `r`; text keeps `padding` distance. */
|
|
461
|
+
type CircleObstacle = {
|
|
462
|
+
kind: "circle";
|
|
463
|
+
cx: number;
|
|
464
|
+
cy: number;
|
|
465
|
+
r: number;
|
|
466
|
+
/** Horizontal padding between obstacle and wrapped text (default 0). */
|
|
467
|
+
hPad?: number;
|
|
468
|
+
/** Vertical padding — band overlap tolerance (default 0). */
|
|
469
|
+
vPad?: number;
|
|
470
|
+
};
|
|
471
|
+
/** A rectangle obstacle. Top-left `(x, y)`, size `(w, h)`. */
|
|
472
|
+
type RectObstacle = {
|
|
473
|
+
kind: "rect";
|
|
474
|
+
x: number;
|
|
475
|
+
y: number;
|
|
476
|
+
w: number;
|
|
477
|
+
h: number;
|
|
478
|
+
hPad?: number;
|
|
479
|
+
vPad?: number;
|
|
480
|
+
};
|
|
481
|
+
/** Union of built-in obstacle shapes. */
|
|
482
|
+
type Obstacle = CircleObstacle | RectObstacle;
|
|
483
|
+
/**
|
|
484
|
+
* Compute the horizontal interval occluded by a circle at vertical band
|
|
485
|
+
* `[bandTop, bandBottom]`, or `null` if no occlusion.
|
|
486
|
+
*
|
|
487
|
+
* Exported so consumers that render obstacle outlines in sync with the flow
|
|
488
|
+
* can reuse the same geometry the flow engine uses — no divergence.
|
|
489
|
+
*/
|
|
490
|
+
declare function circleIntervalForBand(o: CircleObstacle, bandTop: number, bandBottom: number): Interval | null;
|
|
491
|
+
/** Same as `circleIntervalForBand` for rectangles. */
|
|
492
|
+
declare function rectIntervalForBand(o: RectObstacle, bandTop: number, bandBottom: number): Interval | null;
|
|
493
|
+
type FlowContainer = {
|
|
494
|
+
width: number;
|
|
495
|
+
height: number;
|
|
496
|
+
paddingX?: number;
|
|
497
|
+
paddingY?: number;
|
|
498
|
+
};
|
|
499
|
+
type FlowColumns = {
|
|
500
|
+
count: number;
|
|
501
|
+
gap: number;
|
|
502
|
+
};
|
|
503
|
+
/** A single positioned line after flow layout. */
|
|
504
|
+
type PositionedLine = {
|
|
505
|
+
x: number;
|
|
506
|
+
y: number;
|
|
507
|
+
/** Natural measured width of the text content. */
|
|
508
|
+
width: number;
|
|
509
|
+
/** Width of the slot this line was placed in — use this as the DOM element's
|
|
510
|
+
* `width` when applying `text-align: justify` so the line stretches to the
|
|
511
|
+
* obstacle edge on both sides. */
|
|
512
|
+
slotWidth: number;
|
|
513
|
+
text: string;
|
|
514
|
+
/** Which column index this line belongs to (0-based). */
|
|
515
|
+
columnIndex: number;
|
|
516
|
+
/** `true` iff the slot's right edge was carved short by an obstacle (the
|
|
517
|
+
* slot sits to the LEFT of an obstacle). Renderers can right-align text
|
|
518
|
+
* in these slots so single-word lines still hug the obstacle — CSS
|
|
519
|
+
* `text-align: justify` can't stretch single-word lines, which otherwise
|
|
520
|
+
* produces a visible asymmetry vs. the slot on the other side of the
|
|
521
|
+
* obstacle (which is flush by default). */
|
|
522
|
+
flushToRight: boolean;
|
|
523
|
+
};
|
|
524
|
+
/** Options for `reactiveFlowLayout`. */
|
|
525
|
+
type ReactiveFlowLayoutOptions = {
|
|
526
|
+
adapter: MeasurementAdapter;
|
|
527
|
+
name?: string;
|
|
528
|
+
text?: string;
|
|
529
|
+
font?: string;
|
|
530
|
+
lineHeight?: number;
|
|
531
|
+
container?: FlowContainer;
|
|
532
|
+
columns?: FlowColumns;
|
|
533
|
+
obstacles?: Obstacle[];
|
|
534
|
+
/** Minimum slot width (px) below which a slot is discarded rather than squeezed. Default `20`. */
|
|
535
|
+
minSlotWidth?: number;
|
|
536
|
+
};
|
|
537
|
+
/** Result bundle from `reactiveFlowLayout`. */
|
|
538
|
+
type ReactiveFlowLayoutBundle = {
|
|
539
|
+
graph: Graph;
|
|
540
|
+
setText: (text: string) => void;
|
|
541
|
+
setFont: (font: string) => void;
|
|
542
|
+
setLineHeight: (lh: number) => void;
|
|
543
|
+
setContainer: (c: FlowContainer) => void;
|
|
544
|
+
setColumns: (c: FlowColumns) => void;
|
|
545
|
+
setObstacles: (o: Obstacle[]) => void;
|
|
546
|
+
segments: Node<PreparedSegment[]>;
|
|
547
|
+
flowLines: Node<PositionedLine[]>;
|
|
548
|
+
};
|
|
549
|
+
/** Result of `computeFlowLines`. */
|
|
550
|
+
type FlowLinesResult = {
|
|
551
|
+
/** Positioned lines in render order (columns inner-ordered top-to-bottom). */
|
|
552
|
+
lines: PositionedLine[];
|
|
553
|
+
/** Cursor position after the last line was placed. If
|
|
554
|
+
* `cursor.segmentIndex < segments.length`, the layout **truncated** — the
|
|
555
|
+
* container couldn't fit all text. */
|
|
556
|
+
cursor: LayoutCursor;
|
|
557
|
+
};
|
|
558
|
+
/**
|
|
559
|
+
* Lay out `segments` across N columns, wrapping each line around `obstacles`.
|
|
560
|
+
* Pure function — no reactive wiring. Exported for testing and for consumers
|
|
561
|
+
* who want to run flow layout outside a Graph.
|
|
562
|
+
*
|
|
563
|
+
* `carveTextLineSlots` guarantees left-to-right-ordered, non-overlapping slots,
|
|
564
|
+
* so this function does not sort them.
|
|
565
|
+
*/
|
|
566
|
+
declare function computeFlowLines(segments: PreparedSegment[], container: FlowContainer, columns: FlowColumns, obstacles: Obstacle[], lineHeight: number, minSlotWidth: number): FlowLinesResult;
|
|
567
|
+
/**
|
|
568
|
+
* Create a reactive flow-layout graph: N columns of text wrapping around
|
|
569
|
+
* shape obstacles. Re-runs only the dependent derived nodes on any input
|
|
570
|
+
* change. Obstacle movement (e.g. rAF-driven) invalidates `flow-lines` only;
|
|
571
|
+
* `segments` stays cached as long as `text`/`font` don't change.
|
|
572
|
+
*
|
|
573
|
+
* @example
|
|
574
|
+
* ```ts
|
|
575
|
+
* import { fromRaf, reactiveFlowLayout } from "@graphrefly/graphrefly-ts";
|
|
576
|
+
*
|
|
577
|
+
* const flow = reactiveFlowLayout({
|
|
578
|
+
* adapter: new CanvasMeasureAdapter(),
|
|
579
|
+
* text: longEssay,
|
|
580
|
+
* font: "18px serif",
|
|
581
|
+
* lineHeight: 26,
|
|
582
|
+
* container: { width: 900, height: 600, paddingX: 40, paddingY: 40 },
|
|
583
|
+
* columns: { count: 2, gap: 32 },
|
|
584
|
+
* obstacles: [{ kind: "circle", cx: 450, cy: 300, r: 80 }],
|
|
585
|
+
* });
|
|
586
|
+
*
|
|
587
|
+
* // Animate the obstacle via rAF:
|
|
588
|
+
* fromRaf().subscribe(([[, t]]) => {
|
|
589
|
+
* const x = 450 + 120 * Math.sin((t as number) * 0.001);
|
|
590
|
+
* flow.setObstacles([{ kind: "circle", cx: x, cy: 300, r: 80 }]);
|
|
591
|
+
* });
|
|
592
|
+
* ```
|
|
593
|
+
*/
|
|
594
|
+
declare function reactiveFlowLayout(opts: ReactiveFlowLayoutOptions): ReactiveFlowLayoutBundle;
|
|
595
|
+
|
|
395
596
|
/**
|
|
396
597
|
* Reactive layout pattern — standalone subpath export.
|
|
397
598
|
*
|
|
@@ -406,44 +607,63 @@ declare const index_CanvasMeasureAdapter: typeof CanvasMeasureAdapter;
|
|
|
406
607
|
type index_CanvasMeasureAdapterOptions = CanvasMeasureAdapterOptions;
|
|
407
608
|
type index_CanvasModule = CanvasModule;
|
|
408
609
|
type index_CharPosition = CharPosition;
|
|
610
|
+
type index_CircleObstacle = CircleObstacle;
|
|
409
611
|
type index_CliMeasureAdapter = CliMeasureAdapter;
|
|
410
612
|
declare const index_CliMeasureAdapter: typeof CliMeasureAdapter;
|
|
411
613
|
type index_CliMeasureAdapterOptions = CliMeasureAdapterOptions;
|
|
412
614
|
type index_ContentBlock = ContentBlock;
|
|
615
|
+
type index_FlowColumns = FlowColumns;
|
|
616
|
+
type index_FlowContainer = FlowContainer;
|
|
617
|
+
type index_FlowLinesResult = FlowLinesResult;
|
|
413
618
|
type index_ImageMeasurer = ImageMeasurer;
|
|
414
619
|
type index_ImageSizeAdapter = ImageSizeAdapter;
|
|
415
620
|
declare const index_ImageSizeAdapter: typeof ImageSizeAdapter;
|
|
621
|
+
type index_Interval = Interval;
|
|
622
|
+
type index_LayoutCursor = LayoutCursor;
|
|
416
623
|
type index_LayoutLine = LayoutLine;
|
|
624
|
+
type index_LayoutNextLineContext = LayoutNextLineContext;
|
|
625
|
+
type index_LayoutNextLineResult = LayoutNextLineResult;
|
|
417
626
|
type index_LineBreaksResult = LineBreaksResult;
|
|
418
627
|
type index_MeasuredBlock = MeasuredBlock;
|
|
419
628
|
type index_MeasurementAdapter = MeasurementAdapter;
|
|
420
629
|
type index_NodeCanvasMeasureAdapter = NodeCanvasMeasureAdapter;
|
|
421
630
|
declare const index_NodeCanvasMeasureAdapter: typeof NodeCanvasMeasureAdapter;
|
|
631
|
+
type index_Obstacle = Obstacle;
|
|
422
632
|
type index_PositionedBlock = PositionedBlock;
|
|
633
|
+
type index_PositionedLine = PositionedLine;
|
|
423
634
|
type index_PrecomputedAdapter = PrecomputedAdapter;
|
|
424
635
|
declare const index_PrecomputedAdapter: typeof PrecomputedAdapter;
|
|
425
636
|
type index_PrecomputedAdapterOptions = PrecomputedAdapterOptions;
|
|
426
637
|
type index_PreparedSegment = PreparedSegment;
|
|
427
638
|
type index_ReactiveBlockLayoutBundle = ReactiveBlockLayoutBundle;
|
|
428
639
|
type index_ReactiveBlockLayoutOptions = ReactiveBlockLayoutOptions;
|
|
640
|
+
type index_ReactiveFlowLayoutBundle = ReactiveFlowLayoutBundle;
|
|
641
|
+
type index_ReactiveFlowLayoutOptions = ReactiveFlowLayoutOptions;
|
|
429
642
|
type index_ReactiveLayoutBundle = ReactiveLayoutBundle;
|
|
430
643
|
type index_ReactiveLayoutOptions = ReactiveLayoutOptions;
|
|
644
|
+
type index_RectObstacle = RectObstacle;
|
|
431
645
|
type index_SegmentBreakKind = SegmentBreakKind;
|
|
432
646
|
type index_SegmentMeasureStats = SegmentMeasureStats;
|
|
433
647
|
type index_SvgBoundsAdapter = SvgBoundsAdapter;
|
|
434
648
|
declare const index_SvgBoundsAdapter: typeof SvgBoundsAdapter;
|
|
435
649
|
type index_SvgMeasurer = SvgMeasurer;
|
|
436
650
|
declare const index_analyzeAndMeasure: typeof analyzeAndMeasure;
|
|
651
|
+
declare const index_carveTextLineSlots: typeof carveTextLineSlots;
|
|
652
|
+
declare const index_circleIntervalForBand: typeof circleIntervalForBand;
|
|
437
653
|
declare const index_computeBlockFlow: typeof computeBlockFlow;
|
|
438
654
|
declare const index_computeCharPositions: typeof computeCharPositions;
|
|
655
|
+
declare const index_computeFlowLines: typeof computeFlowLines;
|
|
439
656
|
declare const index_computeLineBreaks: typeof computeLineBreaks;
|
|
440
657
|
declare const index_computeTotalHeight: typeof computeTotalHeight;
|
|
658
|
+
declare const index_layoutNextLine: typeof layoutNextLine;
|
|
441
659
|
declare const index_measureBlock: typeof measureBlock;
|
|
442
660
|
declare const index_measureBlocks: typeof measureBlocks;
|
|
443
661
|
declare const index_reactiveBlockLayout: typeof reactiveBlockLayout;
|
|
662
|
+
declare const index_reactiveFlowLayout: typeof reactiveFlowLayout;
|
|
444
663
|
declare const index_reactiveLayout: typeof reactiveLayout;
|
|
664
|
+
declare const index_rectIntervalForBand: typeof rectIntervalForBand;
|
|
445
665
|
declare namespace index {
|
|
446
|
-
export { type index_BlockAdapters as BlockAdapters, index_CanvasMeasureAdapter as CanvasMeasureAdapter, type index_CanvasMeasureAdapterOptions as CanvasMeasureAdapterOptions, type index_CanvasModule as CanvasModule, type index_CharPosition as CharPosition, index_CliMeasureAdapter as CliMeasureAdapter, type index_CliMeasureAdapterOptions as CliMeasureAdapterOptions, type index_ContentBlock as ContentBlock, type index_ImageMeasurer as ImageMeasurer, index_ImageSizeAdapter as ImageSizeAdapter, type index_LayoutLine as LayoutLine, type index_LineBreaksResult as LineBreaksResult, type index_MeasuredBlock as MeasuredBlock, type index_MeasurementAdapter as MeasurementAdapter, index_NodeCanvasMeasureAdapter as NodeCanvasMeasureAdapter, type index_PositionedBlock as PositionedBlock, index_PrecomputedAdapter as PrecomputedAdapter, type index_PrecomputedAdapterOptions as PrecomputedAdapterOptions, type index_PreparedSegment as PreparedSegment, type index_ReactiveBlockLayoutBundle as ReactiveBlockLayoutBundle, type index_ReactiveBlockLayoutOptions as ReactiveBlockLayoutOptions, type index_ReactiveLayoutBundle as ReactiveLayoutBundle, type index_ReactiveLayoutOptions as ReactiveLayoutOptions, type index_SegmentBreakKind as SegmentBreakKind, type index_SegmentMeasureStats as SegmentMeasureStats, index_SvgBoundsAdapter as SvgBoundsAdapter, type index_SvgMeasurer as SvgMeasurer, index_analyzeAndMeasure as analyzeAndMeasure, index_computeBlockFlow as computeBlockFlow, index_computeCharPositions as computeCharPositions, index_computeLineBreaks as computeLineBreaks, index_computeTotalHeight as computeTotalHeight, index_measureBlock as measureBlock, index_measureBlocks as measureBlocks, index_reactiveBlockLayout as reactiveBlockLayout, index_reactiveLayout as reactiveLayout };
|
|
666
|
+
export { type index_BlockAdapters as BlockAdapters, index_CanvasMeasureAdapter as CanvasMeasureAdapter, type index_CanvasMeasureAdapterOptions as CanvasMeasureAdapterOptions, type index_CanvasModule as CanvasModule, type index_CharPosition as CharPosition, type index_CircleObstacle as CircleObstacle, index_CliMeasureAdapter as CliMeasureAdapter, type index_CliMeasureAdapterOptions as CliMeasureAdapterOptions, type index_ContentBlock as ContentBlock, type index_FlowColumns as FlowColumns, type index_FlowContainer as FlowContainer, type index_FlowLinesResult as FlowLinesResult, type index_ImageMeasurer as ImageMeasurer, index_ImageSizeAdapter as ImageSizeAdapter, type index_Interval as Interval, type index_LayoutCursor as LayoutCursor, type index_LayoutLine as LayoutLine, type index_LayoutNextLineContext as LayoutNextLineContext, type index_LayoutNextLineResult as LayoutNextLineResult, type index_LineBreaksResult as LineBreaksResult, type index_MeasuredBlock as MeasuredBlock, type index_MeasurementAdapter as MeasurementAdapter, index_NodeCanvasMeasureAdapter as NodeCanvasMeasureAdapter, type index_Obstacle as Obstacle, type index_PositionedBlock as PositionedBlock, type index_PositionedLine as PositionedLine, index_PrecomputedAdapter as PrecomputedAdapter, type index_PrecomputedAdapterOptions as PrecomputedAdapterOptions, type index_PreparedSegment as PreparedSegment, type index_ReactiveBlockLayoutBundle as ReactiveBlockLayoutBundle, type index_ReactiveBlockLayoutOptions as ReactiveBlockLayoutOptions, type index_ReactiveFlowLayoutBundle as ReactiveFlowLayoutBundle, type index_ReactiveFlowLayoutOptions as ReactiveFlowLayoutOptions, type index_ReactiveLayoutBundle as ReactiveLayoutBundle, type index_ReactiveLayoutOptions as ReactiveLayoutOptions, type index_RectObstacle as RectObstacle, type index_SegmentBreakKind as SegmentBreakKind, type index_SegmentMeasureStats as SegmentMeasureStats, index_SvgBoundsAdapter as SvgBoundsAdapter, type index_SvgMeasurer as SvgMeasurer, index_analyzeAndMeasure as analyzeAndMeasure, index_carveTextLineSlots as carveTextLineSlots, index_circleIntervalForBand as circleIntervalForBand, index_computeBlockFlow as computeBlockFlow, index_computeCharPositions as computeCharPositions, index_computeFlowLines as computeFlowLines, index_computeLineBreaks as computeLineBreaks, index_computeTotalHeight as computeTotalHeight, index_layoutNextLine as layoutNextLine, index_measureBlock as measureBlock, index_measureBlocks as measureBlocks, index_reactiveBlockLayout as reactiveBlockLayout, index_reactiveFlowLayout as reactiveFlowLayout, index_reactiveLayout as reactiveLayout, index_rectIntervalForBand as rectIntervalForBand };
|
|
447
667
|
}
|
|
448
668
|
|
|
449
|
-
export {
|
|
669
|
+
export { reactiveFlowLayout as $, type RectObstacle as A, type BlockAdapters as B, CanvasMeasureAdapter as C, type SegmentMeasureStats as D, SvgBoundsAdapter as E, type FlowColumns as F, type SvgMeasurer as G, analyzeAndMeasure as H, type ImageMeasurer as I, carveTextLineSlots as J, circleIntervalForBand as K, type LayoutCursor as L, type MeasurementAdapter as M, NodeCanvasMeasureAdapter as N, type Obstacle as O, type PositionedBlock as P, computeBlockFlow as Q, type ReactiveBlockLayoutBundle as R, type SegmentBreakKind as S, computeCharPositions as T, computeFlowLines as U, computeLineBreaks as V, computeTotalHeight as W, layoutNextLine as X, measureBlock as Y, measureBlocks as Z, reactiveBlockLayout as _, type CanvasMeasureAdapterOptions as a, reactiveLayout as a0, rectIntervalForBand as a1, type CanvasModule as b, type CharPosition as c, type CircleObstacle as d, CliMeasureAdapter as e, type CliMeasureAdapterOptions as f, type ContentBlock as g, type FlowContainer as h, index as i, type FlowLinesResult as j, ImageSizeAdapter as k, type Interval as l, type LayoutLine as m, type LayoutNextLineContext as n, type LayoutNextLineResult as o, type LineBreaksResult as p, type MeasuredBlock as q, type PositionedLine as r, PrecomputedAdapter as s, type PrecomputedAdapterOptions as t, type PreparedSegment as u, type ReactiveBlockLayoutOptions as v, type ReactiveFlowLayoutBundle as w, type ReactiveFlowLayoutOptions as x, type ReactiveLayoutBundle as y, type ReactiveLayoutOptions as z };
|