@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
package/README.md
CHANGED
|
@@ -125,8 +125,10 @@ import type { CodeEditorProps } from '@react-x11/components';
|
|
|
125
125
|
| `CodeEditor` | `@react-x11/components/code-editor` | Multiline code editing: highlighting, completion. |
|
|
126
126
|
| `Flow` | `@react-x11/components/flow` | A directed-graph editor: nodes, edges, pan and zoom. |
|
|
127
127
|
| `Html` | `@react-x11/components/html` | A static HTML + CSS document, selectable, with seams. |
|
|
128
|
+
| `Map` | `@react-x11/components/maps` | A 2D vector-tile map: pan, zoom, markers, overlays. |
|
|
128
129
|
| `Markdown` | `@react-x11/components/markdown` | Streaming-friendly GFM with cross-block selection. |
|
|
129
130
|
| `MediaPlayer` | `@react-x11/components/media-player` | mpv or VLC, embedded, with real transport control. |
|
|
131
|
+
| `ReorderList` … | `@react-x11/components/reorder` | A drag-and-drop list, over core's own drag and drop. |
|
|
130
132
|
| `Table` | `@react-x11/components/table` | A data table: sortable, virtualized, any row height. |
|
|
131
133
|
| `Terminal` | `@react-x11/components/terminal` | A real terminal: an embedded emulator, or its own. |
|
|
132
134
|
| `TerminalOutput` | `@react-x11/components/terminal-output` | A captured session, rendered. `<Terminal>`'s static sibling. |
|
|
@@ -461,6 +463,53 @@ pipeline beside galleries of the sizes and variants;
|
|
|
461
463
|
[the reference](docs/components/timeline.md) has the rest, including why
|
|
462
464
|
every indicator's chip is opaque.
|
|
463
465
|
|
|
466
|
+
## A drag-and-drop list
|
|
467
|
+
|
|
468
|
+
`<ReorderList>` is a list the user reorders by dragging its items — or by
|
|
469
|
+
lifting one from the keyboard and walking it with the arrows — and a
|
|
470
|
+
kanban board when several lists share a `group`. It is the sortable layer
|
|
471
|
+
over react-x11's own drag and drop, the position `@dnd-kit/sortable` holds
|
|
472
|
+
over `@dnd-kit/core`: the threshold, the auto-scroll, the preview window
|
|
473
|
+
and the promotion of the same drag to XDND when the pointer leaves the app
|
|
474
|
+
are core's, and what is here is the insertion arithmetic, the indicator,
|
|
475
|
+
the keyboard model and an event vocabulary that speaks list-and-index.
|
|
476
|
+
|
|
477
|
+
```jsx
|
|
478
|
+
import {
|
|
479
|
+
ReorderList,
|
|
480
|
+
ReorderItem,
|
|
481
|
+
arrayMove,
|
|
482
|
+
} from '@react-x11/components/reorder';
|
|
483
|
+
|
|
484
|
+
<ReorderList
|
|
485
|
+
onReorder={(e) => setTodos((list) => arrayMove(list, e.from, e.to))}
|
|
486
|
+
>
|
|
487
|
+
{todos.map((todo) => (
|
|
488
|
+
<ReorderItem key={todo.id} id={todo.id}>
|
|
489
|
+
<text>{todo.title}</text>
|
|
490
|
+
</ReorderItem>
|
|
491
|
+
))}
|
|
492
|
+
</ReorderList>;
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
Every rung is a small diff on that: a `<ReorderHandle>` inside an item
|
|
496
|
+
makes the grip the only press target, `group` on several lists makes a
|
|
497
|
+
board (`onInsert` on the list it landed in, `onRemove` on the one it
|
|
498
|
+
left), `canDrop` refuses a drop the group would otherwise take, `combine`
|
|
499
|
+
turns the middle of an item into a merge target, `selected` makes a drag
|
|
500
|
+
carry several rows at once, `dragActions={['copy']}` turns a list into a
|
|
501
|
+
palette, `dragData` on an item lets a file manager take it, `accept` on the
|
|
502
|
+
list lets it take files, and `children` as a function of the item's state
|
|
503
|
+
(or `useReorderItem()` deeper inside) lets the content say what is
|
|
504
|
+
happening to it. The list's own `onDragStart` / `onDragUpdate` /
|
|
505
|
+
`onDragEnd` report the gesture from either input, and `preview` decides
|
|
506
|
+
whether the ghost is a popup that follows the pointer over other
|
|
507
|
+
applications — the default — or a copy drawn inside the list. `npm run examples:reorder` shows all four;
|
|
508
|
+
[the reference](docs/components/reorder.md) has the rest, and
|
|
509
|
+
[the PRD](docs/prd-reorder.md) has the survey of dnd-kit, hello-pangea,
|
|
510
|
+
pragmatic-drag-and-drop, React Aria and Framer's `Reorder` it was designed
|
|
511
|
+
against.
|
|
512
|
+
|
|
464
513
|
## The disclosure tree
|
|
465
514
|
|
|
466
515
|
`<Tree>` is a **successor to react-x11's own `<Tree>`, which core is
|
|
@@ -707,10 +756,11 @@ states. Three things follow, and all three are the point:
|
|
|
707
756
|
|
|
708
757
|
- **It re-renders as the viewport moves.** That is the cost the drawn path
|
|
709
758
|
exists to avoid, so it is paid by the nodes that ask for it and no others.
|
|
710
|
-
- **It
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
759
|
+
- **It zooms with the pane.** The subtree is mounted under a `scale` box, so
|
|
760
|
+
everything in it is written in graph units — a plain `fontSize: 11`, no
|
|
761
|
+
`zoom` anywhere — and comes out at the size the card is drawn at, text
|
|
762
|
+
shaped at that size rather than stretched. Below `zoom` 0.6 it is not
|
|
763
|
+
mounted at all: too small to read, and the pane draws the card instead.
|
|
714
764
|
- **`headerHeight` is what keeps the node draggable.** The body starts below
|
|
715
765
|
it, so there is always somewhere to grab that is not a text field.
|
|
716
766
|
|
|
@@ -726,6 +776,77 @@ loop, and a live count of X requests and bytes per frame.
|
|
|
726
776
|
|
|
727
777
|
[rf]: https://reactflow.dev/
|
|
728
778
|
|
|
779
|
+
## The map
|
|
780
|
+
|
|
781
|
+
A slippy map: vector tiles decoded and drawn, panned, zoomed, with markers
|
|
782
|
+
you can click and lines, areas and circles over the top.
|
|
783
|
+
|
|
784
|
+
```jsx
|
|
785
|
+
import { Map, osmVectorSource } from '@react-x11/components/maps';
|
|
786
|
+
|
|
787
|
+
// Nothing in this package fetches. You supply the request; the adapter
|
|
788
|
+
// supplies the URL, the schema and the attribution.
|
|
789
|
+
const source = osmVectorSource({
|
|
790
|
+
fetch: async (url, signal) => {
|
|
791
|
+
const response = await fetch(url, { signal });
|
|
792
|
+
if (response.status === 404) return null;
|
|
793
|
+
return new Uint8Array(await response.arrayBuffer());
|
|
794
|
+
},
|
|
795
|
+
});
|
|
796
|
+
|
|
797
|
+
<Map
|
|
798
|
+
sources={[source]}
|
|
799
|
+
defaultCamera={{ center: { lon: -0.1281, lat: 51.508 }, zoom: 13 }}
|
|
800
|
+
markers={[{ id: 'home', position: { lon: -0.1281, lat: 51.508 } }]}
|
|
801
|
+
onMarkerClick={(marker) => select(marker.id)}
|
|
802
|
+
style={{ height: 400 }}
|
|
803
|
+
/>;
|
|
804
|
+
```
|
|
805
|
+
|
|
806
|
+
The format is [Mapbox Vector Tile][mvt] — what Mapbox, MapTiler, Protomaps,
|
|
807
|
+
Esri, TomTom, Azure Maps and OpenStreetMap's own tile server all serve — and
|
|
808
|
+
the default style is written against **Shortbread**, the schema OSM cuts its
|
|
809
|
+
own tiles in, so `osmVectorSource()` and nothing else is a working map.
|
|
810
|
+
Raster tiles work too, as pixels you decode.
|
|
811
|
+
|
|
812
|
+
**Nothing here fetches**, and that is the feature rather than an omission.
|
|
813
|
+
A component whose default made requests would decide, on your behalf, whose
|
|
814
|
+
servers your application talks to, what its user agent says and whose usage
|
|
815
|
+
policy it is now bound by. So a source is a `load` function you write, the
|
|
816
|
+
way `<Html onResource>` is — and the attribution a source carries is drawn
|
|
817
|
+
in the corner, because for open data that is a licence condition rather
|
|
818
|
+
than a nicety.
|
|
819
|
+
|
|
820
|
+
It is one element that draws the whole map, for the reason `<Flow>` is: pan
|
|
821
|
+
and zoom are a transform, this renderer has none, and a composed map would
|
|
822
|
+
re-render every road through React on every pointer step. What a map adds
|
|
823
|
+
to that case is that the scene arrives a tile at a time and a dense city
|
|
824
|
+
tile is 50-140 ms to rasterize — real work for a software rasterizer over a
|
|
825
|
+
hundred thousand vertices. So the component is built so that cost is never
|
|
826
|
+
_in_ a frame: each tile is rasterized once into its own surface, a **pan
|
|
827
|
+
composites those surfaces at new offsets and a fractional zoom composites
|
|
828
|
+
them scaled**, and rasterization itself is budgeted and resumable, a style
|
|
829
|
+
layer at a time. Measured on real OpenStreetMap tiles for central London and
|
|
830
|
+
Tokyo, a pan and a zoom rasterize _nothing_ and paint in 0-11 ms a frame on
|
|
831
|
+
both the X11 and the macOS backends; a cold dense city view fills in over
|
|
832
|
+
about a second, in frames that are individually cheap.
|
|
833
|
+
|
|
834
|
+
Markers are the client API you actually reach for, and the only thing on
|
|
835
|
+
the map that is an object rather than cartography — which is why markers,
|
|
836
|
+
and only markers, are what a screen reader meets. `overlays` covers the
|
|
837
|
+
rest: a route (`decodePolyline` reads what every routing engine answers
|
|
838
|
+
with), a traffic segment, a transit shape, a GeoJSON layer
|
|
839
|
+
(`geoJsonOverlays`).
|
|
840
|
+
|
|
841
|
+
`npm run examples:maps` is a working map over the real network — try
|
|
842
|
+
`-- tokyo` or `-- --dark`. [docs/prd-maps.md](docs/prd-maps.md) is the
|
|
843
|
+
design record: which formats and providers are actually usable (Google's
|
|
844
|
+
vector schema is not published; Apple has no tile endpoint at all), what
|
|
845
|
+
"traffic, routes and transit" reduce to, and every measurement behind the
|
|
846
|
+
architecture.
|
|
847
|
+
|
|
848
|
+
[mvt]: https://github.com/mapbox/vector-tile-spec
|
|
849
|
+
|
|
729
850
|
## The user's real calendar
|
|
730
851
|
|
|
731
852
|
`useDesktopCalendarEvents` reads the calendars the desktop already has —
|
|
@@ -891,6 +1012,12 @@ app installed may drag in. So an app installs the one it wants:
|
|
|
891
1012
|
npm i node-pty # or: npm i @lydell/node-pty
|
|
892
1013
|
```
|
|
893
1014
|
|
|
1015
|
+
**Under Bun 1.4 or newer, install neither.** Bun ships a pty of its own
|
|
1016
|
+
(`Bun.spawn(argv, { terminal })`), so the vt backend uses it and no native
|
|
1017
|
+
module is probed, loaded or installed — the terminal works on a machine with
|
|
1018
|
+
no C toolchain. An app that wants node-pty back under Bun passes
|
|
1019
|
+
`pty={nodePtyHost()}`.
|
|
1020
|
+
|
|
894
1021
|
With neither present, `status` is `'unavailable'` and `fallback` renders — an
|
|
895
1022
|
ordinary state of a healthy machine, never a throw. `onError` says _which_
|
|
896
1023
|
half is missing, and separates "nothing installed" from "installed but it
|
|
@@ -112,7 +112,9 @@ export interface TooltipData {
|
|
|
112
112
|
* tooltip itself uses. It is also the primitive an app builds pan and zoom
|
|
113
113
|
* gestures on — the hit carries the plot rect (for pixels→domain-units)
|
|
114
114
|
* and the x value under any window x, so a drag handler needs nothing
|
|
115
|
-
* else from the chart's internals.
|
|
115
|
+
* else from the chart's internals. The x asked for and every pixel in the
|
|
116
|
+
* answer are **logical** window pixels — the unit a mouse event's `x`
|
|
117
|
+
* arrives in, whatever the display scale.
|
|
116
118
|
*/
|
|
117
119
|
export interface ChartPlotHandle {
|
|
118
120
|
hitAt(x: number): ChartHit | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/charts/components.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/charts/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -251,12 +251,16 @@ function makeCartesianChart(displayName) {
|
|
|
251
251
|
sideRef.current = 'left';
|
|
252
252
|
else if (x < hit.px - SIDE_HYSTERESIS)
|
|
253
253
|
sideRef.current = 'right';
|
|
254
|
+
// Everything in a HoverState becomes a style length or an anchor
|
|
255
|
+
// point, so it is logical pixels: the hit already is, and `abs` is
|
|
256
|
+
// device (react-x11's docs/scale.md) — divided here, once.
|
|
257
|
+
const s = node.scale > 0 ? node.scale : 1;
|
|
254
258
|
setHover({
|
|
255
259
|
hit,
|
|
256
|
-
originX: node.abs.x,
|
|
257
|
-
originY: node.abs.y,
|
|
258
|
-
width: node.abs.width,
|
|
259
|
-
height: node.abs.height,
|
|
260
|
+
originX: node.abs.x / s,
|
|
261
|
+
originY: node.abs.y / s,
|
|
262
|
+
width: node.abs.width / s,
|
|
263
|
+
height: node.abs.height / s,
|
|
260
264
|
pointerY: y,
|
|
261
265
|
side: sideRef.current,
|
|
262
266
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/charts/components.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/charts/components.ts"],"names":[],"mappings":"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"}
|
package/dist/charts/node.d.ts
CHANGED
|
@@ -21,12 +21,14 @@ export interface ChartPlotProps {
|
|
|
21
21
|
onFrameStats?: (stats: ChartFrameStats) => void;
|
|
22
22
|
style?: Style | Style[];
|
|
23
23
|
}
|
|
24
|
-
/** What the tooltip layer gets for a pointer position.
|
|
24
|
+
/** What the tooltip layer gets for a pointer position. Every pixel in it is
|
|
25
|
+
* a logical window pixel — the unit a mouse event's `x` arrives in and a
|
|
26
|
+
* style length is written in. */
|
|
25
27
|
export interface ChartHit {
|
|
26
28
|
index: number;
|
|
27
29
|
/** The x value at that index — a label for band axes. */
|
|
28
30
|
xValue: number | string;
|
|
29
|
-
/** Snap position for the crosshair, window coordinates. */
|
|
31
|
+
/** Snap position for the crosshair, logical window coordinates. */
|
|
30
32
|
px: number;
|
|
31
33
|
/** The x domain's width (0 for band axes) — what a time-axis tooltip
|
|
32
34
|
* sizes its default header format to, exactly as the ticks do. */
|
|
@@ -72,6 +74,9 @@ export declare class ChartPlotNode extends Node {
|
|
|
72
74
|
* and rebuilt when membership or history changes.
|
|
73
75
|
*/
|
|
74
76
|
private _stackTops;
|
|
77
|
+
/** Device pixels per logical pixel — the display scale this element's
|
|
78
|
+
* window resolved to, constant for the node's life. */
|
|
79
|
+
private get _scale();
|
|
75
80
|
private _themeRecord;
|
|
76
81
|
private _color;
|
|
77
82
|
/** Measure one label through the font service, cached. Null without a
|
|
@@ -84,12 +89,14 @@ export declare class ChartPlotNode extends Node {
|
|
|
84
89
|
private _paintCtx;
|
|
85
90
|
paint(ctx: Context2D): void;
|
|
86
91
|
private _paintGridAndAxes;
|
|
87
|
-
/** The plot rectangle in window coordinates, for overlay
|
|
92
|
+
/** The plot rectangle in logical window coordinates, for overlay
|
|
93
|
+
* positioning. */
|
|
88
94
|
plotRect(): PlotRect | null;
|
|
95
|
+
private _logicalRect;
|
|
89
96
|
/**
|
|
90
|
-
* What is under a window
|
|
91
|
-
*
|
|
92
|
-
*
|
|
97
|
+
* What is under a logical window x: the snapped index, its x value, and
|
|
98
|
+
* every series' value and pixel position there. Null outside the data or
|
|
99
|
+
* before layout. O(log n) against sorted data.
|
|
93
100
|
*/
|
|
94
101
|
hitAt(winX: number): ChartHit | null;
|
|
95
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/charts/node.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EAEV,eAAe,EAGhB,MAAM,WAAW,CAAC;AAqBnB,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAc,MAAM,WAAW,CAAC;AAEvE,OAAO,KAAK,EAGV,QAAQ,EAIT,MAAM,aAAa,CAAC;AAIrB,wEAAwE;AACxE,eAAO,MAAM,OAAO,cAAc,CAAC;AAEnC;;sDAEsD;AACtD,MAAM,WAAW,eAAe;IAC9B,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IACvC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,4DAA4D;IAC5D,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;CACzB;AAED
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/charts/node.ts"],"names":[],"mappings":"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"}
|
package/dist/charts/node.js
CHANGED
|
@@ -179,6 +179,20 @@ export class ChartPlotNode extends Node {
|
|
|
179
179
|
return entry;
|
|
180
180
|
}
|
|
181
181
|
// --- layout --------------------------------------------------------------
|
|
182
|
+
//
|
|
183
|
+
// Everything from here down is device pixels — `contentBox()`, the plot
|
|
184
|
+
// rect, the scales, the label metrics (shaped from `resolvedTextStyle()`,
|
|
185
|
+
// which core hands over already multiplied) and the paint context
|
|
186
|
+
// (react-x11's docs/scale.md). Two kinds of number are not, and each is
|
|
187
|
+
// converted once: the gutter constants and a spec's `width`/`height`,
|
|
188
|
+
// which are logical lengths and multiply on the way in; and the tooltip's
|
|
189
|
+
// questions (`plotRect`, `hitAt`), asked and answered in logical pixels
|
|
190
|
+
// because a mouse event's `x` and a style length both are.
|
|
191
|
+
/** Device pixels per logical pixel — the display scale this element's
|
|
192
|
+
* window resolved to, constant for the node's life. */
|
|
193
|
+
get _scale() {
|
|
194
|
+
return this.scale > 0 ? this.scale : 1;
|
|
195
|
+
}
|
|
182
196
|
_themeRecord() {
|
|
183
197
|
return this.theme;
|
|
184
198
|
}
|
|
@@ -337,32 +351,35 @@ export class ChartPlotNode extends Node {
|
|
|
337
351
|
const fmtY = formatters?.y ?? formatNumberTick;
|
|
338
352
|
const yTickValues = spec.y.hide ? [] : linearTicks(yD0, yD1, spec.y.ticks);
|
|
339
353
|
const yTickLabels = yTickValues.map((v) => fmtY(v));
|
|
340
|
-
// -- gutters (the y gutter measures its own labels; fixed on the mock)
|
|
354
|
+
// -- gutters (the y gutter measures its own labels; fixed on the mock).
|
|
355
|
+
// The constants and a spec's own gutter sizes are logical pixels; the
|
|
356
|
+
// box they are subtracted from is device.
|
|
357
|
+
const s = this._scale;
|
|
341
358
|
let left = 0;
|
|
342
359
|
if (!spec.y.hide) {
|
|
343
360
|
if (spec.y.width !== 'auto') {
|
|
344
|
-
left = spec.y.width;
|
|
361
|
+
left = spec.y.width * s;
|
|
345
362
|
}
|
|
346
363
|
else {
|
|
347
364
|
let max = 0;
|
|
348
365
|
for (const text of yTickLabels) {
|
|
349
366
|
const l = this._label(text, labelSize, labelColor);
|
|
350
367
|
if (!l) {
|
|
351
|
-
max = 34;
|
|
368
|
+
max = 34 * s;
|
|
352
369
|
break;
|
|
353
370
|
}
|
|
354
371
|
if (l.width > max)
|
|
355
372
|
max = l.width;
|
|
356
373
|
}
|
|
357
|
-
left = Math.ceil(max) + TICK_GAP + 2;
|
|
374
|
+
left = Math.ceil(max) + (TICK_GAP + 2) * s;
|
|
358
375
|
}
|
|
359
376
|
}
|
|
360
|
-
const bottom = spec.x.hide ? 0 : spec.x.height || X_AXIS_HEIGHT;
|
|
377
|
+
const bottom = spec.x.hide ? 0 : (spec.x.height || X_AXIS_HEIGHT) * s;
|
|
361
378
|
const plot = {
|
|
362
379
|
x: box.x + left,
|
|
363
|
-
y: box.y + PAD_TOP,
|
|
364
|
-
width: Math.max(1, box.width - left - PAD_RIGHT),
|
|
365
|
-
height: Math.max(1, box.height - PAD_TOP - bottom),
|
|
380
|
+
y: box.y + PAD_TOP * s,
|
|
381
|
+
width: Math.max(1, box.width - left - PAD_RIGHT * s),
|
|
382
|
+
height: Math.max(1, box.height - PAD_TOP * s - bottom),
|
|
366
383
|
};
|
|
367
384
|
const yScale = linearScale(yD0, yD1, plot.y + plot.height, plot.y);
|
|
368
385
|
const yTicks = yTickValues.map((v, i) => ({
|
|
@@ -533,6 +550,7 @@ export class ChartPlotNode extends Node {
|
|
|
533
550
|
yScale: layout.yScale,
|
|
534
551
|
stats,
|
|
535
552
|
host: this._host(),
|
|
553
|
+
scale: this._scale,
|
|
536
554
|
};
|
|
537
555
|
for (const geom of layout.geoms)
|
|
538
556
|
renderSeries(env, geom);
|
|
@@ -563,6 +581,9 @@ export class ChartPlotNode extends Node {
|
|
|
563
581
|
const lineColor = this._color('$border', '#cccccc');
|
|
564
582
|
const labelColor = this._color('$textMuted', '#777777');
|
|
565
583
|
const labelSize = Math.max(9, Math.round(this.resolvedTextStyle().size * 0.8));
|
|
584
|
+
// A rule is one logical pixel; the label offsets are logical too.
|
|
585
|
+
const s = this._scale;
|
|
586
|
+
const rule = Math.max(1, Math.round(s));
|
|
566
587
|
// grid: 1px rules batched into one request per direction
|
|
567
588
|
if (spec.grid) {
|
|
568
589
|
const rects = [];
|
|
@@ -570,7 +591,7 @@ export class ChartPlotNode extends Node {
|
|
|
570
591
|
for (const t of yTicks) {
|
|
571
592
|
const y = Math.round(t.px);
|
|
572
593
|
if (y > plot.y && y < plot.y + plot.height) {
|
|
573
|
-
rects.push(plot.x, y, plot.width,
|
|
594
|
+
rects.push(plot.x, y, plot.width, rule);
|
|
574
595
|
}
|
|
575
596
|
}
|
|
576
597
|
}
|
|
@@ -578,7 +599,7 @@ export class ChartPlotNode extends Node {
|
|
|
578
599
|
for (const t of xTicks) {
|
|
579
600
|
const x = Math.round(t.px);
|
|
580
601
|
if (x > plot.x && x < plot.x + plot.width) {
|
|
581
|
-
rects.push(x, plot.y,
|
|
602
|
+
rects.push(x, plot.y, rule, plot.height);
|
|
582
603
|
}
|
|
583
604
|
}
|
|
584
605
|
}
|
|
@@ -602,10 +623,11 @@ export class ChartPlotNode extends Node {
|
|
|
602
623
|
// axis lines
|
|
603
624
|
const axisRects = [];
|
|
604
625
|
if (!spec.x.hide) {
|
|
605
|
-
axisRects.push(plot.x, plot.y + plot.height, plot.width,
|
|
626
|
+
axisRects.push(plot.x, plot.y + plot.height, plot.width, rule);
|
|
627
|
+
}
|
|
628
|
+
if (!spec.y.hide) {
|
|
629
|
+
axisRects.push(plot.x - rule, plot.y, rule, plot.height + rule);
|
|
606
630
|
}
|
|
607
|
-
if (!spec.y.hide)
|
|
608
|
-
axisRects.push(plot.x - 1, plot.y, 1, plot.height + 1);
|
|
609
631
|
if (axisRects.length) {
|
|
610
632
|
ctx.save();
|
|
611
633
|
ctx.fillStyle = lineColor;
|
|
@@ -626,12 +648,12 @@ export class ChartPlotNode extends Node {
|
|
|
626
648
|
const l = this._label(t.label, labelSize, labelColor);
|
|
627
649
|
if (!l)
|
|
628
650
|
continue;
|
|
629
|
-
l.draw(ctx, plot.x - TICK_GAP - l.width, t.px - l.height / 2);
|
|
651
|
+
l.draw(ctx, plot.x - TICK_GAP * s - l.width, t.px - l.height / 2);
|
|
630
652
|
stats.commands++;
|
|
631
653
|
}
|
|
632
654
|
}
|
|
633
655
|
if (!spec.x.hide) {
|
|
634
|
-
const baseY = plot.y + plot.height + 4;
|
|
656
|
+
const baseY = plot.y + plot.height + 4 * s;
|
|
635
657
|
let lastRight = -Infinity;
|
|
636
658
|
for (const t of xTicks) {
|
|
637
659
|
const l = this._label(t.label, labelSize, labelColor);
|
|
@@ -639,7 +661,7 @@ export class ChartPlotNode extends Node {
|
|
|
639
661
|
continue;
|
|
640
662
|
const x = t.px - l.width / 2;
|
|
641
663
|
// drop labels that would collide rather than letting them smear
|
|
642
|
-
if (x < lastRight + 4)
|
|
664
|
+
if (x < lastRight + 4 * s)
|
|
643
665
|
continue;
|
|
644
666
|
lastRight = x + l.width;
|
|
645
667
|
l.draw(ctx, x, baseY);
|
|
@@ -648,14 +670,35 @@ export class ChartPlotNode extends Node {
|
|
|
648
670
|
}
|
|
649
671
|
}
|
|
650
672
|
// --- the tooltip's questions --------------------------------------------
|
|
651
|
-
|
|
673
|
+
//
|
|
674
|
+
// Asked and answered in **logical** window pixels: the x a caller has is a
|
|
675
|
+
// mouse event's, and what it does with the answer is position a style or
|
|
676
|
+
// anchor a popup. The layout is device, so the question is multiplied on
|
|
677
|
+
// the way in and every pixel in the answer divided on the way out. At 1x
|
|
678
|
+
// that is the identity, which is how a tooltip that compared the two
|
|
679
|
+
// directly worked everywhere until a 2x panel snapped it to the plot's
|
|
680
|
+
// left edge whatever the pointer did.
|
|
681
|
+
/** The plot rectangle in logical window coordinates, for overlay
|
|
682
|
+
* positioning. */
|
|
652
683
|
plotRect() {
|
|
653
|
-
|
|
684
|
+
const plot = this._layout()?.plot;
|
|
685
|
+
return plot ? this._logicalRect(plot) : null;
|
|
686
|
+
}
|
|
687
|
+
_logicalRect(rect) {
|
|
688
|
+
const s = this._scale;
|
|
689
|
+
if (s === 1)
|
|
690
|
+
return rect;
|
|
691
|
+
return {
|
|
692
|
+
x: rect.x / s,
|
|
693
|
+
y: rect.y / s,
|
|
694
|
+
width: rect.width / s,
|
|
695
|
+
height: rect.height / s,
|
|
696
|
+
};
|
|
654
697
|
}
|
|
655
698
|
/**
|
|
656
|
-
* What is under a window
|
|
657
|
-
*
|
|
658
|
-
*
|
|
699
|
+
* What is under a logical window x: the snapped index, its x value, and
|
|
700
|
+
* every series' value and pixel position there. Null outside the data or
|
|
701
|
+
* before layout. O(log n) against sorted data.
|
|
659
702
|
*/
|
|
660
703
|
hitAt(winX) {
|
|
661
704
|
const layout = this._layout();
|
|
@@ -663,7 +706,8 @@ export class ChartPlotNode extends Node {
|
|
|
663
706
|
if (!layout || !spec || layout.geoms.length === 0)
|
|
664
707
|
return null;
|
|
665
708
|
const { plot, xScale, yScale } = layout;
|
|
666
|
-
const
|
|
709
|
+
const s = this._scale;
|
|
710
|
+
const clamped = Math.max(plot.x, Math.min(plot.x + plot.width, winX * s));
|
|
667
711
|
let index;
|
|
668
712
|
let px;
|
|
669
713
|
let xValue;
|
|
@@ -708,13 +752,20 @@ export class ChartPlotNode extends Node {
|
|
|
708
752
|
label: geom.spec.label,
|
|
709
753
|
color: geom.color,
|
|
710
754
|
value,
|
|
711
|
-
py: yScale.scale(Number.isNaN(painted) ? value : painted),
|
|
755
|
+
py: yScale.scale(Number.isNaN(painted) ? value : painted) / s,
|
|
712
756
|
});
|
|
713
757
|
}
|
|
714
758
|
if (points.length === 0)
|
|
715
759
|
return null;
|
|
716
760
|
const xSpan = xScale.kind === 'band' ? 0 : xScale.d1 - xScale.d0;
|
|
717
|
-
return {
|
|
761
|
+
return {
|
|
762
|
+
index,
|
|
763
|
+
xValue,
|
|
764
|
+
px: px / s,
|
|
765
|
+
xSpan,
|
|
766
|
+
plot: this._logicalRect(plot),
|
|
767
|
+
points,
|
|
768
|
+
};
|
|
718
769
|
}
|
|
719
770
|
}
|
|
720
771
|
//# sourceMappingURL=node.js.map
|