@react-x11/components 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +131 -4
- package/dist/charts/components.d.ts +3 -1
- package/dist/charts/components.d.ts.map +1 -1
- package/dist/charts/components.js +8 -4
- package/dist/charts/components.js.map +1 -1
- package/dist/charts/node.d.ts +13 -6
- package/dist/charts/node.d.ts.map +1 -1
- package/dist/charts/node.js +75 -24
- package/dist/charts/node.js.map +1 -1
- package/dist/charts/render.d.ts +4 -0
- package/dist/charts/render.d.ts.map +1 -1
- package/dist/charts/render.js +11 -6
- package/dist/charts/render.js.map +1 -1
- package/dist/code-editor/node.d.ts +47 -16
- package/dist/code-editor/node.d.ts.map +1 -1
- package/dist/code-editor/node.js +121 -51
- package/dist/code-editor/node.js.map +1 -1
- package/dist/flow/draw.d.ts +19 -1
- package/dist/flow/draw.d.ts.map +1 -1
- package/dist/flow/draw.js +64 -35
- package/dist/flow/draw.js.map +1 -1
- package/dist/flow/index.d.ts.map +1 -1
- package/dist/flow/index.js +24 -8
- package/dist/flow/index.js.map +1 -1
- package/dist/flow/model.d.ts +4 -2
- package/dist/flow/model.d.ts.map +1 -1
- package/dist/flow/model.js +4 -2
- package/dist/flow/model.js.map +1 -1
- package/dist/flow/node.d.ts +40 -9
- package/dist/flow/node.d.ts.map +1 -1
- package/dist/flow/node.js +142 -53
- package/dist/flow/node.js.map +1 -1
- package/dist/flow/types.d.ts +46 -21
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/formula/index.d.ts +4 -2
- package/dist/formula/index.d.ts.map +1 -1
- package/dist/formula/index.js.map +1 -1
- package/dist/formula/node.d.ts +5 -1
- package/dist/formula/node.d.ts.map +1 -1
- package/dist/formula/node.js +19 -3
- package/dist/formula/node.js.map +1 -1
- package/dist/html/controls.d.ts +4 -1
- package/dist/html/controls.d.ts.map +1 -1
- package/dist/html/controls.js.map +1 -1
- package/dist/html/css/cascade.d.ts +11 -5
- package/dist/html/css/cascade.d.ts.map +1 -1
- package/dist/html/css/cascade.js +18 -8
- package/dist/html/css/cascade.js.map +1 -1
- package/dist/html/css/parse.d.ts +15 -10
- package/dist/html/css/parse.d.ts.map +1 -1
- package/dist/html/css/parse.js +41 -16
- package/dist/html/css/parse.js.map +1 -1
- package/dist/html/css/style.d.ts +3 -0
- package/dist/html/css/style.d.ts.map +1 -1
- package/dist/html/css/style.js +3 -1
- package/dist/html/css/style.js.map +1 -1
- package/dist/html/css/values.d.ts +14 -1
- package/dist/html/css/values.d.ts.map +1 -1
- package/dist/html/css/values.js +11 -8
- package/dist/html/css/values.js.map +1 -1
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +1 -0
- package/dist/html/index.js.map +1 -1
- package/dist/html/layout/boxes.d.ts +12 -5
- package/dist/html/layout/boxes.d.ts.map +1 -1
- package/dist/html/layout/boxes.js +7 -4
- package/dist/html/layout/boxes.js.map +1 -1
- package/dist/html/layout/inline.d.ts.map +1 -1
- package/dist/html/layout/inline.js +22 -1
- package/dist/html/layout/inline.js.map +1 -1
- package/dist/html/node.d.ts +22 -8
- package/dist/html/node.d.ts.map +1 -1
- package/dist/html/node.js +97 -15
- package/dist/html/node.js.map +1 -1
- package/dist/html/paint.d.ts +3 -0
- package/dist/html/paint.d.ts.map +1 -1
- package/dist/html/paint.js +2 -2
- package/dist/html/paint.js.map +1 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -1
- package/dist/maps/clip.d.ts +43 -0
- package/dist/maps/clip.d.ts.map +1 -0
- package/dist/maps/clip.js +171 -0
- package/dist/maps/clip.js.map +1 -0
- package/dist/maps/gzip.d.ts +15 -0
- package/dist/maps/gzip.d.ts.map +1 -0
- package/dist/maps/gzip.js +56 -0
- package/dist/maps/gzip.js.map +1 -0
- package/dist/maps/index.d.ts +55 -0
- package/dist/maps/index.d.ts.map +1 -0
- package/dist/maps/index.js +141 -0
- package/dist/maps/index.js.map +1 -0
- package/dist/maps/labels.d.ts +123 -0
- package/dist/maps/labels.d.ts.map +1 -0
- package/dist/maps/labels.js +323 -0
- package/dist/maps/labels.js.map +1 -0
- package/dist/maps/mvt.d.ts +244 -0
- package/dist/maps/mvt.d.ts.map +1 -0
- package/dist/maps/mvt.js +820 -0
- package/dist/maps/mvt.js.map +1 -0
- package/dist/maps/node.d.ts +278 -0
- package/dist/maps/node.d.ts.map +1 -0
- package/dist/maps/node.js +1459 -0
- package/dist/maps/node.js.map +1 -0
- package/dist/maps/overlay.d.ts +157 -0
- package/dist/maps/overlay.d.ts.map +1 -0
- package/dist/maps/overlay.js +472 -0
- package/dist/maps/overlay.js.map +1 -0
- package/dist/maps/paint.d.ts +226 -0
- package/dist/maps/paint.d.ts.map +1 -0
- package/dist/maps/paint.js +705 -0
- package/dist/maps/paint.js.map +1 -0
- package/dist/maps/proj.d.ts +281 -0
- package/dist/maps/proj.d.ts.map +1 -0
- package/dist/maps/proj.js +451 -0
- package/dist/maps/proj.js.map +1 -0
- package/dist/maps/sources.d.ts +256 -0
- package/dist/maps/sources.d.ts.map +1 -0
- package/dist/maps/sources.js +210 -0
- package/dist/maps/sources.js.map +1 -0
- package/dist/maps/style.d.ts +141 -0
- package/dist/maps/style.d.ts.map +1 -0
- package/dist/maps/style.js +147 -0
- package/dist/maps/style.js.map +1 -0
- package/dist/maps/styles.d.ts +82 -0
- package/dist/maps/styles.d.ts.map +1 -0
- package/dist/maps/styles.js +898 -0
- package/dist/maps/styles.js.map +1 -0
- package/dist/maps/tiles.d.ts +283 -0
- package/dist/maps/tiles.d.ts.map +1 -0
- package/dist/maps/tiles.js +469 -0
- package/dist/maps/tiles.js.map +1 -0
- package/dist/maps/types.d.ts +244 -0
- package/dist/maps/types.d.ts.map +1 -0
- package/dist/maps/types.js +2 -0
- package/dist/maps/types.js.map +1 -0
- package/dist/qml/containers.d.ts +3 -0
- package/dist/qml/containers.d.ts.map +1 -0
- package/dist/qml/containers.js +331 -0
- package/dist/qml/containers.js.map +1 -0
- package/dist/qml/controls.d.ts +12 -0
- package/dist/qml/controls.d.ts.map +1 -0
- package/dist/qml/controls.js +21 -0
- package/dist/qml/controls.js.map +1 -0
- package/dist/qml/globals.d.ts +6 -0
- package/dist/qml/globals.d.ts.map +1 -0
- package/dist/qml/globals.js +25 -0
- package/dist/qml/globals.js.map +1 -0
- package/dist/qml/index.d.ts +15 -0
- package/dist/qml/index.d.ts.map +1 -0
- package/dist/qml/index.js +25 -0
- package/dist/qml/index.js.map +1 -0
- package/dist/qml/interaction.d.ts +12 -0
- package/dist/qml/interaction.d.ts.map +1 -0
- package/dist/qml/interaction.js +246 -0
- package/dist/qml/interaction.js.map +1 -0
- package/dist/qml/ir.d.ts +106 -0
- package/dist/qml/ir.d.ts.map +1 -0
- package/dist/qml/ir.js +7 -0
- package/dist/qml/ir.js.map +1 -0
- package/dist/qml/layouts.d.ts +3 -0
- package/dist/qml/layouts.d.ts.map +1 -0
- package/dist/qml/layouts.js +122 -0
- package/dist/qml/layouts.js.map +1 -0
- package/dist/qml/models.d.ts +14 -0
- package/dist/qml/models.d.ts.map +1 -0
- package/dist/qml/models.js +80 -0
- package/dist/qml/models.js.map +1 -0
- package/dist/qml/objects.d.ts +228 -0
- package/dist/qml/objects.d.ts.map +1 -0
- package/dist/qml/objects.js +1103 -0
- package/dist/qml/objects.js.map +1 -0
- package/dist/qml/parse.d.ts +10 -0
- package/dist/qml/parse.d.ts.map +1 -0
- package/dist/qml/parse.js +607 -0
- package/dist/qml/parse.js.map +1 -0
- package/dist/qml/qtquick.d.ts +7 -0
- package/dist/qml/qtquick.d.ts.map +1 -0
- package/dist/qml/qtquick.js +347 -0
- package/dist/qml/qtquick.js.map +1 -0
- package/dist/qml/react.d.ts +83 -0
- package/dist/qml/react.d.ts.map +1 -0
- package/dist/qml/react.js +323 -0
- package/dist/qml/react.js.map +1 -0
- package/dist/qml/resolver.d.ts +38 -0
- package/dist/qml/resolver.d.ts.map +1 -0
- package/dist/qml/resolver.js +64 -0
- package/dist/qml/resolver.js.map +1 -0
- package/dist/qml/slots.d.ts +65 -0
- package/dist/qml/slots.d.ts.map +1 -0
- package/dist/qml/slots.js +230 -0
- package/dist/qml/slots.js.map +1 -0
- package/dist/qml/states.d.ts +5 -0
- package/dist/qml/states.d.ts.map +1 -0
- package/dist/qml/states.js +276 -0
- package/dist/qml/states.js.map +1 -0
- package/dist/qml/view-utils.d.ts +42 -0
- package/dist/qml/view-utils.d.ts.map +1 -0
- package/dist/qml/view-utils.js +121 -0
- package/dist/qml/view-utils.js.map +1 -0
- package/dist/reorder/hx.d.ts +18 -0
- package/dist/reorder/hx.d.ts.map +1 -0
- package/dist/reorder/hx.js +10 -0
- package/dist/reorder/hx.js.map +1 -0
- package/dist/reorder/index.d.ts +314 -0
- package/dist/reorder/index.d.ts.map +1 -0
- package/dist/reorder/index.js +1539 -0
- package/dist/reorder/index.js.map +1 -0
- package/dist/reorder/model.d.ts +107 -0
- package/dist/reorder/model.d.ts.map +1 -0
- package/dist/reorder/model.js +162 -0
- package/dist/reorder/model.js.map +1 -0
- package/dist/richtext/node.d.ts +15 -5
- package/dist/richtext/node.d.ts.map +1 -1
- package/dist/richtext/node.js +40 -11
- package/dist/richtext/node.js.map +1 -1
- package/dist/richtext/runs.d.ts +35 -13
- package/dist/richtext/runs.d.ts.map +1 -1
- package/dist/richtext/runs.js +83 -27
- package/dist/richtext/runs.js.map +1 -1
- package/dist/tabs/hx.d.ts +18 -0
- package/dist/tabs/hx.d.ts.map +1 -0
- package/dist/tabs/hx.js +10 -0
- package/dist/tabs/hx.js.map +1 -0
- package/dist/tabs/index.d.ts +160 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/index.js +1265 -0
- package/dist/tabs/index.js.map +1 -0
- package/dist/terminal/vt/fonts.d.ts +45 -15
- package/dist/terminal/vt/fonts.d.ts.map +1 -1
- package/dist/terminal/vt/fonts.js +89 -19
- package/dist/terminal/vt/fonts.js.map +1 -1
- package/dist/terminal/vt/index.d.ts +1 -1
- package/dist/terminal/vt/index.d.ts.map +1 -1
- package/dist/terminal/vt/index.js +3 -3
- package/dist/terminal/vt/index.js.map +1 -1
- package/dist/terminal/vt/node.d.ts +42 -0
- package/dist/terminal/vt/node.d.ts.map +1 -1
- package/dist/terminal/vt/node.js +95 -11
- package/dist/terminal/vt/node.js.map +1 -1
- package/dist/terminal/vt/pty.d.ts +16 -0
- package/dist/terminal/vt/pty.d.ts.map +1 -1
- package/dist/terminal/vt/pty.js +186 -0
- package/dist/terminal/vt/pty.js.map +1 -1
- package/dist/terminal/vt/renderer.d.ts.map +1 -1
- package/dist/terminal/vt/renderer.js +13 -3
- package/dist/terminal/vt/renderer.js.map +1 -1
- package/package.json +23 -3
- package/src/charts/components.ts +14 -7
- package/src/charts/node.ts +81 -26
- package/src/charts/render.ts +16 -6
- package/src/code-editor/node.ts +147 -53
- package/src/flow/draw.ts +104 -35
- package/src/flow/index.ts +33 -13
- package/src/flow/model.ts +4 -2
- package/src/flow/node.ts +158 -59
- package/src/flow/types.ts +46 -21
- package/src/formula/index.ts +4 -2
- package/src/formula/node.ts +24 -5
- package/src/html/controls.ts +4 -1
- package/src/html/css/cascade.ts +18 -7
- package/src/html/css/parse.ts +46 -21
- package/src/html/css/style.ts +6 -1
- package/src/html/css/values.ts +25 -9
- package/src/html/index.ts +1 -0
- package/src/html/layout/boxes.ts +19 -9
- package/src/html/layout/inline.ts +23 -1
- package/src/html/node.ts +110 -17
- package/src/html/paint.ts +17 -2
- package/src/index.ts +142 -0
- package/src/maps/clip.ts +184 -0
- package/src/maps/gzip.ts +66 -0
- package/src/maps/index.ts +316 -0
- package/src/maps/labels.ts +442 -0
- package/src/maps/mvt.ts +857 -0
- package/src/maps/node.ts +1819 -0
- package/src/maps/overlay.ts +639 -0
- package/src/maps/paint.ts +978 -0
- package/src/maps/proj.ts +641 -0
- package/src/maps/sources.ts +425 -0
- package/src/maps/style.ts +309 -0
- package/src/maps/styles.ts +1040 -0
- package/src/maps/tiles.ts +676 -0
- package/src/maps/types.ts +260 -0
- package/src/qml/containers.tsx +380 -0
- package/src/qml/controls.tsx +47 -0
- package/src/qml/globals.ts +33 -0
- package/src/qml/index.ts +67 -0
- package/src/qml/interaction.tsx +317 -0
- package/src/qml/ir.ts +80 -0
- package/src/qml/layouts.tsx +141 -0
- package/src/qml/models.ts +101 -0
- package/src/qml/objects.ts +1431 -0
- package/src/qml/parse.ts +624 -0
- package/src/qml/qtquick.tsx +413 -0
- package/src/qml/react.tsx +454 -0
- package/src/qml/resolver.ts +99 -0
- package/src/qml/slots.ts +249 -0
- package/src/qml/states.ts +318 -0
- package/src/qml/view-utils.ts +140 -0
- package/src/reorder/hx.ts +31 -0
- package/src/reorder/index.ts +2223 -0
- package/src/reorder/model.ts +232 -0
- package/src/richtext/node.ts +49 -14
- package/src/richtext/runs.ts +115 -30
- package/src/tabs/hx.ts +31 -0
- package/src/tabs/index.ts +1686 -0
- package/src/terminal/vt/fonts.ts +128 -36
- package/src/terminal/vt/index.ts +4 -2
- package/src/terminal/vt/node.ts +105 -12
- package/src/terminal/vt/pty.ts +243 -0
- package/src/terminal/vt/renderer.ts +13 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reorder/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export type ReorderId = string | number;
|
|
2
|
+
export type ReorderOrientation = 'vertical' | 'horizontal';
|
|
3
|
+
/** Which edge of an item the pointer is nearest — in reading order, so
|
|
4
|
+
* `'before'` is the top of a vertical list and the *right* edge of an RTL
|
|
5
|
+
* strip. */
|
|
6
|
+
export type ReorderEdge = 'before' | 'after';
|
|
7
|
+
/** A rectangle in any one consistent space — the component hands over
|
|
8
|
+
* logical pixels, and the tests hand over whatever they like. */
|
|
9
|
+
export interface ReorderRect {
|
|
10
|
+
x: number;
|
|
11
|
+
y: number;
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
}
|
|
15
|
+
export interface ReorderPoint {
|
|
16
|
+
x: number;
|
|
17
|
+
y: number;
|
|
18
|
+
}
|
|
19
|
+
/** Where a pointer would insert: the slot (`0` … `n`, a gap between items),
|
|
20
|
+
* and the item and edge that slot was read off, for whoever draws it. */
|
|
21
|
+
export interface ReorderSlot {
|
|
22
|
+
slot: number;
|
|
23
|
+
index: number;
|
|
24
|
+
edge: ReorderEdge;
|
|
25
|
+
/**
|
|
26
|
+
* The pointer is inside the item's middle band and combining is on, so a
|
|
27
|
+
* drop merges *into* `index` rather than landing beside it. Always false
|
|
28
|
+
* when the caller passes no band, which is what keeps a list that does not
|
|
29
|
+
* combine reading exactly as it did before.
|
|
30
|
+
*/
|
|
31
|
+
combine: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The slot a pointer is over, among items laid out in `rects`' order.
|
|
35
|
+
*
|
|
36
|
+
* The nearest item wins — the one under the pointer when there is one, and
|
|
37
|
+
* on a tie the earlier — and its midpoint along the axis decides the edge.
|
|
38
|
+
* `null` only when there are no items, where the caller's answer is slot 0.
|
|
39
|
+
*
|
|
40
|
+
* `combineBand` is the fraction of the item's length at *each* end that
|
|
41
|
+
* still reads as an edge: 0 (the default) means every point picks an edge,
|
|
42
|
+
* and 0.25 means the middle half of an item reads as "merge into this one"
|
|
43
|
+
* — but only for a point genuinely inside it, since a point in the gap
|
|
44
|
+
* between two items is not over either of them.
|
|
45
|
+
*/
|
|
46
|
+
export declare function closestSlot(rects: readonly ReorderRect[], point: ReorderPoint, orientation: ReorderOrientation, direction?: 'ltr' | 'rtl', combineBand?: number): ReorderSlot | null;
|
|
47
|
+
/**
|
|
48
|
+
* Where the indicator goes for a slot: the **one** place that names it.
|
|
49
|
+
*
|
|
50
|
+
* `closestSlot` answers with the item the pointer is nearest and the half of
|
|
51
|
+
* it the pointer is in, and two different answers can mean the same gap —
|
|
52
|
+
* the lower half of item 2 and the upper half of item 3 are both "between
|
|
53
|
+
* them". Drawing the mark from that answer puts the line in two places for
|
|
54
|
+
* one insertion point, which reads as two, and flickers between them as the
|
|
55
|
+
* pointer crosses. So the mark is derived from the slot instead: the start
|
|
56
|
+
* edge of the item that would follow it, or the end edge of the last item
|
|
57
|
+
* for the slot past the end.
|
|
58
|
+
*/
|
|
59
|
+
export declare function slotMark(count: number, slot: number): {
|
|
60
|
+
index: number;
|
|
61
|
+
edge: ReorderEdge;
|
|
62
|
+
} | null;
|
|
63
|
+
/**
|
|
64
|
+
* `list` with the item at `from` moved to `to` — a new array, always, so it
|
|
65
|
+
* can be handed straight to a state setter. Indices past either end clamp.
|
|
66
|
+
* dnd-kit's helper, by its name, because it is what every `onReorder`
|
|
67
|
+
* handler ends up calling.
|
|
68
|
+
*/
|
|
69
|
+
export declare function arrayMove<T>(list: readonly T[], from: number, to: number): T[];
|
|
70
|
+
/** Whether dropping the item at `from` into `slot` would change nothing:
|
|
71
|
+
* the gap before it, and the gap after it, are both where it already is. */
|
|
72
|
+
export declare function isNoopSlot(from: number, slot: number): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* What a drop of `id` into `slot` does to `order`: the new order and the
|
|
75
|
+
* two indices, or `null` when nothing would move — the item is not in the
|
|
76
|
+
* list, or the slot is one of its own two gaps. `to` is where the item
|
|
77
|
+
* ends up *after* it has been taken out, which is what `arrayMove` wants
|
|
78
|
+
* and what a caller holding objects splices with.
|
|
79
|
+
*/
|
|
80
|
+
export declare function moveToSlot(order: readonly ReorderId[], id: ReorderId, slot: number): {
|
|
81
|
+
items: ReorderId[];
|
|
82
|
+
from: number;
|
|
83
|
+
to: number;
|
|
84
|
+
} | null;
|
|
85
|
+
/**
|
|
86
|
+
* The same move with a **set** of items — a multi-drag. The set travels in
|
|
87
|
+
* the list's own order, whatever order it was selected in, and lands as one
|
|
88
|
+
* run at `slot`; `from`/`to` are where `primary` (the item actually under
|
|
89
|
+
* the pointer) started and ended up.
|
|
90
|
+
*
|
|
91
|
+
* The slot counts gaps in the *original* order, so the arithmetic has to
|
|
92
|
+
* discount the members of the set that were before it — which is also why
|
|
93
|
+
* the single-item no-op rule generalizes rather than being special-cased:
|
|
94
|
+
* a set that lands where it already was produces the order it started from,
|
|
95
|
+
* and that is what `null` reports.
|
|
96
|
+
*/
|
|
97
|
+
export declare function moveManyToSlot(order: readonly ReorderId[], ids: readonly ReorderId[], slot: number, primary?: ReorderId): {
|
|
98
|
+
items: ReorderId[];
|
|
99
|
+
ids: ReorderId[];
|
|
100
|
+
from: number;
|
|
101
|
+
to: number;
|
|
102
|
+
} | null;
|
|
103
|
+
/** `order` with `id` inserted at `slot` — an item arriving from elsewhere. */
|
|
104
|
+
export declare function insertAtSlot(order: readonly ReorderId[], id: ReorderId, slot: number): ReorderId[];
|
|
105
|
+
/** The same, with a set arriving together — a multi-drag from another list. */
|
|
106
|
+
export declare function insertManyAtSlot(order: readonly ReorderId[], ids: readonly ReorderId[], slot: number): ReorderId[];
|
|
107
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/reorder/model.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AACxC,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,YAAY,CAAC;AAC3D;;aAEa;AACb,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7C;kEACkE;AAClE,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;0EAC0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB;;;;;OAKG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AASD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,kBAAkB,EAC/B,SAAS,GAAE,KAAK,GAAG,KAAa,EAChC,WAAW,SAAI,GACd,WAAW,GAAG,IAAI,CA8BpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG,IAAI,CAM7C;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,IAAI,EAAE,SAAS,CAAC,EAAE,EAClB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,CAAC,EAAE,CASL;AAED;6EAC6E;AAC7E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAGzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,GAAG,EAAE,SAAS,SAAS,EAAE,EACzB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,SAAmB,GAC3B;IAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAAC,GAAG,EAAE,SAAS,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoB3E;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,MAAM,GACX,SAAS,EAAE,CAEb;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,GAAG,EAAE,SAAS,SAAS,EAAE,EACzB,IAAI,EAAE,MAAM,GACX,SAAS,EAAE,CAIb"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
// The insertion arithmetic under `<ReorderList>`: which slot a pointer is
|
|
2
|
+
// over, and what a move to that slot does to an order. Pure — no React, no
|
|
3
|
+
// display — so every case is asserted on no server (`test/reorder-model.test.ts`),
|
|
4
|
+
// and so a second consumer (a reorderable `<Table>`, say) can take it
|
|
5
|
+
// without taking the component. That promotion is the reason this is its
|
|
6
|
+
// own module rather than a section of `index.ts`.
|
|
7
|
+
//
|
|
8
|
+
// The model is pragmatic-drag-and-drop's **closest edge**: the item nearest
|
|
9
|
+
// the pointer, and which half of it — along the list's axis — the pointer is
|
|
10
|
+
// in. It needs nothing but the items' own rectangles, so it is the same rule
|
|
11
|
+
// for a vertical list, a horizontal strip, an RTL one and a wrapping grid,
|
|
12
|
+
// and it never has to know the gap between two items to answer for a point
|
|
13
|
+
// in it (`docs/prd-reorder.md`, "Geometry: the closest edge").
|
|
14
|
+
/** Squared distance from a point to a rectangle; zero inside it. */
|
|
15
|
+
function distance2(rect, p) {
|
|
16
|
+
const dx = Math.max(rect.x - p.x, 0, p.x - (rect.x + rect.width));
|
|
17
|
+
const dy = Math.max(rect.y - p.y, 0, p.y - (rect.y + rect.height));
|
|
18
|
+
return dx * dx + dy * dy;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The slot a pointer is over, among items laid out in `rects`' order.
|
|
22
|
+
*
|
|
23
|
+
* The nearest item wins — the one under the pointer when there is one, and
|
|
24
|
+
* on a tie the earlier — and its midpoint along the axis decides the edge.
|
|
25
|
+
* `null` only when there are no items, where the caller's answer is slot 0.
|
|
26
|
+
*
|
|
27
|
+
* `combineBand` is the fraction of the item's length at *each* end that
|
|
28
|
+
* still reads as an edge: 0 (the default) means every point picks an edge,
|
|
29
|
+
* and 0.25 means the middle half of an item reads as "merge into this one"
|
|
30
|
+
* — but only for a point genuinely inside it, since a point in the gap
|
|
31
|
+
* between two items is not over either of them.
|
|
32
|
+
*/
|
|
33
|
+
export function closestSlot(rects, point, orientation, direction = 'ltr', combineBand = 0) {
|
|
34
|
+
if (rects.length === 0)
|
|
35
|
+
return null;
|
|
36
|
+
let index = 0;
|
|
37
|
+
let best = Infinity;
|
|
38
|
+
for (let i = 0; i < rects.length; i++) {
|
|
39
|
+
const d = distance2(rects[i], point);
|
|
40
|
+
if (d < best) {
|
|
41
|
+
best = d;
|
|
42
|
+
index = i;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const rect = rects[index];
|
|
46
|
+
const vertical = orientation === 'vertical';
|
|
47
|
+
const start = vertical ? rect.y : rect.x;
|
|
48
|
+
const length = vertical ? rect.height : rect.width;
|
|
49
|
+
const along = vertical ? point.y : point.x;
|
|
50
|
+
let before = along < start + length / 2;
|
|
51
|
+
// the start edge of an RTL strip is on the right
|
|
52
|
+
if (!vertical && direction === 'rtl')
|
|
53
|
+
before = !before;
|
|
54
|
+
const edge = before ? 'before' : 'after';
|
|
55
|
+
// `best === 0` is the point being inside the rectangle: a band is about
|
|
56
|
+
// the item under the pointer, and a gap belongs to neither of its
|
|
57
|
+
// neighbours' middles.
|
|
58
|
+
const fraction = length > 0 ? (along - start) / length : 0.5;
|
|
59
|
+
const combine = combineBand > 0 &&
|
|
60
|
+
best === 0 &&
|
|
61
|
+
fraction >= combineBand &&
|
|
62
|
+
fraction <= 1 - combineBand;
|
|
63
|
+
return { slot: before ? index : index + 1, index, edge, combine };
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Where the indicator goes for a slot: the **one** place that names it.
|
|
67
|
+
*
|
|
68
|
+
* `closestSlot` answers with the item the pointer is nearest and the half of
|
|
69
|
+
* it the pointer is in, and two different answers can mean the same gap —
|
|
70
|
+
* the lower half of item 2 and the upper half of item 3 are both "between
|
|
71
|
+
* them". Drawing the mark from that answer puts the line in two places for
|
|
72
|
+
* one insertion point, which reads as two, and flickers between them as the
|
|
73
|
+
* pointer crosses. So the mark is derived from the slot instead: the start
|
|
74
|
+
* edge of the item that would follow it, or the end edge of the last item
|
|
75
|
+
* for the slot past the end.
|
|
76
|
+
*/
|
|
77
|
+
export function slotMark(count, slot) {
|
|
78
|
+
if (count <= 0)
|
|
79
|
+
return null;
|
|
80
|
+
const at = Math.min(Math.max(slot, 0), count);
|
|
81
|
+
return at < count
|
|
82
|
+
? { index: at, edge: 'before' }
|
|
83
|
+
: { index: count - 1, edge: 'after' };
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* `list` with the item at `from` moved to `to` — a new array, always, so it
|
|
87
|
+
* can be handed straight to a state setter. Indices past either end clamp.
|
|
88
|
+
* dnd-kit's helper, by its name, because it is what every `onReorder`
|
|
89
|
+
* handler ends up calling.
|
|
90
|
+
*/
|
|
91
|
+
export function arrayMove(list, from, to) {
|
|
92
|
+
const out = list.slice();
|
|
93
|
+
if (out.length === 0)
|
|
94
|
+
return out;
|
|
95
|
+
const a = Math.min(Math.max(from, 0), out.length - 1);
|
|
96
|
+
const b = Math.min(Math.max(to, 0), out.length - 1);
|
|
97
|
+
if (a === b)
|
|
98
|
+
return out;
|
|
99
|
+
const [item] = out.splice(a, 1);
|
|
100
|
+
out.splice(b, 0, item);
|
|
101
|
+
return out;
|
|
102
|
+
}
|
|
103
|
+
/** Whether dropping the item at `from` into `slot` would change nothing:
|
|
104
|
+
* the gap before it, and the gap after it, are both where it already is. */
|
|
105
|
+
export function isNoopSlot(from, slot) {
|
|
106
|
+
return from >= 0 && (slot === from || slot === from + 1);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* What a drop of `id` into `slot` does to `order`: the new order and the
|
|
110
|
+
* two indices, or `null` when nothing would move — the item is not in the
|
|
111
|
+
* list, or the slot is one of its own two gaps. `to` is where the item
|
|
112
|
+
* ends up *after* it has been taken out, which is what `arrayMove` wants
|
|
113
|
+
* and what a caller holding objects splices with.
|
|
114
|
+
*/
|
|
115
|
+
export function moveToSlot(order, id, slot) {
|
|
116
|
+
const many = moveManyToSlot(order, [id], slot, id);
|
|
117
|
+
return many && { items: many.items, from: many.from, to: many.to };
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* The same move with a **set** of items — a multi-drag. The set travels in
|
|
121
|
+
* the list's own order, whatever order it was selected in, and lands as one
|
|
122
|
+
* run at `slot`; `from`/`to` are where `primary` (the item actually under
|
|
123
|
+
* the pointer) started and ended up.
|
|
124
|
+
*
|
|
125
|
+
* The slot counts gaps in the *original* order, so the arithmetic has to
|
|
126
|
+
* discount the members of the set that were before it — which is also why
|
|
127
|
+
* the single-item no-op rule generalizes rather than being special-cased:
|
|
128
|
+
* a set that lands where it already was produces the order it started from,
|
|
129
|
+
* and that is what `null` reports.
|
|
130
|
+
*/
|
|
131
|
+
export function moveManyToSlot(order, ids, slot, primary = ids[0]) {
|
|
132
|
+
const taking = new Set(ids);
|
|
133
|
+
// the set in the list's order, and only the members the list actually has
|
|
134
|
+
const moving = order.filter((id) => taking.has(id));
|
|
135
|
+
if (moving.length === 0)
|
|
136
|
+
return null;
|
|
137
|
+
const from = order.indexOf(primary);
|
|
138
|
+
if (from < 0)
|
|
139
|
+
return null;
|
|
140
|
+
const rest = order.filter((id) => !taking.has(id));
|
|
141
|
+
const before = order
|
|
142
|
+
.slice(0, Math.max(slot, 0))
|
|
143
|
+
.filter((id) => taking.has(id)).length;
|
|
144
|
+
const at = Math.min(Math.max(slot - before, 0), rest.length);
|
|
145
|
+
const items = [...rest.slice(0, at), ...moving, ...rest.slice(at)];
|
|
146
|
+
if (items.length === order.length &&
|
|
147
|
+
items.every((id, i) => id === order[i])) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
return { items, ids: moving, from, to: items.indexOf(primary) };
|
|
151
|
+
}
|
|
152
|
+
/** `order` with `id` inserted at `slot` — an item arriving from elsewhere. */
|
|
153
|
+
export function insertAtSlot(order, id, slot) {
|
|
154
|
+
return insertManyAtSlot(order, [id], slot);
|
|
155
|
+
}
|
|
156
|
+
/** The same, with a set arriving together — a multi-drag from another list. */
|
|
157
|
+
export function insertManyAtSlot(order, ids, slot) {
|
|
158
|
+
const out = order.slice();
|
|
159
|
+
out.splice(Math.min(Math.max(slot, 0), out.length), 0, ...ids);
|
|
160
|
+
return out;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/reorder/model.ts"],"names":[],"mappings":"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"}
|
package/dist/richtext/node.d.ts
CHANGED
|
@@ -74,8 +74,10 @@ interface LaidRunLike {
|
|
|
74
74
|
/** Extent within the paragraph, in **code units** (ntk's run vocabulary). */
|
|
75
75
|
start: number;
|
|
76
76
|
end: number;
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
/** Optional for the same reason as `runs.ts`'s `LaidRun`: react-x11's
|
|
78
|
+
* Cocoa engine hands back a run's geometry and nothing else. */
|
|
79
|
+
span?: TextRun;
|
|
80
|
+
run?: {
|
|
79
81
|
font: {
|
|
80
82
|
metrics(size: number): FontMetricsLike;
|
|
81
83
|
};
|
|
@@ -129,6 +131,13 @@ export declare class RichTextNode extends Node {
|
|
|
129
131
|
* same convention core's rich nodes use.
|
|
130
132
|
*/
|
|
131
133
|
private _layoutFor;
|
|
134
|
+
/** Device pixels per logical pixel — the display scale this element's
|
|
135
|
+
* window resolved to, constant for the node's life. */
|
|
136
|
+
private get _scale();
|
|
137
|
+
/** The runs with their sizes on the device grid. The array identity is
|
|
138
|
+
* what the layout cache keys on, so at 1x the props' own array is
|
|
139
|
+
* returned untouched. */
|
|
140
|
+
private _deviceRuns;
|
|
132
141
|
/**
|
|
133
142
|
* The layout this node is currently painted with — and, because it is the
|
|
134
143
|
* one thing every accessor below answers from, the reason a caret rect and
|
|
@@ -141,9 +150,10 @@ export declare class RichTextNode extends Node {
|
|
|
141
150
|
textIndexAt(x: number, y: number): number;
|
|
142
151
|
textCaretRect(index: number): Rect | null;
|
|
143
152
|
textRangeRects(start: number, end: number): Rect[];
|
|
144
|
-
/** The run's link target under a
|
|
145
|
-
*
|
|
146
|
-
*
|
|
153
|
+
/** The run's link target under a **logical** window point — the one a
|
|
154
|
+
* mouse event carries — if any, for click-to-follow. Not part of the
|
|
155
|
+
* selection seam: core deliberately left hover and `cursorAt` out of
|
|
156
|
+
* #291, so following a link stays this package's. */
|
|
147
157
|
hrefAtPoint(x: number, y: number): string | null;
|
|
148
158
|
paint(ctx: Context2D): void;
|
|
149
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/richtext/node.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAU7C,0EAA0E;AAC1E,eAAO,MAAM,OAAO,aAAa,CAAC;AAElC;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAUvC;AAED;qEACqE;AACrE,MAAM,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;0EAEsE;IACtE,cAAc,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrE,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B;8CAC0C;IAC1C,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;CACzB;AAMD,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,WAAW;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/richtext/node.ts"],"names":[],"mappings":"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"}
|
package/dist/richtext/node.js
CHANGED
|
@@ -120,7 +120,8 @@ export class RichTextNode extends Node {
|
|
|
120
120
|
const fonts = this.app?.fonts;
|
|
121
121
|
let layout = null;
|
|
122
122
|
if (fonts) {
|
|
123
|
-
|
|
123
|
+
const s = this._scale;
|
|
124
|
+
layout = fonts.layout(this._deviceRuns(s), { family: 'sans-serif', size: 14 * s }, {
|
|
124
125
|
maxWidth: Number.isFinite(maxWidth) ? maxWidth : undefined,
|
|
125
126
|
lineHeight: this.style.lineHeight,
|
|
126
127
|
align: this.style.textAlign,
|
|
@@ -131,6 +132,30 @@ export class RichTextNode extends Node {
|
|
|
131
132
|
this._layouts.set(key, layout);
|
|
132
133
|
return layout;
|
|
133
134
|
}
|
|
135
|
+
// --- units ---------------------------------------------------------------
|
|
136
|
+
//
|
|
137
|
+
// The layout, `abs` and the paint are device pixels (react-x11's
|
|
138
|
+
// docs/scale.md). A `TextRun.size` is a length the application wrote, so
|
|
139
|
+
// like every style length it is logical, and unlike a style length nothing
|
|
140
|
+
// in core multiplies it on the way in — `_deviceRuns` does, so the runs are
|
|
141
|
+
// shaped at `size * scale` and a 14 on a 2x panel is the size a
|
|
142
|
+
// `fontSize: 14` is, sharper rather than smaller. A synthetic event's
|
|
143
|
+
// `x`/`y` are logical too, which is what `hrefAtPoint` is handed; the four
|
|
144
|
+
// selection accessors are core's device-pixel contract and stay device.
|
|
145
|
+
/** Device pixels per logical pixel — the display scale this element's
|
|
146
|
+
* window resolved to, constant for the node's life. */
|
|
147
|
+
get _scale() {
|
|
148
|
+
return this.scale > 0 ? this.scale : 1;
|
|
149
|
+
}
|
|
150
|
+
/** The runs with their sizes on the device grid. The array identity is
|
|
151
|
+
* what the layout cache keys on, so at 1x the props' own array is
|
|
152
|
+
* returned untouched. */
|
|
153
|
+
_deviceRuns(scale) {
|
|
154
|
+
const runs = this._runs();
|
|
155
|
+
if (scale === 1)
|
|
156
|
+
return runs;
|
|
157
|
+
return runs.map((r) => typeof r.size === 'number' ? { ...r, size: r.size * scale } : r);
|
|
158
|
+
}
|
|
134
159
|
/**
|
|
135
160
|
* The layout this node is currently painted with — and, because it is the
|
|
136
161
|
* one thing every accessor below answers from, the reason a caret rect and
|
|
@@ -158,8 +183,9 @@ export class RichTextNode extends Node {
|
|
|
158
183
|
// The four accessors from react-x11#291. Implementing them is the whole of
|
|
159
184
|
// joining a `selectable` document: core walks the subtree, asks, and pushes
|
|
160
185
|
// back a `selectionRange` for `paint` to fill. Indices are **code points**
|
|
161
|
-
// and rectangles are in the **owning window's** coordinates
|
|
162
|
-
// space `abs` and
|
|
186
|
+
// and rectangles are in the **owning window's** coordinates in **device**
|
|
187
|
+
// pixels — the space `abs` is in, and the one core asks in (it reads the
|
|
188
|
+
// point back off the native event; a synthetic `x`/`y` is logical).
|
|
163
189
|
textContent() {
|
|
164
190
|
if (this._text === null) {
|
|
165
191
|
this._text = this._runs()
|
|
@@ -198,20 +224,22 @@ export class RichTextNode extends Node {
|
|
|
198
224
|
height: band.height,
|
|
199
225
|
}));
|
|
200
226
|
}
|
|
201
|
-
/** The run's link target under a
|
|
202
|
-
*
|
|
203
|
-
*
|
|
227
|
+
/** The run's link target under a **logical** window point — the one a
|
|
228
|
+
* mouse event carries — if any, for click-to-follow. Not part of the
|
|
229
|
+
* selection seam: core deliberately left hover and `cursorAt` out of
|
|
230
|
+
* #291, so following a link stays this package's. */
|
|
204
231
|
hrefAtPoint(x, y) {
|
|
205
232
|
const layout = this._paintLayout();
|
|
206
233
|
if (!layout)
|
|
207
234
|
return null;
|
|
208
|
-
const
|
|
209
|
-
const
|
|
235
|
+
const s = this._scale;
|
|
236
|
+
const lx = x * s - this.abs.x;
|
|
237
|
+
const ly = y * s - this.abs.y;
|
|
210
238
|
for (const line of layout.lines) {
|
|
211
239
|
if (ly < line.y || ly >= line.y + line.height)
|
|
212
240
|
continue;
|
|
213
241
|
for (const r of line.runs) {
|
|
214
|
-
const href = r.span
|
|
242
|
+
const href = r.span?.href;
|
|
215
243
|
if (href == null)
|
|
216
244
|
continue;
|
|
217
245
|
if (lx >= line.x + r.x && lx <= line.x + r.x + r.width)
|
|
@@ -227,11 +255,12 @@ export class RichTextNode extends Node {
|
|
|
227
255
|
if (!layout || !canFill(ctx))
|
|
228
256
|
return;
|
|
229
257
|
const { x, y } = this.abs;
|
|
258
|
+
const s = this._scale;
|
|
230
259
|
ctx.save();
|
|
231
260
|
// 1. run decorations that sit under everything: the code chip, and the
|
|
232
261
|
// terminal's cell backgrounds
|
|
233
262
|
for (const line of layout.lines)
|
|
234
|
-
paintRunBackgrounds(ctx, line, x, y);
|
|
263
|
+
paintRunBackgrounds(ctx, line, x, y, s);
|
|
235
264
|
// 2. the band the document selection has claimed of this element's text,
|
|
236
265
|
// translucent so the ink keeps its contrast on either palette (the
|
|
237
266
|
// same reasoning as `<textarea>`'s). The range and the colour both
|
|
@@ -248,7 +277,7 @@ export class RichTextNode extends Node {
|
|
|
248
277
|
layout.draw(ctx, x, y);
|
|
249
278
|
// 4. rules over the ink: link underlines, strikethrough
|
|
250
279
|
for (const line of layout.lines)
|
|
251
|
-
paintRunRules(ctx, line, x, y);
|
|
280
|
+
paintRunRules(ctx, line, x, y, s);
|
|
252
281
|
ctx.restore();
|
|
253
282
|
}
|
|
254
283
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/richtext/node.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,6EAA6E;AAC7E,aAAa;AACb,EAAE;AACF,wEAAwE;AACxE,4EAA4E;AAC5E,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,EAAE;AACF,8EAA8E;AAC9E,uEAAuE;AACvE,0EAA0E;AAC1E,8EAA8E;AAC9E,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,sEAAsE;AACtE,6EAA6E;AAC7E,wEAAwE;AACxE,6EAA6E;AAC7E,6BAA6B;AAC7B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAStC,OAAO,EACL,OAAO,EACP,SAAS,EACT,mBAAmB,EACnB,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,kBAAkB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO;IACnD,eAAe,CAAC,OAAO,EAAE;QACvB,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC;QACpD,uEAAuE;QACvE,qEAAqE;QACrE,8CAA8C;QAC9C,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QAC/B,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;AACL,CAAC;
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/richtext/node.ts"],"names":[],"mappings":"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"}
|